{int a=-1,b=4,k;
k=(++a<=0)&&!(b--<=0); printf(\}
A)1 0 4 B)0 0 4 C)1 0 3 D)0 0 3
43.若已定义int a=25,b=14,c=19;以下三项运算符(?:)所构成的语句的执行结果是 。 a++<=25&&b--<=2&&c++?printf(\d\\n\
A)(***a=25,b=14,c=19) B)(***a=26,b=13,c=19) C)(###a=25,b=14,c=19) D)(###a=26,b=13,c=19) 二、填空题
4.以下程序的功能是计算一元二次方程ax2+bx+c=0的根,补足程序中空缺的语句。 #include
{float a,b,c,_abs,_derta,_doublea,part1,part2; printf(\
scanf(\if( (1) )
if( (2) ) printf(\
else printf(\else
{_derta=b*b-4*a*c;
_doublea=2*a; part1=-b/(2*a); _abs=abs(_derta);
part2=sqrt(_abs)/_doublea;
if( (3) )
printf(\else
printf(\
} }
5.设有程序片段如下:
switch(class)
{case 'A':printf(\case 'B':printf(\case 'C':printf(\case 'D':printf(\default:printf(\
}若class的值为'C',则输出结果是 。 6.以下程序段的运行结果是 。 int x=1,y=0; switch(x) {case 1:
switch(y)
{case 0:printf(\ case 1:printf(\ }
case 2:printf(\}
8. 输入3个实数 a, b, c要求按从大到小的顺序输出三数。 main( ) { float a,b,c,t;
scanf(“%f,%f,%f”,&a,&b,&c); if (a
9. 输入一个字符,如果是大写字母,则把其变成小写字母;如果是小写字母,则变成大写字母;其它字符不变。请在()内填入缺省的内容。 main( )
{ char ch; scanf(“%c”,&ch);
if ((1)) ch=ch+32;
else if(ch>=?a?&&ch<=?z?) ((2)); printf(”%c\\n”,ch); }
10. 以下程序的运行结果是:_________。 main( )
{ int a = 2, b = 3, c ;
c = a ;
if ( a>b ) c = 1 ;
else if ( a == b ) c = 0 ; else c = -1 ; printf ( “%d\\n”, c ) ; }
11. 以下程序的运行结果是:_________。
main( ) { int x;
x=5;
if (++x>5) printf(“x=%d”,x);
else printf(“x=%d”,x--); }
15.以下程序的运行结果是:_________。
main()
{int a,b,c; a=b=c=1; a+=b; b+=c; c+=a;
printf(\printf(\
(a>=b>=c)?printf(\printf(\}
17.以下程序的运行结果是:_________。
main()
{int x=1,y=1,z=1; y=y+z;x=x+y;
printf(\
printf(\printf(\printf(\}
18.以下程序的运行结果是:_________。
mian() {int x,y,z; x=3;y=z=4;
printf(\printf(\}
第四
一、选择题
1.while循环语句中,while后一对圆括号中表达式的值决定了循环体是否进行,因此,进入while循环后,一定有能使此表达式的值变为 的操作,否则,循环将会无限制地进行下去。
A)0 B)1 C)成立 D)2
2.在do-while循环中,循环由do开始,用while结束;必须注意的是:在while表达式后面的 不能丢,它表示do-while语句的结束。
A)0 B)1 C); D),
3.for语句中的表达式可以部分或全部省略,但两个 不可省略。但当三个表达式均省略后,因缺少条件判断,循环会无限制地执行下去,形成死循环。
A)0 B)1 C); D), 4.程序段如下
int k=-20;while(k=0) k=k+1;则以下说法中正确的是 。
A)while循环执行20次 B)循环是无限循环 C)循环体语句一次也不执行 D)循环体语句执行一次 5.程序段如下
int k=1;while(!k==0) {k=k+1;printf(\说法正确的是 。
A)while循环执行2次 B)循环是无限循环
C)循环体语句一次也不执行 D)循环体语句执行一次 6.以下for循环是 。
for(a=0,b=0;(b!=123)&&(a<=4);a++)
A)无限循环 B)循环次数不定 C)执行4次 D)执行5次 7.在下列程序中,while循环的循环次数是 。 main( ) { int i=0; while(i<10)
{if(i<1) continue; if(i= =5) break; i++; } ...... }
A)1 B)10 C)6 D)死循环、不能确定次数
8.程序段如下
int k=0; while(k++<=2) printf(\则执行结果是 。
A)1 B)2 C)0 D)无结果 2 3 1 3 4 2 9.程序段如下 int k=0;
while(k++<=2); printf(\则执行结果是last= 。
A)2 B)3 C)4 D)无结果
10.执行下面的程序后,a的值为 。 main() {int a,b;
for(a=1,b=1;a<=100;a++) {if(b>=20)break;
if(b%3==1) {b+=3; continue; } b-=5; } }
A)7 B)8 C)9 D)10
11.以下程序的输出结果 。 main() {int x=3; do
{printf(\}while(--x); }
A)1 B)30 3 C)1 -2 D)死循环
12.定义如下变量:
int n=10;则下列循环的输出结果是 。 while(n>7) {n--;
printf(\}
A)10 B)9 C)10 D)9 9 8 9 8 8 7 8 7 7 13.以下程序的输出结果 。 main() {int n=0;
while(n++<=1) printf(\printf(\}
A)1 2 3 B)0 1 2 C)1 1 2 14.以下程序的输出结果是 。 main() {int i;
for(i=1;i<=5;i++) {if(i%2)printf(\else continue; printf(\}
printf(\}
A)*#*#*#$ B)#*#*#*$ 15.以下程序的输出结果是 。 main() {int a=0,i;
for(i=1;i<5;i++) {switch(i) {case 0:
case 3:a+=2; case 1:
case 2:a+=3; default:a+=5; } }
printf(\}
A)31 B)13 6 D)1 2 2
C)*#*#$ C)10 D)#*#*$
D)20