main ( )
{ int a=3, b=4, c; c=F(a+b); printf (″%d\\n″, c); } 11.执行下面程序后的输出结果是____________。 #include
{ int x=20; printf(\12.执行下面程序后的输出结果是____________。 #define M 2<3 ? 5:6 main( )
13.执行下面程序后的输出结果是____________。 main()
14.设从键盘输入:420<回车>,执行下面程序后的输出结果是____________。 main( ) { char c;
while ((c=getchar( ) )!=′\\n′) switch(c-′0′) { case 0:
case 1:putchar(c+2); case 2:putchar(c+3);break; case 3:putchar(c+4); default:putchar(c+1);break; }
printf(″\\n″); }
第三章选择结构 一、选择题
1.以下是if语句的基本形式: if(表达式) 语句; 其中\表达式\A.必须是逻辑表达式 B.必须是关系表达式
C.必须是逻辑表达式或关系表达式 D.可以是任意合法的表达式 2.switch(表达式) 语句中的“表达式”允许的类型是( ) A.float, int B.float, int, char C.int, char D.char, double 3.设int n, p=0;与语句if(n!=0)p=1;等价的是( )
A.if(n)p=1; B.if(n=1)p=l; C.if(n!=1)p=1; D.if(!n)p=l; 4.正确的条件语句为( ) A.if((a=b;)>0)t=a; B.if((a=b)>0)then t=a; C.if(a>b)t=a; D.if(a
{int i=3, j, k; j=i+M; k=i+(M); printf (\
{ float x=3.6; int i; i=x; printf(\,x,i);}
5.以下程序段中,与语句:k=a>b?(b>c?1:0):0;功能相同的是( ) A.if((a>b)&&(b>c)) k=1; B.if((a>b)||(b>c)) k=1; else k=0; else k=0; C.if(a<=b) k=0; D.if(a>b) k=1
else if(b<=c) k=1; else if(b>c) k=1; else k=0;
6.以下选项中与if(a==1)a=b;else a++;语句功能不同的switch语句是( )
A.switch(a) B.switch(a)
{case 1:a=b;break; {default:a++;break; default : a++;} case 1:a=b; } C.switch(a==1) D.switch(a==1)
{case 0:a=b;break; {case 1:a=b;break; case 1:a++;} case 0:a++;}
7.有如下嵌套的if语句, 以下选项中与上述if语句等价的语句是( ) if(a
if(a if(b A.k=(ac)?b:c); C.k=(a A.if(a>b) c=a,a=b,b=c; B.if(a>b) {c=a,a=b,b=c;} C.if(a>b) c=a;a=b;b=c; D.if(a>b) {c=a;a=b;b=c;} 9.有以下程序运行后的输出结果是( ) main() { int a=1,b=2,c=3,d=0; if (a==1 && b++==2) if(b!=2||c--!=3) printf(\ else printf(\ else printf(\ A.1,2,3 B.1,3,2 C.1,3,3 D.3,2,1 10.main() { int x; scanf(\if(x<=3); else if(x!=10) printf(\ 程序运行时,输入的值在( )范围才会有输出结果。 A.不等于10的整数 B.大于3且不等10的整数 C.大于3或等于10的整数 D.小于3的整数 11.以下程序的运行结果是( ) #include { int x=1,y=2,z=3; if(x>y) if(y A.331 B.41 C.2 D.1 二、填空题 1.语句if(!k)a=3;中!k与__________________等价。 2.在执行循环结构或switch结构时,能够立即退出该结构的语句是__________。 3.以下程序的运行结果是 。 main() { int x=1,a=0,b=0; switch(x) { case 0: a++; break; case l: b++; case 2: a++; b++; break; case 3: a++; b++;} printf(″a=%d,b=%d\\n″,a,b);} 4.以下程序的运行结果是 。 main() { int i=11, j; j=i%3; switch (j) { case 1: case 2: printf(″%d\\n″,j); break; default: printf(″%d\\n″,i);}} 5.以下程序的运行结果是 。 #include { int a=1,b=2,c=3,d=0; if(a==1) if(b!=2) if(c==3) d=1; else d=2; else if(c!=3) d=3; else d=4; else d=5; printf(\ 6.以下程序的运行结果是 。 main() {int a=1,b=2,c=3; if(a<=c) if(b==c) printf(〞a=%d\\n〞,a); else printf(〞b=%d\\n〞,b); printf(〞c=%d\\n〞,c); } 7.以下程序的运行结果是 。 main ( ) { int x=15, y=21, z=0; switch (x%3) {case 0: z++; break; case 1: z++; switch (y%2) {default: z++; case 0: z++; break; } } printf (″%d\\n″, z);} 8.以下程序的运行结果是 。 main( ) { int a=10,b=20,c=30; if(a>b) if(a>c) printf(″a=%d\\n″,a); else printf(″b=%d\\n″,b); print(″c=%d\\n″,c);} 9.以下程序的运行结果是 。 main() { int color=2; switch(color) {case l:printf(“red\\n”);break; case 2:printf(“yellow\\n”); case 3:printf(“blue\\n”);}} 10.输入一个学生的成绩(在0~100分之间,超出此范围显示错),进行五级评分并显示。 main ( ) { int score; scanf ("%d",&score); printf ("%d->",score); if(__________________) switch (___________________) {case 9:case 10: printf (" Excellent \\ n");break; case 8: printf ("Good \\ n");break; case 7: printf ("Middle \\ n"); break; case 6: printf ("Pass \\ n");_______________; default: printf ("No pass \\ n");} else printf ("Input error! \\ n");} 第四章循环结构 一、选择题 1.下列叙述正确的是( ) A.continue语句的作用是跳出循环体 B.while循环语句的循环体至少执行一次 C.do-while循环语句的循环体至少执行一次 D.switch语句中的每个case语句组必须含有break语句 2.if(表达式)和while(表达式)中的“表达式”( ) A.只能是逻辑的 B.只能是关系的 C.只能是算术的 D.以上三种都可以 3.对循环结构正确的叙述是( ) A.do-while循环体可能被执行0次 B.do-while循环体至少被执行1次 C.while循环体不可能被执行0次 D.for循环体不可能被执行无限次 4.设int i=l, k=2;则错误的循环语句是( ) A.for(i=0,k=-1;i++,k++); B.for(;k-1;i++); C.for(i=1,k=4;k--;i++); D.for(;k--;);