}
A.3 B.2 C.1 D.0
23.为了避免在嵌套的条件语句if--else中产生二义性,C语言规定:else子句总是与( )配对。
A.缩进排位置相同的if B.其之前最近的if C.其之后最近的if D.同一行上的if 24.以下不正确的语句为( ) A.if(x>y);
B.if(x=y)&&(x!=0) x+=y;
C.if(x!=y) scanf(“%d”,&x); else scanf(“%d”,&y);
D.if(x 25.运行下面程序后输入为2.0 { float a,b; scanf“%f”,&a); if(a<0.0) b=0.0; else if((a<0.5)&&(a!=2.0)) b=1.0/(a+2.0); else if(a<10.0) b=1.0/x; else b=10.0; printf(“%f\\n”,y); } A.0.000000 B.0.500000 C.1.000000 26.若运行时给变量x输入12,则以下程序的运行结果是( main() { int x,y; scanf(“%d\\n”,y); } A.0 B.22 C.12 27.以下程序的运行结果是( ) main() {int k=4,a=3,b=2,c=1; printf(“\\n%d\\n”,k A.4 B.3 C.2 28.执行以下程序段后,变量a,b,c的值分别是( ) int x=10,y=9; int a,b,c; a=(-x= =y++)?- -x:++y; x=x++;c=y; A.a=9,b=9,c=9 B.a=8,b=8,c=10 C.a=9,b=10,c=9 D.a=1,b=11,c=10 29.int w,x,y,z,m;则执行以下语句后m的值为( ) w=1;x=2;y=3;z=4; m=(w A.1 B.2 C.3 D.0.250000 ) D.10 D.1 D.4 30.若w=1,x=2,y=3,z=4,则表达式w A.4 B.3 C.2 D.1 31.执行以下程序段后的输出结果是:( ) int w=3,z=7,x=10; printf(“%d ”,x>10?x+100:x-10); printf(“%d ”,w++||z++); printf(“%d ”,!w>z); printf(“%d ”,w&&z); A.0 1 1 1 B.1 1 1 1 C.0 1 0 1 D.0 1 0 0 32.当a=3,b=2,c=1时,表达式f=a>b>c的值是________ 33.当a=5,b=4,c=2时,表达式a>b!=c的值是________ 34.以下程序的运行结果是___________ main() {int x=1,y,z; x*=3+2; printf(“%d\\t”,x); x*=y=z=5; printf(“%d\\t”,x); x=y==z; printf(“%d\\n”,x);} 35.在C语言中,表示逻辑“真”用__________ 36.设y为int型变量,请写出描述“y是奇数”的表达式__________ 37.C语言提供的三种逻辑运算符是____ _____ _____ 38.设x,y,z均为int型变量,请写出描述“x或y中有一个小于z”的表达式____________ 39.设int x,y,z;请描述“x,y和z中有两个为负数”的表达式____________ 40.已知A=7.5,B=2,c=3.6,表达式A>B&&C>A||AB的值是________ 41.若a=6,b=4,c=2,则表达式!(a-b)+c-1&&b+c/2的值是____________ 42.若a =2,b=4,则表达式(x=a)||(y=b)&&0的值是___________ 43.若a=1,b=4,c=3,则表达式!(a 48.当m=2,n=1,a=1,b=2,c=3时,执行完d=(m=a!=b)&&(n=b>c)后;n的值为______,m的值为________ 49.以下程序运行结果是______ main() { int a1,a2,b1,b2; int i=5,j=7,k=0; a1=!k; a2=i!=j; printf(“a1=%d\\t a2=%d\\n”,a1,a2); b1=k&&j; b2=k||j; printf(“b1==%d\\t b2=%d\\n”,b1,b2); } 51.以下程序的运行结果是:_________ main() { int x,y,z x=1;y=1;z=0; x=x||y&&z; printf(“%d,%d”,x,x&&!y||z); } 52.有int x,y,z;且x=3,y=-4,z=5,则表达式(x&&y)==(x||z)的值是______ 循环控制 1.设有程序段 int k=10; while (k=0) k=k-1; 则下面描述中正确的是 ( ) A while循环执行10次 B 循环是无限循环 C 循环体语句一次也不执行 D 循环体语句执行一次 2.设有以下程序段 int x=0,s=0; while(!x!=0)s+=++x;printf(\则( ) A 运行程序段后输出0 B 运行程序段后输出1 C 程序段中的控制表达式是非法的 D 程序段执行无限次 3、语句while(!E);中的表达式!E特等价于( ) A、E==0 B、E!=1 C、E!=0 D、E==1 4、下面程序段的执行结果是( ) a=1;b=2;c=2; while(a printf(\ A、1,2,0 B、2,1,0 C 、1,2,1 D、2,1,1 5、下面程序段的运行结果是( ) x=y=0; while(x<15) y++,,x+=++y; printf(\ A、20,7 B、6,12 C、20,8 D 8,20 6、下面程序段的运行结果是( ) int n=0; while (n++<=2); printf(\ A,2 B、3 C、4 D 有语法错误 8、下面程序的功能是将从键盘输入的一对数,由小到大排序输出。当输入一对相等的数时结束循环,请选择填空。 main() { int a,b,t; scanf(“%d,%d”,&a,&b); while( ) { if(a>b) { t=a; a=b; b=t; } printf(“%d,%d\\n”,a,b); scanf(“%d,%d”,&a,&b); } } A、!a=b B、a!=b C、a==b D、a=b 9、下面程序的功能是从键盘输入的一组字符中统计出大写字母个数m和小写字母个数n,并输出m,n中较大者,请选择填空。 #include main( ) { int m=0,n=0; char c; while((_①_)!=?\\n?) { if(c>=?A?&&c<=?Z?) m++; if(c>?a?&&c<=?z?) n++; } printf(“%d\\n”,m ①A. c==getchar( ) B.getchar( ) C.c=getchar( ) D.scanf(“%c”,c) ②A. n:m B.m:n C.m:m D.n:n 11.下面程序的功能是在输入的一批正整数中求出最大者,输入0时结束,请选择填空 main( ) { int a,max=0; scanf(“%d”,&a); while(____) { if(max } A.a==0 B.a C!a==1 D.!a 12、下面程序的运行结果是( ) main( ) { int num=0; while(num<=2) num++; printf(“%d”,num); } A.0 B.1 C.2 D.3 14.C语言中while和do-while循环的主要区别是( ) A.do-while的循环体至少无条件执行一次 B.while的循环控制条件比do–while的循环控制条件严格 C.do-while允许从外部转到循环体内 D.do-while的循环体不能是复合语句 15 .以下程序段() x=-1; do{ x=x*x; }while(!x); A.是死循环 B.循环执行二次 C.循环执行一次 D.有语法错误 16、以下描述中正确的是( ) A.由于do-while循环中循环语句中只能是一条可执行语句,所以循环体内不能使用复合语句。 B.do-while循环由do开始,且while结束,在while(表达式)后面不能写分号。 C.在do-while循环体中,一定要有能使while后面表达式的值变为零(“假”)的操作。 D.do-while循环中,根据情况可以省略while 17.若有以下后句 int x=3; do { print(\ } while(-x);则运行程序段() A.输出的是1 B.输出的是1和-2 C.输出的是3和0 D.死循环 18.下面程序是从键盘输入学号,然后输出学号中百位数字是3的学号,输入0时结束循环,填空。 main() { long int num; scanf(\ do{ if(__①_) printf(\ scanf(\ }while(__②__); } ①A.num0/10=3. B.num/100=3 C.num/10=3 D.num/10=3 ②A.!num B.num>0=0 C.!num=0 D.!num!=0 19.下面程序的运行结果是( ) main( ) { int y=10; do{y--;} while(--y); printf(\} A .-1 B.1 C.8 D.-8 21.下面程序的运行结果是( ) main() { int a=1,b=10, do{b-=a;a++;}while(b-,0); printf(\ } A.3.11 B.2,8 C.1,-1 D.4,9 22.下面有关for循环的正确描述是( ) A.for循环只能有于循环次数已经确定的情况 B.for 循环是先执行循环体语句,后判断表达式 C.在for循环中,不能用break语句跳出循环体 D.for循环的循环体语句中,可以包含多条语句,但必须花括号括起来 23.对for(表达式1; ; 表达式3)可理解为( ) A.for(表达式1;0;表达式3) B.for(表达式1;1;表达式3) C.for(表达式1;表达式1;表达式3) D.for(表达式1;表达式3;表达式3) 24.若i为整型变量,则以下循环执行的次数是( ) for(i=2; i=0; ) printf(“%d”, i--) A.无限次 B.0次 C.1次 D.2次 25.以下for循环的语句是( ) for (x=0,y=0 ; (y=123)&&(x<4) ; x++); A.是死循环 B.循环次数不定 C.4次 D.3次 26.以下不是死循环的语句是( ) A.for(y=0,x=1;x>++y;x=I++) I=x; B.for(; ;x++=I); C.while (1) {x++;} D.for(I=10; ;I--) sum+=I; 27.以下程序段的运行结果是( ) for (y=1; y<10; ) y=((x=3*y,x+1),x-1); printf(“x=%d,y=%d”,x,y); A. x=27,y=27 B.x=12,y=13 C.x=15,y=14 D.x=y=27 29.下列程序段不是死循环的是( ) A. int I=100; while(1) {I=I0+1; if(I>100)break; } B. for( ; ; ) C. int k=0; do{++k;}while(k>=0); D.int s=36; while(s); --s; 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库2012C语言程序设计试题(3)在线全文阅读。
相关推荐: