C.a>10&&a<15D.!
(a<=10)&&!
(a>=15)
18.已知x=43,ch=’A’,y=0;则表达式(x>=y&&ch<’B’&&!
y)的值是________。
A.0B.语法错C.1D.“假”
19.表达式17%4/8的值为_____________。
A.0B.1C.2D.3
20.语句printf(“%d”,(a=2)&&(b=-2));的输出结果是_________。
A.无输出B.结果不确定C.-1D.1
21.以下叙述中错误的是。
A.C语言是一种结构化程序设计语言
B.结构化程序由顺序.分支.循环三种基本结构组成
C.使用三种基本结构构成的程序只能解决简单问题
D.结构化程序设计提倡模块化的设计方法
第四章顺序结构
1.下面程序的输出是______
main()
{intk=11;
printf("k=%d,k=%o,k=%x\n",k,k,k);}
A)k=11,k=12,k=13B)k=11,k=13,k=13
C)k=11,k=013,k=oXbD)k=11,k=13,k=b
2.以下合法的C语言赋值语句是
A)a=b=58B)k=int(a+b);C)a=58,b=58D)--i;
3.以下程序的输出结果是。
main()
{intx=10,y=3;
printf(“%d\n”,y=x/y);}
A)0B)1C)3D)不确定
4.若变量已正确说明为int类型,要给a,b,c输入数据,以下正确的输入语句是。
A)read(a,b,c);
B)scanf(“%d%d%d”,a,b,c);
C)scanf(“%D%D%D”,%a,%b,%c);
D)scanf(“%d%d%d”,&a,&b,&c);
5.执行下面程序段后,c3中的值是_____。
intc1=1,c2=2,c3;
c3=c1/c2;
A)0B)1/2C)0.5D)1
6.若执行以下程序段,其输出结果是______。
inta=0,b=0,c=0;
c=(a-=a-5),(a=b,b+3);
printf(“%d,%d,%d\n”,a,b,c);
A)3,0,-10B)0,0,5C)-10,3,-10D)3,0,3
7.以下程序段的输出是_______。
floata=57.666;
printf(“*%010.2f*\n”,a);
A)*0000057.66*B)*57.66*
C)*0000057.67*D)*57.67*
8.若有以下定义语句:
inta=5
a++;
此处表达式a++的值是____。
A)7B)6C)5D)4
9.若有以下定义和语句:
charc1='b',c2='e';
printf("%d,%c\n",c2-c1,c2-'a'+’A’);
则输出结果是_______。
A)2,MB)3,EC)2,eD)输出结果不确定
10.以下程序的输出结果是______。
main()
{intx=10,y=10;
printf("%d%d\n",x--,--y);
}
A)1010B)99C)910D)109
11.在C语言中,如果下面的变量都是int类型,则输出结果是______。
sum=pad=5;
pad=sum++,pad++,++pad;
printf("%d\n",pad);
A)7B)6C)5D)4
12.以下程序的输出结果_____。
#include
main()
{
inti=010,j=10;
printf("%d,%d\n",++i,j--);
}
A)11,10B)9,10C)010,9D)10,9
13.请读程序
inti=65536
printf("%d\n",i);
上面程序的输出结果是_____。
A)65535B)0C)有语法错误,无输出结果D)1
14.已知字符A的ASCII码为十进制的65,下面程序的输出是_____。
main()
{
charch1,ch2;
ch1='A'+'5'-'3';
ch2='A'+'6'-'3';
printf("%d,%c\n",ch1,ch2);
}
A)67,DB)67,CC)C,DD)不确定的值
15.若有定义语句:
chars[10];s="abcd";printf("%c\n",s);则结果是_____。
A.输出abcdB.输出aC.输出adcbD.编译不能通过
16.若有定义:
intx,y;chara,b,c;并有以下输入数据(此处代表换行,代表空格):
12
ABC
则能给X赋整数1,给Y赋数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是______。
A)scanf("x=%dy=%d",&x,&y);a=getchar();c=getchar();
B)scanf("%d%d",&x,&y);a=getchar();b=getchar();c=getchar();
C)scanf("%d%d%c%c%c",&x,&y,&a,&b,&c);
D)scanf("%d%d%c%c%c%c%c%c",&x,&y,&a,&a,&b,&b,&c,&c);
17.两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是____。
main()
{
intx;
scanf("%d",&x);
if(x++>5)printf("%d",x);
elseprintf("%d\n",x--);
}
A)7和5B)6和3C)7和4D)6和4
18.若执行下面的程序从键盘输入3和4,则输出是______。
main()
{inta,b,s;
scanf("%d%d",&a,&b);
s=a;
if(a
s*=s;
printf("%d\n",s);
}
A)14B)16C)18D)20
19.设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值:
scanf("i=%d,f=%f",&i,&f);为了把100和765.12分别赋给i和f,则正确的输入为:
。
A)100<空格>765.12<回车>B)i=100,f=765.12<回车>
C)100<回车>765.12<回车>D)x=100<回车>,y=765.12<回车>
20.以下程序的输出结果是____。
#include
main()
{
printf("%d\n",NULL);
}
A)不确定B)0C)–1D)1
第五章选择结构第六章循环结构
1.有以下程序
main()
{inti;
for(i=0;i<3;i++)
switch(i)
{case1:
printf("%d",i);
case2:
printf("%d",i);
default:
printf("%d",i);
}
}
执行后输出结果是。
A)011122B)012C)012020D)120
2.有以下程序
main()
{inti=1,j=1,k=2;
if((j++||k++)&&i++)
printf("%d,%d,%d\n",i,j,k);
}
执行后输出结果是。
A)1,1,2B)2,2,1C)2,2,2D)2,2,3
3.有以下程序
main()
{inta=5,b=4,c=3,d=2;
if(a>b>c)
printf("%d\n",d);
elseif(((c-1)>=d)==1)
printf("%d\n",d+1);
else
printf("%d\n",d+2);
}
执行后输出结果是。
A)2B)3C)4D)编译时有错,无结果
4.有以下程序
main()
{inti=0,s=0;
do{
if(i%2)
{i++;continue;}
i++;
s+=i;
}while(i<7);
printf("%d\n",s);
}
执行后输出结果是。
A)16B)12C)28D)21
5.以下程序的输出结果是。
main()
{inta=5,b=4,c=6,d;
printf("%d\n",d=a>b?
(a>c?
a:
c):
(b));
}
A)5B)4C)6D)不确定
6.以下程序中,while循环的循环次数是。
main()
{inti=0;
while(i<10)
{if(i<1)continue;
if(i==5)break;
i++;
}
}
A)1B)10C)6D)死循环,不
能确定次数
7.以下程序的输出结果是。
main()
{inta=0,i;
for(i=1;i<5;i++)
{switch(i)
{case0:
case3:
a+=2;
case1:
case2:
a+=3;
default:
a+=5;
}
}
printf("%d\n",a);
}
A)31B)13C)10D)20
8.以下程序的输出结果是。
main()
{inta=4,b=5,c=0,d;
d=!
a&&!
b||!
c;
printf("%d\n",d);
}
A)1B)0C)非0的数D)-1
9.以下程序的输出结果是。
#include
main()
{inti=0,a=0;
while(i<20)
{for(;;)
{if((i%10)==0)break;
elsei--;
}
i+=11;a+=i;
}
printf("%d\n",a);
}
A)21B)32C)33D)11
10.阅读以下程序:
。
main()
{intx;
scanf("%d",&x);
if(x--<5)printf("%d",x);
elseprintf("%d",x++);
}
程序运行后,如果从键盘上输人5,则输出结果
是。
A)3B)4C)5D)6
11.假定w.x.y.z.m均为int型变量,有如下程序段:
w=1;x=2;y=3;z=4;
m=(ww:
x;m=(mm:
y;m=(mm:
z;
则该程序运行后,m的值是。
A)4B)3C)2D)1
12.以下程序的输出结果是。
main()
{inta,b;
for(a=1,b=1;a<=100;a++)
{if(b>=10)break;
if(b%3==1)
{b+=3;continue;}
}
printf("%d\n",a);
}
A)101B)6C)5D)4
13.若执行以下程序时从键盘上输入9,则输出结果是。
main()
{intn;
scanf("%d",&n);
if(n++<10)
printf("%d\n",n);
else
printf("%d\n",n--);
}
A)11B)10C)9D)8
14.有以下程序段
intk=0
while(k=1)
k++;
while循环执行的次数是。
A)无限次B)有语法错,不能执行C)一次
也不执行D)执行1次15.以下程序执行后sum的
值是。
main()
{inti,sum=0;
for(i=1;i<6;i++)sum+=i;
printf("%d\n",sum);
}
A)15B)14C)不确定D)0
16.有以下程序段
intx=3;
do
{printf("%d",x-=2);}
while(!
(--x));
其输出结果是。
A)1B)30C)1-2D)死循环
17.若变量c为char类型,能正确判断出c为小写字母的表
达式是。
A)'a'<=c<='z'
B)(c>='a')||(c<='z')
C)('a'<=C)and('z'>=c)
D)(c>='a')&&(c<='z')
18.以下程序的输出结果是。
main()
{intx=0.5;charz='a';
printf("%d\n",(x&1)&&(z<'z'));
}
A)0B)1C)2D)3
19.以下程序的输出结果是。
main()
{intx=10,y=10,i;
for(i=0;x>8;y=i)
printf(“%d%d”,x--,y);
}
A)10192B)9876C)10990D)101090
20.以下程序的输出结果是。
main()
{inti;
for(i=1;i<=6;i++)
{if(i%2)
{printf(“#”);continue;}
printf(“*”);
}
printf(“\n”);
}
A)#*#*#B)#####C)*****D)*#*#*
21.以下程序的输出结果是。
main()
{inti;
for(i='A';i<='I';i++)printf(“%c”,i+32);
printf(“\n”);
}
A)编译不通过,无输出B)acegC)acegiD)abcdefghi
22.以下程序输出结果是。
main()
{intm=5;
if(m>5)printf(“%d\n”,m);
elseprintf(“%d\n”,m--);
}
A)7B)6C)5D)4
23.运行以下程序后,如果从键盘上输入china#《回车》,则
输出结果为。
#include
main()
{intv1=0,v2=0;
charch;
while((ch=getchar())!
='#')
switch(ch)
{case'a':
case'h':
default:
v1++;
case'0':
v2++;
}
printf(“%d,%d\n”,v1,v2);
}
A)2,0B)5,0C)5,5D)2,5
24.设有如下定义:
inta=1,b=2,c=3,d=4,m=2,n=2;
则执行表达式:
(m=a>b)&&(n=c>d)后,n的值
为。
A)1B)2C)3D)0
25.以下程序的输出结果是。
main()
{inti,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=4B)x=8C)x=6D)x=12
26.设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)2B)4C)6D)8
27.假定a和b为int型变量,则执行以下语句后b的值
为。
a=1;b=10;
do
{b-=a;a++;}
while(b--<0);
A)9B)-2C)-1D)8
28.设j为int型变量,则下面for循环语句的执行结果
是。
for(j=10;j>3;j--)
{if(j%3)j--;
--j;--j;
printf(“%d”,j);
}
A)63B)74C)62D)73
29.有以下程序
main()
{intx,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("%d",i);}
}
}
}
}
输出结果是。
A)28B)27C)42D)26
30.假定所有变量均已正确说明,下列程序段运行后x的值
是。
a=b=c=0;x=35;
if(!
a)x--;
elseif(b);
if(c)x=3;
elsex=4;
A)34B)4C)35D)3
31.以下程序段的输出结果是_______。
intk,j,s;
for(k=2;k<6;k++,k++)
{s=1;
for(j=k;j<6;j++)s+=j;
}
printf(“%d\n”,s);
A)9B)1C)11D)10
32.以下程序段的输出是。
inti,j,m=0;
for(i=1;i<=15;i+=4)
for(j=3;j<=19;j+=4)m++;
printf(“%d\n”,m);
A)12B)15C)20D)25
33.以下程序段的输出结果是。
inti,sum;
for(i=1;i<6;i++)sum+=sum;
printf(“%d\n”,sum);
A)15B)14C)不确定D)0
34.下面程序的输出是。
main()
{intx=3,y=6,a=0;
while(x++!
=(y-=1))
{
a+=1;
if(y}
printf("x=%d,y=%d,a=%d\n",x,y,a);
}
A)x=4,y=4,a=1B)x=5,y=5,a=1
C)x=5,y=4,a=3D)x=5,y=4,a=1
35.定义如下变量:
intn=10;
则下列循环的输出结果是______
while(n>7)
{
n--;
printf("%d\n",n);
}
A)10B)9C)10D)9
9898
8787
76
36.以下程序段的输出结果是。
intx=3;
do
{printf("%3d",x-=2);}
while(!
(--x));
A)1B)30C)1-2D)死循环
37.执行下面的程序后,a的值为_____。
main()
{inta,b;
for(a=1,b=1;a<100;a++)
{
if(b>=20)break;
if(b%3==1)
{b+=3;continue;}
b-=5;
}
}
A)7B)8
C)9D)10
38.读