1、第3章分支结构真题12010.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.以下程序是从键盘输入一个字符如果它是一个大写字母。则把它变成小写字母,如果它 是一个小写字母则把它变成大写字母,其它字符不变。#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
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1