1、第03章分支结构真题2010.6月7.下面说法错误的是:( C )A. dowhile语句至少执行一次循环 B. break语句可以跳出switch语句和循环语句C. 每个if一定有一个else和它对应 D. 每个else一定有一个if和它对应8以下程序输出结果为:#include “stdio.h”main()Char c=c;printf (“%c”,c+2); 输出结果是:(B )A.有语法错误,不能通过编译 B. e C. 99 D.c9.判断字符串a和b相等的正确表达式是:( C )A.if(a=b) B.if(strcpy(a,b)C.if(strcmp(a,b)= =0) D.
2、if(a= =b) 13.与y=ab?a:b语句等价的程序段的是:( A )A.if (ab) y=a; else y=b; B. if (ab) y=b; else y=a; C. if (ab) y=a; y=b; D. if (ab) y=b; y=a; 17.运行以下程序段时编译出错,其原因是:( D )char c1=a,c2=123;printf(“%c,%dn”,c1,c2);A.字符串要用“123”表示 B. 123只能赋值给字符数组C. C2是字符变量,不能用 %d格式输出 D. 123不是正确的字符常量,不能赋值给字符变量C224. 下列程序执行后输出结果是:(A)main
3、()int m=3;printf(“f(%d)=%d”,m,(m=0?1:0)A. f(3)=1 B. f(3)=0 C. f(3)=3 D. f(1)=3 25. 下列程序执行后输出结果是:(A)main()int x=1,y=2,a=0,b=0;switch(x)case 1:switch(y)case 0:a+;case 1: b+;break;case 2:a+;b+;break;printf(“a=%d,b=%dn”,a,b);A. a=0,b=0 B. a=1,b=0 C. a=0,b= 1 D. a=1,b=129.以下程序执行后输出的结果是:(C)main()int a,b,x
4、=45;a=b=0;if(!a) x-;if(b) x=30;else x=40;printf(“x=%dn”,x);A. x=0 B. x=30 C. x=40 D. x=442009.6月6.判断char型变量ch是否为大写字母的正确表达式是(C)。A. A=ch=A ) OR (ch=A ) & (ch=Z) D. (A=ch)8.若希望当int a;a的值为奇数时,表达式的值为“真”, a的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是(D)。A.a%2=1 B. !( a%2=0) C. a%2 D. !( a%2)11.正确判断字符串a和b相等的表达式为:( D )A
5、.a=b B. a= bC. strcpy(a,b) D. strcmp(a,b)= =014.与y=ab?a:b语句等价的程序段的是:( A )A.if (ab) y=a; else y=b; B. if (ab) y=b; else y=a; C. if (ab) y=a; y=b; D. if (ab) y=b; y=a; 19.语句if(!e)中e等于(A)时条件为真。A. 0 B. 1 C. 非0 D. 222.以下程序的运行结果是(D)。#include stdio.hmain()int a=9,b=10;if(a=b) printf(#);else printf(*);if(a=
6、b)printf($n);A. # B. #$ C. * D. *$24. 以下程序的运行结果是(C)。#include stdio.hmain()int x,a=10,b=20,c=5;if(ab)if(cd) m=3;else m=4;else m=5;printf(%d,m);_执行后输出的结果(C)。A.3 B.4 C.5 D.617表达式y3?-1.0:1.0的值是类型应是(B)。A不确定 B实型 C整型 D无符号整型21.以下程序: #include main() int x=1, y=3, z=0; if(!z) z+; if(x) z-; if(y) z-=1; printf
7、(%dn, z) ;_执行后输出的结果是:(A) A-1 B0 C1 D.224.以下程序执行后输出的结果是:(B)#include main ( ) int a=1, b=0, c=2; a-=b+(b&c) ; printf (%dn, a) ;_ A. 0 B.1 C. 2 D.329.以下程序:(C)#include main() int a=0,b=1,c=2,d; d=(a+a|b)+c; printf (%d, d) ; A. 1 B. 2 C. 3 D. 42008.1月8.若有a=-2,b=3,c=-4,d=5,则表达式ab?a:cd?c:d的值为:(D)A. 3 B. -2
8、 C. -4 D. 510.以下程序:int a=0,b=1,c=0;if(a=b+c)printf(=);else printf(!=);下列判断正确的是:(A)A. 输出:= = B. 输出:!= C. 没有输出 D. 语法错误,编译不通过24.以下程序:main()int a=4,b=1,c=0;a/=b+(b|c);printf(%dn,a);执行后输出的结果是:(A)A. 2 B. 4 C. 0 D. 126. 以下程序:main()float x=2.0,y;if(x0.0)y=0.0;else if(xx+y) z+=x*y; elsez-=x*y;printf(%dn,z);执
9、行后输出的结果是:(A)A.65 B.15C.40 D.2527. 下列程序从键盘输入65后,程序的运行结果为:(D) main() int m; scanf(“d“,&m); switch(m/10) case 10: Case 9:printf(“优秀”):break: case 8:printf(“良好”)break: case 7:printf(“中等”):break: case 6:printf(“及格”):break default:prJntf(“不及格”): A.不及格 B.优秀 C.中等 D.及格第二卷说明:(1)第二卷均为填空题,在阅读和原题程序的基础上,在第二卷答题卡上编
10、号对应的栏目中填入适当的字符,语句,以构成一个正确的C语言程序。(2)每空栏3分,10个空栏共30分。1.以下程序将两个数从大到小输出:#includemain() float a, b, 1 ; scanf( 2 ,&a,&b); if (ab) ( temp=a; 3 ; b=temp; printf( %f,% f , a, b) ;答案:printf( %f,% f , a, b) ;应改为printf( %f,% f , b, a) ;1. temp2. %f %f3. a=b2.以下程序是从键盘输入一个字符如果它是一个大写字母。则把它变成小写字母,如果它 是一个小写字母则把它变成大
11、写字母,其它字符不变。#includemain() char tch; scanf( %c , 4 ) ; if( 5 ) tch=tch+32; else if(tch= a & tch= A & tch=Z6. tch=tch-322007.1月2.下列语句正确的是:( C )Acnar: a,b,c Bchar a;b;c;Cint x,y; Dint x y z;8.以下程序:main()int x=2,y=4,z=7,m;m=x&y+z);printf (“%d”,m);输出结果是()如果m=x&(y+z);答案B;如果m=(x&)y+z;答案AA.8 B.1C.0 D.1216.以
12、下程序:main()int x=5,y=4,z=3;if (xz)x=x*2;else x=x*5printf(“%dn”,x)则执行后输出结果是:(B)A.20 B.50C.10 D.1531.从键盘输入B,以下程序的运行结果是:(B)main()char grade;scanf(“%c”,&grade);switch(grade)case A;printf(“=90”);case B;case C; printf(“=60”);break;case D; printf(“=60=60C. 60 D. error2006.6月6.以下程序main() int x1=3,x2=0,x3=0;i
13、f(x1=x2+x3) printf(“*”);else printf(“#”)执行后输出的结果是(C)。A.* B.存在语法错误 C.# D.无输出结果15. 设x, y, z都是为int型变量,且x=8,y=10,z=15;则以下的表达式中值为0的表达式是(D)。A x&y B.xy .C.x|y+z&y-z D.!(x16)printf(“%dn”,x+);else printf(“%dn”,x-);执行后输出结果是(B)A18 B. 17 C. 16 D. 1524. 以下程序:main() int m=5;switch(m/2) case 1:m+; case 2: m+=3;cas
14、e 5: m+=6;break;default: m-=7;printf(“%dn”,m);执行后输出结果是(C)A.8 B.-2 C.14 D1028当a=1, b=3, c=5,d=4时,执行下面一段程序后,x的值为(B)。 if (ab) if (cb) x=1; else if (ac) if (bd) x=2; else x=3;else x=6;else x=7 ;供选择的答案是:A. 1 B. 2 C . 3 D. 6 试题三 下列程序是将两个数从小到大输出。#includemain() float a, b, 8 ; scanf( 9 , &a, &b);if (ab ) t=
15、a; 10 ;b=t; printf ( “%f, %f” , a, b );答案8 t9 “%f%f”10 a=b2006.1月3.设a、b和c都是int型变量,且a=3,b=4,c=5:则以下的表达式中,值为0的表达式是(D)。A.a&b; B.a=b; C.a|b+c&b-c; D. !(a1+2&2|2*44-!0;后,x的值为(C)。A.-1 B.0 C.1 D. 58.假定w、x、y、z、m均为int型变量,有如下程序段:w=1;x=2;y=3;z=4;m=(wx)?w:x; m=(my)?m:y; m=(m=85”);case B;case C; printf(“=60”);case D; printf(“=85 B. =60 C. =6060 error D. error
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1