C语言课堂练习习题集 联系客服

发布时间 : 星期四 文章C语言课堂练习习题集更新完毕开始阅读

printf(%d,%c,%#o,%#x”,m,m+1,m+2,m+3); }

第五章 选择程序设计 单项选择题

1. 已知a,b,c的值分别是1,2,3,则执行下列语句后a,b,c的值分别是

if (a++

A)0,0,0 B)1,2,3 C)1,2,1 D)2,2,2 2.以下if语句中格式正确的是

A)if(a>b) b++ else a++;

B)if(a>b) {b++;printf (\%d\,b);} else {a++;printf(\%d\,a);} C)if(a>b) {b++;printf(\%d\,b)} else{a++;printf(\%d\,a);} D)if(a>b)b++;printf(\%d\,b); else printf(\%d\,a);

3.若i是int型变量,且有下面的程序片段

i=0;

if(i<=0) printf(\ else printf(\; 上面程序片段的输出结果是

A) #### B) **** C) ####**** D)有语法错误,无输出结果4.有以下程序:

#include main()

{int x,y; printf(\:\;

scarf(\%d\,&x); if(x++<0) y=-1;

else if(x==0) y=0;else y=1; printf(\%d\;} 现从键盘上输入-1,则程序的输出是。

A) -1 B)0 C)1 D)不确定的值 5.有以下程序,运行后的输出结果是

main()

{int a=2,b=0,c=-1; if(a=b+c)

if(a>0) b=c=a;

else if(a==0)a=b=c=0; else a=b=c=1; else a=b=c=-1;

printf(\%d,%d,%d\,a,b,c);}

A)1,1,1 B)0,0,0 C)-1,-1,-1 D)2,2,2 6.若执行下面的程序时从键盘上输入10,则输出是

main()

{int a;scanf(\%d\,&a);

if(a++>10)

printf(\%d\\n\,++a);

5

else printf(\%d\\n\,a--); } A)12 B)11 C)10 D)9 7.下面程序的输出结果是。

#include main()

{int i=2,p;p=f(i,i+1); printf(\%d\,p); }

int f(a,b) int a,b; {int c; c=a; if(a>b) c=1; else

if(a==b)c=0; else c=-1; return(c); }

A) -1 B)0 C)1 D)2 8.有以下程序:

#include . main()

{int al=0,a2=0,a3=0; char ch;

while((ch=getchar())!='\\n') switch(ch)

{case 'A':a1++;

6

case 'B':a2++;

default:a3++; }

printf(\%d,%d,%d\,a1,a2,a3);}

现从键盘上输入AAAAABBBC<回车>,则程序执行后的输出结果是 A)5,8,9 B)5,3,1 C)5,3,9 D)5,8,1 9.请读程序:

#include main()

{int x=l,y=0,a=0,b=0; switch(x) {case l:

switch(y)

{case 0: a++; break;

case 1:b++;break;} case 2:

a++;b++; break;}

printf(\%d, b=%d\\n\,a,b);} 上面程序的输出结果是

A)a=2,b=l B)a=l,b=l C)a=l,b=0 D)a=2,b=2 10.若要求表示a不等于0的关系,错误的表达式是 A)a<>0 B)a!=0 C)a D)a<0| |a>0 11.程序的三种基本结构是。

A)顺序结构,循环结构,递归结构 B)顺序结构,循环结构,选择结构

C)选择结构,循环结构,递归结构 D)顺序结构,选择结构,递归结构 12.C语言中,逻辑真表示为

A)TRUE B)'y'或'Y' C)1 D)非零值

13.设有如下程序:

#include< stdio. h> main()

{ char ch1,ch2;

scanf(“%c%c”,&ch1,&ch2); if (ch1!=’B’) { switch(ch2) { case’B’: switch(ch1)

{ case’A’:printf (“AB”) break;

case’B’:printf(“BB”); break; } case ‘A’:

switch(ch1)

{case’A’:printf (“AA”) break;

case’B’:printf(“BA”); break; } } }}}

若执行是从键盘上输入的数据时AB,则输出是 A) AB B)ABAA C)ABBBAABA D)BBBA

14. 已知a,b,c,w时int型变量,a,b均以赋值,且满足a

if (w<=b) w=b;

if (w<=c) printf (“%d”,w); else w=c;

为把c的值放入w中,则执行此程序段时,从键盘输入的c的值不应取的范围是 A) b>c B) c>=b C) c>a且ca或c

15.设a,b,w为整型变量,ch为字符型变量,用if语句改写以下的程序段: switch(ch)

{ case'+':w=a+b;break; case'-':w=a-b;break; case'*':w=a*b;break; case'/':w=a/b;break;} 在下列写法中,错误的是

A)if(ch= ='+') w=a+b; B)if(ch= ='*') w=a*b;

if(ch= ='-') w=a-b; else if(ch= ='/') w=a/b; if(ch= ='*') w=a*b; if(ch= ='+') w=a+b;

if(ch= ='/') w=a/b; else if(ch= ='-') w=a-b; C)if(ch= ='+') w=a+b; D)if(ch= ='+') w=a+b;

7

else if(ch= ='-') w=a-b; elseif(ch= ='-') w=a-b; if(ch= ='*') w=a*b; if(ch= ='*') w=a*b;

else w=a/b; else if(ch= ='/') w=a/b;

16.实型变量a,b中放有两门课程的考试成绩,如果两门成绩都及格(成绩>=60),则显示“pass”,如果a成绩不及格,则显示\,如果a成绩及格而b成绩不及格则不做任何处理。下列程序段中可实现上述要求的是

A)if(a>=60) B)if(a<60)

if(b>=60) printf(”fail”); printf(\; else if(b>=60) else printf(\; printf(\;

C)if(a>=60)&&(b>=60)) D)if(b>=60) printf(\; if(a>=60)

else if(b<60) printf(\;

printf(\; else printf(\; 17.下面满足当(a>=b)&&(c= =d)时u=w,否则x=y的if语句是 A)if(a

if(c= =d) x=y; else if(c= =d) u=w; else x=y; else x=y; else u=w;

C)if(a=b)

{if(c= =d)x=y; {if(c= =d) x=y; else u=w; else u=w; 8

} } 18.以下程序的输出结果是

#include main()

{ int a=0,b=l,c=0,x=0,y=0; if(x<=y) if(y=l0)

if(!b) a=1;

else if(c) a=10; a=-1;

printf(\%d\,a);}

A)1 B)10 C)-1 D)不确定的值 填空题

1.有以下程序: main() {int i;

scanf(“%d”,&i); swith(1) {case 1:

printf(“%d”,i++) case 2:

printf(“%d,i++) case 3: