24.设有说明:
charw;intx;floaty;doublez;则表达式w*x+z-y值的数据类型为。
A.doubleB.floatC.charD.int
25.设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f的值的数据类型为。
A.floatB.intC.doubleD.不确定
26.设x,y和z均为int型变量,则执行语句x=(y=(z=10)+5)-5;,后x,y和z的值。
A.x=10;y=10;z=15B.x=10;y=10;z=10
C.x=10;y=15;z=10D.x=10;y=5;z=10
27.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=‘A’+‘6’-‘3’后,c2中的值为。
A.DB.68C.不确定的值D.C
28.设inta=12;,则执行完语句a-=2+3后,a的值为。
A.7B.13C.12D.5
29.设inta=12;,则执行完语句a*=2+3后,a的值为。
A.24B.27C.5D.60
30.若x、i、j和k都是int型变量,则执行下面表达式后x的值为。
x=(i=4,j=16,k=32)
A.4B.16C.32D.52
31.执行表达式a=12,a=a+13,a+20后a的值为。
A.45B.12C.25D.13
32.下列表达式的值为0的是。
A.3<5B.3/5.0C.3/5D.3%5
33.若有以下定义,则正确的赋值语句是。
inta,b;floatx;
A.a=1,b=2B.b++;C.a=b=5D.b=int(x);
34.下列变量赋初值不正确的是。
A.intx=‘1’;B.floata=“12.34”
C.intx=0;D.charx=65;
35.不使用中间变量,交换变量a和b的值的操作是。
A.b=b-a;a=b-a;a=a+b;B.a=a+b;b=a-b;a=a-b;
C.b=b-a;a=a-b;a=a-b;D.a+=b;b-=a;a-=b;
36.使用中间变量,交换变量a和b的值的操作是。
A.b=a;a=bB.t=a;b=a;a=t;
C.a=t;t=b;b=a;D.t=b;b=a;a=t;
37用printf函数输出单精度数据时,使用的格式字符是_______.
A.%dB.%cC.%fD.%o
38.用printf函数输出字符型数据时,使用的格式字符是________.
A.%dB.%cC.%fD.%o
39.设a=3,b=4,执行printf(“%d,%d”,(a,b),(b,a));的输出为。
A.3,4B.4,3C.3,3D.4,4
40.若有以下程序段,执行后输出的结果是。
intx1=1,x2=2,x3=3;
x3=x1/x2;
printf(“%d\n”,x3);
A.0.5B.1/2C.0D.3
41.以下程序的输出结果为。
main()
{charc1=‘a’,c2=‘b’,c3=‘c’;
printf(“a%cb%c\tc%c\n”,c1,c2,c3);
}
A.abcabcabc B.aabbcc C.abc D.aaaabb
42.执行下列语句的结果是。
i=3;
printf(“%d,”,++i);
printf(“%d”,i++);
A.3,3 B.3,4 C.4,3 D.4,4
43.有输入语句:
scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b为3,
c为2,从键盘输入数据的正确形式应当是。
(_表示空格)"
A.132<回车>B.1,3,2<回车>
C.a=1_b=3_c=2<回车>D.a=1,b=3,c=2<回车>
44假19.设inta;floatb;下面函数调用中正确的是。
A.scanf(“%f,%f”,a,b);B.putchar(b);
C.scanf(“%d,%f”,&a,&b);D.scanf(“%f%d”,&a,&b);
45.putchar函数可以向终端输出一个。
A.字符串B.整型变量表达式值
C.实型变量值D.字符或字符型变量值
46.设c1、c2均是char类型变量,则以下不正确的函数调用为____________.
A.printf(“%c,%c”,c1,c2);B.getchar(c1);
C.putchar(‘\\’);D.putchar(c1);
47.在C语言中表示逻辑真的是。
A.TB.tC.非0D.0
48.逻辑运算符两侧运算对象的数据类型。
A.只能是整型或字符型数据B.只能是0或1
C.只能是0或非0正数D.可以是任何类型数据
49.判断char型变量ch是否为大写字母的正确表达式是。
A.‘A’<=ch<=‘Z’B.(ch>=‘A’)&(ch<=‘Z’)
C.(ch>=‘A’)&&(ch<=‘Z’)D.(‘A’<=ch)&(‘Z’>=ch)
50.判断char型变量ch是否为小写字母的正确表达式是。
A.(‘a’<=ch)AND(‘z’>=ch)B.‘a’<=ch<=‘z’
C.(ch>=‘a’)&(ch<=‘z’)D.(ch>=‘a’)&&(ch<=‘z’)
51.判断char型变量ch是否为数字字符的正确表达式是。
A.(‘0’<=ch)AND(‘9’>=ch)B.(ch>=‘0’)&&(ch<=‘9’)
C.(ch>=‘0’)&(ch<=‘9’)D.‘0’<=ch<=‘9’
52.设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是 。
A.‘x’&&‘y’B.x<=y
C.x||y+z&&y-zD.!
((xz||1)
53.能正确表示a和b同时为正或同时为负的表达式是。
A.(a>=0||b>=0)&&(a<0||b<0) B.(a>=0&&b>=0)&&(a<0&&b<0)
C.(a+b>0)&&(a+b<=0) D.a*b>0
54.设intx,y,z;执行语句x=y=z=0;++x&&++y||++z;后,x,y,z的值依次为。
A.1,0,0B.1,1,0C.1,0,1D.1,1,1
55.设intx=1,y=2,z=3;,则表达式x==z||x+y>z的值是。
A.0B.1C.2D.3
56.设有:
inta=1,b=2,c=3,d=4,x=2,y=2;执行(x=a>b)&&(y=c>d)后y的值为。
A.1B.2C.3D.4
57.设有:
inta=2,b=1,c=3,d=4,x=2,y=3;执行(x=a>b)||(y=c>d)后y的值为。
A.0B.1C.2D.3
58.执行以下语句后a的值为。
inta=5,b=6,w=1,x=2,y=3,z=4;
(a=w>x)&&(b=y>z);
A.5B.0C.2D.1
59.已知x=43,y=0,ch=‘A’;则表达式(x>=y&&ch<‘B’&&!
y)的值是。
A.0B.语法错C.1D.“假”
60.在C语言中,if语句后的一对圆括号中,用以决定分支流程的表达式是。
A.只能用关系表达式B.只能用逻辑表达式
C.只能用逻辑表达式或关系表达式D.任意可求值的表达式
61.设intx=1,a=9,b=6,c=7,d=8;则执行语句:
if(a>b)if(c>d)x=2;elsex=3;后,x的值是。
A.不确定B.2C.3D.1
62.已知intx=10,y=20,z=30;以下语句执行后x,y,z的值是。
if(x>y)z=x;x=y;y=z;
A.x=20,y=30,z=30B.x=20,y=30,z=20
C.x=20,y=30,z=10D.x=20,y=30,z=20
63.执行下面程序段后,y的值为。
y=l;
if(y<0);
y++;
y++;
A.lB.2C.3D.4
64.已知intx=0,y=1.5;执行以下程序段以后,y的值为C。
if(x!
=0)
if(x>0)y=1;
elsey=-1;
A.0B.-1C.1.5D.1
65.以下程序的输出结果是 。
main()
{intx=2,y=-1,z=2;
if(xif(y<0)z=0;
elsez+=1;
printf(“%d\n”,z);
}
A.3B.2C.1D.0
66.以下程序的运行结果是。
main()
{intm=5;
if(m++>5)printf(“%d\n”,m);
elseprintf(“%d\n”,m--);
}"
A.4B.5C.6D.7
67.已知intx=0,y=1;执行下面程序段后,y的值为。
if(x==0){if(!
y)y=1;}elsey=0;
A.0B.1C.-1D.不确定
68.若x、y、z均为int类型,则执行以下程序段后的输出结果是_____________.
x=10;y=3;z=7;
printf(“%d\n”,x>10?
x+100:
x-10);
printf(“%d\n”,y++||z++);
printf(“%d\n”,!
y>z);
printf(“%d\n”,y&&z);
A.0B.1C.0D.0
1111
1100
1110
69.设intml=5,m2=3;,表达式ml>m2?
(ml=l):
(m2=-1)运算后,ml和m2的值分别是。
A.5和-lB.l和3C.l和-lD.5和3.
70.设有定义intx=1;inty=‘a’<‘A’?
x--:
x++;,则变量y的值是。
A.0B.1C.2D.3
71.若有说明:
intw=1,x=2,y=3,z=4;则执行下列语句后的m值是。
m=(ww:
x;
m=(mm:
y;
m=(mm:
z;
A.lB.2C.4D.3
72.若有说明:
intw=1,x=2,y=3,z=4;则执行下列语句后的m值是。
m=(w>x)?
w:
x;
m=(m>y)?
m:
y;
m=(m>z)?
m:
z;
A.lB.2C.4D.3
73.在C语言中,switch语句后一对圆括号中表达式的类型。
A.只能是整型或实型B.只能为int类型
C.可以是整型或字符型D.可以是任何类型
74.假设a=1,则执行完下面语句后,a的值为。
switch(a)
{case0:
a=a+1;
case1:
a=a+2;
case2:
a=a+3;break;
case3:
a=a+4;break;
default:
a=a+5;
}
A.1B.3C.6D.15
75.执行下列程序段以后,变量i的值是。
inti=7;
switch(i--)
{case4:
i+=2;
case5:
i+=3;
case6:
i+=4;break;
default:
i+=10;
}
A.9B.11C.16D.13
76.执行下面的程序段后,变量k的值是。
intk=5;
switch(k--)
{case4:
k+=2;
case5:
k+=3;
case6:
k+=4;break;
default:
k+=10;
}
A.9B.11C.12D.13
77.C语言中while和do-while循环的主要区别是 。
A.do-while的循环体至少无条件执行一次
B.while的循环控制条件比do-while的循环控制条件严格
C.do-while允许从外部转到循环体内
D.do-while的循环体不能是复合语句
78.对下列程序段正确的描述是。
intk=10;
while(k==0)k=k-1;
A.while循环执行10次B.循环是无限循环
C.循环体语句一次也不执行D.循环体语句执行一次
79.若有下列程序段,则下面正确的描述中是。
inti=5;
while(i==0)i=i-1;
A.while循环执行5次B.循环是无限循环
C.循环体语句一次也不执行D.循环体语句执行一次27.执行下面
80.段后屏幕的显示结果是。
inti=1;while(i)printf(“%d”,i--);
A.1B.0C.无显示D.死循环
81.设有以下程序段,则。
intx=0,s=0;
while(!
x!
=0)s+=++x;
printf(”%d”,s);
A.运行程序段后输出1B.运行程序段后输出0
C.程序段中的控制表达式是非法的D.程序段执行无限次
82.下面程序段的运行结果是。
x=y=0;
while(x<15)y++,x+=++y;
printf(“%d,%d”,y,x);
A.20,8B.20,7C.6,12D.8,20
83.下面程序段的运行结果是 。
x=y=0;
while(x<5)y++,x+=y;
printf(“%d,%d\n”,y,x);
A.20,7B.3,6C.3,12D.8,20
87.运行下列程序段后变量i和s的值依次为。
inti=1,s=0;
while((s+=i++)<20);
A.5,15B.6.21C.6,15D.7,21
88.下面程序段运行结果是。
intn=0;
while(n++<=2);printf(“%d”,n);
A.2B.3C.4D.有语法错误
89.下面程序的运行结果是 。
#include
main()
{
intnum=0;
while(num<=2)
{
num++;
printf(“%d\n”,num);
}
}
A.1B.1C.1D.1
222
33
4
90.下列循环结构至少能执行一次循环体的是。
A.whileB.do-whileC.forD.if-goto
91.对以下程序段描述正确的是。
x=-1;
do
{x=x*x;}
while(!
x);
A.是死循环 B.循环执行二次C.循环执行一次 D.有语法错误
92.设inti=1;执行下列程序段后,屏幕输出结果是。
do
{printf(“%d”,i);
}while(i--);
A.lB.OC.lOD.无显示
93.以下程序段。
k=-10;
do
{k=k*k;
}while(!
k);
A.是死循环B.循环执行二次C.循环执行一次D.有语法错误
94.执行以下程序段后,屏幕的显示结果是。
i=10;s=0;
do
{s=s+i;i++;}
while(i<=10);
printf(“%d”,s);
A.0B.10C.11D.21
95.执行以下程序段后,屏幕的显示结果是。
i=10;s=0;do{s=s+i;i++;}while(i<=10);printf(“%d”,s);
A.0B.10C.11D.21
96.若有如下语句,则上面程序段是。
intx=3;
do{printf(“%d\n”,x-=2);
}while(!
(――x));
A.输出的是1B.输出的是1和-2
C.输出的是3和0D.是死循环
97.下面程序运行的结果是。
main()
{inty=10;
do{y--;}while(--y);
printf(“%d\n”,y--);
}
A.-1B.1C.8D.0
98.若i为整型变量,则以下循环执行次数是。
for(i=-2;i==0;i--)printf(“%d”,i++);
A.无限次B.2次C.l次D.O次
99.下面有关for循环的正确描述是。
A.for循环只能用于循环次数已经确定的情况
B.for循环是先执行循环体语句,后判断表达式
C.在for循环中,不能用break语句跳出循环体
D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来