A)inputx,y,z;B)scanf(“%d%d%d”,&x,&y,&z);
C)scanf(“%d%d%d”,x,y,z);D)read(“%d%d%d”,&x,&y,&z); 5.有以下程序。
#include
chara1=?A?,a2=?a?; printf(“%c\\n”,(a1,a2)); }
以下叙述中正确的是(B)。
A)程序输出大写字母AB)程序输出小写字母a
C)格式说明符不足,编译出错D)程序运行时产生出错信息 6.以下程序的输出结果是(A)。
#include
inta=2,b=3,c=0,d; d=!a&&!b||!c; printf(“%d\\n”,d);} A)1B)0C)非0的数D)-1
7.以下程序的输出结果是(B)。
#include
inta=6,b=5;
printf(“%d\\n”,--a+b,--b+a); }
A)8B)9C)10D)11
8.下面程序输出的结果是(D)。
#include
{inta=55,b=50,c=60,d; d=a>20?b:c; switch(d)
{case40:printf(“%d,”,a);
case50:printf(“%d,”,b); case60:printf(“%d,”,c); default:printf(“$\\n”);}}
A)50,60B)50,$C)60,$ D)50,60,$
9.如果从键盘输入数据666,下面程序输出的结果是(C)。
#include
scanf(“%d”,&x);
if(x>300)printf(“%d”,x); if(x>200)printf(“%d”,x);
if(x>100)printf(“%d”,x); }
A)666 B)666666C)666666666 D)以上都不对 10.有如下程序。
#include
inta=5,b=6,c=1; switch(c) {
case0:b++; case1:a++; case2:a++;b++; }
printf(“a=%d,b=%d\\n”,a,b); }
该程序的输出结果是(C)
A)a=5,b=6B)a=6,b=7C)a=7,b=7D)a=7,b=8 11、下面的程序中:
inti=9;
while(i=0)i=i-1;
则下列描述正确的是(C) A)while循环执行9次 B)循环体语句执行一次 C)循环体语句一次也不执行 D)循环是无限循环
(注意:i=0是赋值语句,不是对i中值和0进行比较,因此程序执行后i的值是0而不是9)
12、下面的程序中:
inti=-1; do
{i=i*i;}while(!i);
则下列描述正确的是(B)
A)循环体一次也不执行B)循环体执行一次 C)循环体执行两次D)是无限循环 13、下面的程序中:
inti=0; while(i=1) {…}
则下列描述正确的是(C) A)循环控制表达式不合法 B)循环控制表达式为0 C)循环控制表达式为1 D)以上都不对 14、下面的程序中:
intx=0,total=0;
while(!x!=0)total+=++x; printf(“%d”,total);
则下列描述正确的是(D)
A)程序段的控制表达式是非法 B)程序段是无限循环
C)运行程序段后输出0D)运行程序段后输出1
15、若变量已正确定义,要求以下程序段完成6!的运算,不能完成的程序段是(D)。
A)B) i=1; i=1; x=1; x=1; while(i﹤=6) do {x=x*i; {x=x*i; i++;} i++;}
while(i﹤=6);
C)D)
for(x=1,i=1;i﹤=6;i++) for(i=1;i﹤=6;i++)
x=x*i; {x=1;x=x*i;}
16、设n为整型变量,则for(n=10;n>=0;n--)循环次数为(C)
A)9 B)10 C)11 D)12 17、对表达式for(表达式1;;表达式3)可以理解为(B)
A)for(表达式1;0;表达式3) B)for(表达式1;1;表达式3)
C)for(表达式1;表达式1;表达式3)D)for(表达式1;表达式3;表达式3) 18、下面的程序运行结果是(B)
#include
intx=10; do x--;
while(--x);
printf(\}
A)-1 B)0 C)1D)8
二.填空题
1.下面程序的输出结果是16.00,请填空。
#include
floatx=6.6,y=1.1,z; z=a/2+b*x/y+1/2; printf(“%5.2f\\n”,z); }
2.下面程序输出的结果是Z。
#include
printf(“%c”,c+25); }
3.有以下程序。
#include
voidmain() {chara,b,c,d;
scanf(“%c,%c,%d,%d”,&a,&b,&c,&d); printf(“%c,%c,%c,%c\\n”,a,b,c,d); }
若从键盘上输入5,6,65,66<回车>。则输出结果是5,6,A,B。
4.已知字母A的ASCII值是65,运行下面程序时输入B35<回车>,输出结果是1F。
#include
a=getchar();scanf(“%d”,&b); a=a-?A?+?0?;b=b*2; printf(“%c%c\\n”,a,b); }
5.下面程序的输出结果是22。 #include
intx=13,y=22;
printf(“%d”,y/=(x%=6)); }
6.下列程序的功能是把从键盘上输入的整数取绝对值后输出。
#include
scanf(“%d”,&x); if(x<0) x=-x; printf(“%d\\n”,x); }
7.下面程序的输出结果是9。
#include
{inta=3,b=6,c=9; a=a>b?a:b; a=a>c?a:c; printf(“%d”,a); }
8.从键盘用数字输入月份,然后用英文单词输出显示月份。
#include
{printf(“\\npleaseinputmonth(1-12):”); scanf(“%d”,&month);
switch(month) {case1:printf(“January\\n”);break; case2:printf(“February\\n”);break; case3:printf(“March\\n”);break; case4:printf(“April\\n”);break; case5:printf(“May\\n”);break; case6:printf(“June\\n”);break; case7:printf(“July\\n”);break; case8:printf(“August\\n”);break; case9:printf(“September\\n”);break; case10:printf(“October\\n”);break; case11:printf(“November\\n”);break; case12:printf(“December\\n”);break; default:printf(“inputdataerror\\n”); }
getchar();
printf(“\\ncontinue?(Y/N):\ ch=getchar();
if(ch!='y'&&ch!='Y')break; } }
9.下面程序的输出结果是!!!。
#include
switch(y)
{case0:printf(“!!!\\n”);break; case1:printf(“@@@\\n”);break; }
break;
case2:printf(“###\\n”);} }
10.下面程序的输出结果是27。
#include
{intsum=0,i; for(i=1;i<=4;i++) {switch(i) {case0:
case1:sum=sum+2; case2:
case3:sum=sum+3; default:sum=sum+4;}} printf(“%d”,sum); }