题目内容

以下描述中正确的是

A. 由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句
B. do-while循环由d。开始,用while结束,在while(表达式)后面不能写分号
C. 在do-while循环体中,是先执行一次循环,再进行判断
D. do-while循环中,根据情况可以省略while

查看答案
更多问题

若有定义:float x=1.5;int a=1,b=3,c=2;,则正确的switch语句是

A. switch(x) {case 1.0:printf("*\n"); case 2.0:printf("**\n");}
B. switch((int)x); {case 1:printf("*\n"); case 2:printf("**\n");}
C. switch(a+b) {case 1:printf("*\n"); case 2+1:printf("**\n");}
D. switch(a+b) {case 1:printf("*\n"); case c:printf("**\n");}

有以下程序#include <stdio.h>#include <string.h>typedef stmct{ char name[9];char sex;float score[2];}STU;void f(STU a){ STU b={"Zhao",'m',85.0,90.0}; int i;strcpy(a.name,b.name) ;a.sex=b.sex;for(i=0;i<2;i++) a.score[i]=b.score[i];main(){ STU c={"Qian",'f',95.0,92.0};f(c);printf("%s,%c,%2.0f,%2.0f\n",c.name,c.sex,c.score[0],c.score[1]) ;}程序的运行结果是

A. Qian,f,95,92
B. Qian,m,85,90
C. Zhao,f,95,92
D. Zhao,m,85,90

以下程序的运行结果是int k=0;void fun(int m){m+=k;k+=m;printf("m=%d k=%d",m,k++);}main(){ int i=4;fun(i++);printf("i=%d k=%d\n",i,k);}

A. m=4 k=5 i=5 k=5
B. m=4 k=4 i=5 k=5
C. m=4 k=4 i=4 k=5
D. m=4 k=5 i=4 k=5

已知字符'A'的ASCII码值是65,字符变量c1的值是'A',c2的值是'D'。执行语句printf("%d,%d",c1,c2-2) ;后,输出结果是

A,B
B. A,68
C. 65,66
D. 65,68

答案查题题库