C语言程序设计试题复习题(2)

2019-04-14 20:31

B.scanf(\,&x,&y,&z); C.scanf(\,x,y,z); D.read(\,&x,&y,&z); E.scanf(\,&x,&y,&z\;

6. 假设float x,y,z;,并通过

scanf(\,&a,&b,&c);对a赋于10.0,b赋予22.0,c赋予33.0的值,下面正确的输入形式是:( )(注:符号︻代表空格) A、10<回车>22<回车> 33<回车>

B、10.0<回车>22.0<回车>33.0<回车> C、10.0,22.0,33.0<回车> D、10.0︻22.0︻33.0<回车> E、10︻22︻33<回车>

7. 若有int a,c;char b;并通过

scanf(\,&a,&b,&c);对a赋于整数10,b赋予字符M,c赋予整数33的值,下面正确的输入形式是:( )(注:符号︻代表空格) A、10<回车>M<回车> 33<回车> B、10M33<回车> C、 10︻M︻33<回车> D、10M<回车>33<回车> E、10M︻<回车>33<回车> 若有 char ch;,下面可以对变量c正确赋值的语句是:( ) A.ch =‘A’; B.getchar(ch); C.ch = getchar(); D.scanf(“%c”,&ch);

E.printf(“%c”,ch=‘B’); 下面属于转义符的有:( )

A.‘\\t ’ B.‘\\n’ C.‘%d’ D.‘\\376’ E.‘\\x20’ 若a为整型变量,则下列表达式的值为0的是( ),

A.a % a B.a != a

C.3/4 D.3 && 0 E.a = 0

第5、6章 选择与循环结构

一、选择题 1. 有以下程序 main( ) { int i;

for ( i=0; i<3; i++ ) switch ( i )

{ case 1 : printf(\

case 2 : printf(\

default : printf(\ 执行后输出结果是:( )

A)011122 B)012 C)012020 D)120 2. 有以下程序 main()

{ int i=1, j=1, k=2;

if ( (j++ || k++) && i++)

printf(\

执行后输出结果是:( )

A)1,1,2 B)2,2,1 C)2,2,2 D)2,2,3

有以下程序 main()

{ int a=5,b=4,c=3,d=2; if (a>b>c)

printf(\ else if ( (c-1 >= d) ==1) printf(\ else

printf(\ 执行后输出结果是:( )

A)2 B)3 C)4 D)编译时有错,无结果 有以下程序 main()

{ int i=0,s=0; do {

if (i%2)

{ i++; continue; }

i++; s += i;

} while( i<7 );

printf(\ 执行后输出结果是:( )

A)16 B)12 C)28 D)21 以下程序的输出结果是:( ) main()

{ int a=5,b=4,c=6,d;

printf(\ A) 5 B) 4 C) 6 D) 不确定

以下程序中,while循环的循环次数是:( ) main()

{ int i=0; while(i<10)

{ if(i<1) continue; if(i==5) break;

i++; } } A)3 B) 4 C) 5 D) 6

A) 1 B) 10 C) 6 D) 死循环,不能确定次数 5. 假定w、x、y、z、m均为int型变量,有如下程序段: 3. 以下程序的输出结果是:( ) 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 C) 10 D) 20 以下程序的输出结果是:( ) main() { int a=4,b=5,c=0,d; d=!a && !b || !c; printf(\ } A) 1 B) 0 C) 非0的数D) -1 4. 以下程序的输出结果是:( ) #include main() { int i=0,a=0; while(i<20) { for( ; ; ) { if((i)==0) break; else i--; } i+=11; a+=i; } printh(\ A) 21 B) 32 C) 33 D) 11 阅读以下程序:( ) main() { int x; scanf(\ if(x--<5) printf(\ else printf(\ 程序运行后,如果从键盘上输人5,则输出结果是:( ) w=1; x=2; y=3; z=4; m=(w=10) break; if (b%3==1) { b+=3; continue; } } printf(\A) 101 B) 6 C) 5 D) 4

若执行以下程序时从键盘上输入9,则输出结果是:( ) main() { int n;

scanf (\ if(n++<10) printf (\ else

printf(\A) 11 B) 10 C) 9 D) 8 6. 有以下程序段 int k=0 while(k=1) k++; 则while 循环执行的次数是:( ) A) 无限次 B) 有语法错,不能执行 C) 一次也不执行 D) 执行1次 以下程序执行后sum的值是:( ) main() { int i , sum; for(i=1;i<6;i++) sum+=i; printf(\ A)15 B)14 C) 不确定 D)0

有以下程序段 int x=3 do { printf (\}while (!(--x)); 其输出结果是:( )

A) 1 B) 3 0 C) 1 -2 D) 死循环

7. 若变量c为char类型,能正确判断出c为小写字母的表达式是:( ) A) 'a'<=c<= 'z' B) (c>= 'a')||(c<= 'z') C) ('a'<=C)and ('z'>=c) D) (c>= 'a')&&(c<= 'z') 以下程序的输出结果是:( ) main() { float x=0.5; char z='a'; printf(\ A) 0 B) 1 C) 2 D) 3 8. 以下程序的输出结果是:( ) main() { int x=10,y=10,i; for(i=0;x>8;y=i ) printf(“%d %d ”,x--,y); } A)10 1 9 2 B)9 8 7 6 C)10 9 9 0 D)10 10 9 0 以下程序的输出结果是:( ) main() { int i; for(i=1;i<=6;i++) { if(i%2) { printf(“#”); continue; } printf(“*”); } printf(“\\n”); } A)#*#*# B)##### C)***** D)*#*#* 9. 以下程序的输出结果是:( ) main() { int i; for(i='A';i<='I';i++) printf(“%c”,i+32); printf(“\\n”); } A)编译不通过,无输出 B) aceg C)acegi D)abcdefghi 以下程序输出结果是:( ) main () { int m=5; if (m>5) printf (“%d\\n”,m); else printf (“%d\\n”,m--); } A )7 B )6 C)5 D)4

10. 运行以下程序后,如果从键盘上输入china#《回车》,则输出结果为:( ) #include main() { int v1=0,v2=0; char ch ;

while ((ch=getchar())!='#') switch (ch ) { case 'a':

case 'h':

default:v1++; case '0':v2++; } printf(“%d,%d\\n”,v1,v2); } A) 2,0 B)5,0 C) 5,5 D)2,5 11. 设有如下定义: int a=1,b=2,c=3,d=4,m=2,n=2; 则执行表达式:(m=a>b)&&(n=c>d)后,n的值为:( )

A)1 B)2 C)3 D)0 以下程序的输出结果是:( ) main() { int i,j,x=0; for (i=0;i<2;i++)

{ x++;

for(j=0;j<3;j++)

{ if (j%2) continue;

x++; } x++; } printf(“x=%d\\n”,x); } A)x=4 B)x=8 C)x=6 D)x=12 12. 设x和y均为int型变量,则执行以下的循环后,y

值为:( )

for(y=1,x=1;y<=50;y++) { if(x==10)) break; if (x%2==1)

{ x+=5; continue; } x-=3; } A)2 B)4 C)6 D)8

假定a和b为int型变量,则执行以下语句后b的

值为:( )

a=1;b=10;

do

{ b-=a; a++;

}while (b--<0);

A)9 B)-2 C)-1 D)8

设j为int型变量,则下面for循环语句的执行结else

printf(\,x++); } A、3 B、4 C、5 D、6 果是:( )

for (j=10;j>3;j--) { if(j%3) j--; --j;--j;

printf(“%d ”,j); } A)6 3 B)7 4 C)6 2 D)7 3 13. 有以下程序 main() { int x, i;

for(i=1;i<=50;i++) { x=i; if(x%2==0)

{ x++;

if(x%3==0) { x++;

if(x%7==0) { x++;

printf(\

\

输出结果是:( )

A)28 B)27 C)42 D)26

假定所有变量均已正确说明,下列程序段运行后x的值是:( )

a=b=c=0;x=35; if(!a)

x--;

else if(b) ;

if(c)

x=3;

else

x=4;

A)34 B)4 C)35 D)3

14. 执行表达式k = ( 10>12 ? 15 :6>5 ? 8 :9 )后,

变量k的值为:( )

A. 9 B. 8 C. 15 D. 1

15. 以下程序运行后,如果从键盘上输人5,则输出结果

是:( ) main( ) { int x;

scanf(\,&x); if(x--<5)

printf(\,x);

16. 以下程序段的输出结果是:( ) int k, j , s ;

for(k=2;k<6;k++,k++) { s=1;

for (j=k;j<6;j++) s+=j; }

printf(“%d\\n”,s);

A)9 B)1 C)11 D)10

17. 以下程序段的输出是:( ) int i,j,m=0;

for (i=1;i<=15;i+=4)

for (j=3;j<=19;j+=4) m++;

printf(“%d\\n”,m);

A)12 B)15 C)20 D)25

18. 以下程序段的输出结果是:( ) int i, sum;

for(i=1;i<6;i++)

sum+=sum;

printf(“%d\\n”,sum);

A)15 B)14 C)不确定 D)0

19. 下面程序的输出是:( ) main()

{ int x=3,y=6,a=0; while (x++!=(y-=1)) { a++;

if (y

printf(\

A) x=4,y=4,a=1 B) x=5,y=5,a=1 C) x=5,y=4,a=3 D) x=5,y=4,a=1

定义如下变量:int n=10;则下列循环的输出结果是:( )

while (n>7)

{ n--; printf(\

A) 10 9 8 B) 9 8 7

C) 10 9 8 7 D) 9 8 7 6 以下程序段的输出结果是:( ) int x=3; do { printf(\} while (!(--x)); A) 1 B) 3 0 C) 1 -2 D) 死循环 20. 执行下面的程序后,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

读程序:

main()

{ int num=0; while (num<=2) { num++; printf(\上面程序的输出结果是:( )

A) 1 B) 2 2 C) 1 2 3 D) 1 2 3 4

21. 以下循环体的执行次数是:( )

main()

{ int i,j;

for(i=0,j=1;i<=j+1;i+=2,j--) printf(\ A) 3 B) 2 C) 1 D) 0 在C语言的循环语句for,while,do-while语句中,用于直接中断最内层循环的语句是:( )

A) switch B) continue C) break D) if

二、判断题:

1. ( )用1作while循环的判断条件,则循环一次也

不执行。 2. ( )for循环表达式的括号内的3个表达式均不可以省略。 3. ( )语句while(!E);中的条件!E等价于E==0。 4. ( )语句while(E);中的条件E等价于E!=0。 5. ( )若有for( ; ; ){??},是指循环体执行0

次。

6. ( )程序有死循环的时候,上机编译不能通过。

7. ( )强制终止死循环可以使用CTRL+BREAK组合键。8. ( )执行for(I=0;I<3;I++);后I的值为2。 9. ( )执行for(I=0,j=0;I<2;I++);j=j+1;后j的值为1。 10. ( )所有类型的循环都可以进行嵌套使用。

11. ( )利用break语句可以提前终止循环的执行。 12. ( )利用continue语句可以提前终止循环的执行。 13. ( )break语句和continue语句不可以同时出现在同一个循环体内。 14. ( )switch语句中,每一个case的冒号后面都必须至少跟有一条语句 15. ( ) 关于if语句中,条件表达式只能是关系表达式或逻辑表达式 三、多选题 1、 关于if语句,下列叙述正确的是:( )

A.if语句中,条件表达式只能是关系表达式或逻辑表达式 B.if语句中,条件表达式的括号不可以省略

C.else子句不能作为一个独立的

语句单独使用,必须是if语句的一部

分。

D.if和else后面可以包含多个操作语句,此时要用一对大括号把这多个语句对括起来成为

一个复合语句。 以下4条语句,没有语法错误的是() A.if (a>b) m =a; B.if (a);

C.if ((a=b)>=0) m=a;

D.if ((a=b;)>=0) m=a;

如果不加花括号表示else与if的

配对关系,则else与if的匹配方法,不正确的是

A.else与它上面最远的if配对 B.else与它上面最近的if配对

C.else与离它最近的if配对 D.else与它上面最近的且没有和

其他else配对的if配对

2、 关于条件运算符的叙述正确的是 A.条件运算符的优先级别比关系

运算符和算术运算符都低 B.条件运算符是C语言中惟一的一个三目运算符

C.条件运算符的结合方向是“自右至左” D.条件运算符可以替代任何if语句的功能


C语言程序设计试题复习题(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:厂务及生产常用缩写

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: