第三章
1.为表示关系x≥y≥z,应使用的表达式是 A.(x>=y)&&(y>=z) B.(x>=y>=z)
C.(x>=y)AND(y>=z) D.(x>=y)&(y>=z)
2.有以下程序 main()
{ int i;
for(i=0; i<3; i++) switch(i)
{ case 1: printf(\ case 2: printf(\ default : printf(\ } }
执行后输出结果是 A.011122 B.120 C.012020 D.012
3.对 for(表达式1; ;表达式3) 可理解为()。 A.for(表达式1;1;表达式3) B.for(表达式1;0;表达式3)
C.for(表达式1;表达式1;表达式3) D.for(表达式1;表达式3;表达式3)
4.若i为整型变量,则以下循环执行次数是()。 for(i=2;i==0;) printf(\A.0次 B.1次 C.无限次 D.2次
5.有以下程序段 int n=0,p; do {
scanf(\ n++;
}while(p!=12345&&n<3);
此处do-while循环的结束条件是______。
A.p的值等于12345并且n的值大于等于3 B.p的值不等于12345并且n的值小于3 C.p的值不等于12345或者n的值小于3 D.p的值等于12345或者n的值大于等于3
6.有以下程序段 int n=0,p; do {
scanf(\ n++;
}while(p!=12345&&n<3); 以下描述中正确的是()。
A.do-while 循环中,根据情况可以省略 while
B.由于 do-while 循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句
C.do-while 循环由do开始,用while结束,在 while(表达式)后面不能写分号 D.在 do-while 循环体中,一定要有能使 while 后面表达式的值变为零(\假\的操作
7.执行语句 for(i=1;i++<4;); 后变量 i 的值是()。 A.不定 B.3 C.4 D.5
8.有以下程序 main()
{
int a=5, b=4, c=3, d=2;
if(a>b>c)
printf(\
else if((c-1 >= d) == 1) printf(\
else printf(\ }
执行后输出结果是 A.2 B.4
C.编译时出错 D.3
main()
{int x=1,a=0,b=0;
switch (x)
{ case 0: b++; case 1: a++;
case 2: a++;b++;} printf(\}该程序的输出结果是( ) A.2,2 B.2,1 C.1,1 D.1,0
10.以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下:
main()
{ int n,k;
float score,sum,ave; sum=0.0;
for(n=1;n<=10;n++) {
for(k=1;k<=4;k++ ) {
scanf(\sum+=score; }
ave=sum/4.0;
printf(\ }
}
上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。这条语句是 A.ave=sum/4.0 B.sum=0.0; C.sum+=score;
D.printf(\:%f\\n\
11.运行以下程序后,输出的结果是
main()
{ int k = -3; if(k <= 0)
printf(\
else printf(\}
A.****
B.有语法错误不能通过编译
C.&&&&
D.****&&&&
12.下面的程序片断所表示的数学函数关系是
y = -1;
if(x != 0) y = 1; if(x > 0) y = 1; else y = 0;
A.
B.
C.
D.
13.以下程序的输出结果是
main()
{ int x, i;
for(i = 1; i <= 100; i++) { x = i;
if( ++x % 2 == 0) if( ++x % 3 == 0 ) if( ++x % 7 == 0) printf(“%d “, x);
}
printf(“\\n”);
}
A.28 70 B.39 81 C.42 84
D.26 68
14.以下程序段中,与语句:k=a>b?(b>c?1:0):0;功能相同的是( ) A.if((a>b)&&(b>c)) k=1; else k=0;
B.if((a>b)||(b>c)) k=1; else k=0; C.if(a>b) k=1; else if(b>c) k=1; else k=0;
D.if(a<=b) k=0; else if(b<=c) k=1;
15.为了避免在嵌套的条件语句 if-else 中产生二义性,C语言规定: else子句总是与()配对。 A.其之后最近的if B.其之前最近的if C.缩排位置相同的if D.同一行上的if
16.t为int类型,进人下面的循环之前,t的值为0 while( t=1 ) { ……}
则以下叙述中正确的是______。 A.以上说法都不对
B.循环控制表达式的值为1 C.循环控制表达式的值为0 D.循环控制表达式不合法
17.以下程序段的输出结果是
int k, j, s;
for(k = 2; k < 6; k++, k++) { s = 1;
for(j = k; j < 6; j++)
s += j; }
printf(“%d\\n”, s);
A.15 B.10 C.24 D.9