当前位置:首页 > C语言课堂练习习题集
第五章 选择程序设计 单项选择题
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
{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); else printf(\%d\\n\,a--); }
5 / 45
A)12 B)11 C)10 D)9 7.下面程序的输出结果是。
#include
{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
{int al=0,a2=0,a3=0; char ch;
while((ch=getchar())!='\\n') switch(ch)
{case 'A':a1++; 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
{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)顺序结构,选择结构,递归结构
6 / 45
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; else if(ch= ='-') w=a-b; elseif(ch= ='-') w=a-b;
7 / 45
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; } } 18.以下程序的输出结果是
#include
{ 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:
printf(“%d”,i++)
8 / 45
共分享92篇相关文档