26.以下叙述中正确的是(A)。
A.字符常量用一对单撇号''作为单个字符的定界符
B.字符常量和字符串常量一样,都是用双引号括起来
C.字符常量存储时,自动在字符后加一个字符结束符号'\0'
D.字符常量和字符串常量所分配的内存空间大小是一样的
27.已知'A'的ASCII码的十进制值为65,'0'的ASCII码的十进制值为48,则以下程序运行结果是(A)。
main()
{charch1,ch2;
ch1='A'+'5'-'3';ch1=’A’+2=67
ch2='A'+'6'-'3';ch2=68
printf("%d,%c\n",ch1,ch2);
}
A.67,DB.C,DC.C,68D.67,68
28.若有定义intm=6;则正确的赋值表达式是(C)。
A.m*7B.m*5=8C.m-=m*6D.double(-m)
29.语句k=(m=5,n=++m);运行之后,变量k、m、n的值依次为(D)。
A.5,5,6B.5,6,5C.6,6,5D.6,6,6
//逗号运算符的值是最后一个表达式的值
30.语句x=5%4+(4/5);运行之后,整型变量x的值为(A)。
A.1B.2C.3D.0
31.(B)语句符合C语言语法。
A.floatz=28,intx,y=18;
B.intx=25,y=25,z=25;
C.intx=25:
y=25:
z=25;
D.intx+y=z;
32.若有定义inta,x;则语句a=(x=8,x+8);运行后,变量a、x的值依次为(A)。
A.16,8B.8,8C.16,16D.8,16
33.若变量m,n,t已定义且赋予初值,则正确的表达式是(B)。
A.m=m+1=t-nB.m=6+n+t,m++C.m=m\2D.m=int(5.6%4)
34.若有定义:
inta,b;floatx,则以下不符合C语言语法的表达式是(A)。
A.x%7B.x/=a-bC.a=b=2D.x=(float)a/b
35.若有定义:
intm=4,n=5;floatk;,则以下符合C语言语法的表达式是(B)。
A.(m+n)*=kB.m=(n==5)C.k=float(n)/mD.n%2.5
36.若有定义:
inta=6;则语句a*=a-=a/=3;运行后,a的值是(B)。
A.10B.0C.34D.24
a/=3a已经变成了2,不是6a-=2a变成0a*=00
37.下面关于C语言变量的叙述中,错误的是(A)。
A.可以用define关键字定义变量
B.变量名用大小写字母是有区别的
C.C语言允许不同基本类型的变量之间进行混合运算
D.C语言中要求对变量作强制定义的主要理由是:
便于确定类型和分配空间
38.若有定义:
inta=5,b=2;则表达式b=(a!
=5)的值为(B)。
A.5B.0C.3D.2
39.逗号表达式(a=15,a*4),a+15的值为(B)。
A.15B.30C.75D.60
a*4的值是60,但是因为没有赋值号,a=15
40.下列语句中,符合C语言语法的赋值语句是(C)。
A.a=7+b+c=a+7;B.a=7+b++=a+7;
C.a=7+b,b++,a+7;D.a=7=b,c=a+7;
41.(A)是正确的叙述。
A.(int)5.0/6与5/6等价B.'G'与"G"等价
C.5/6与5.0/6.0等价D.++3与4等价
42.下面叙述中,错误的是(D)。
A.C语言中的表达式求值,是按其运算符的优先级先高后低的次序进行
B.自增与自减运算符的结合方向为“自右至左”
C.关系运算符的优先级低于算术运算符
D.C语言算术运算符不包含模运算符“%”
43.(C)是正确的叙述。
A.表达式"m"+"M"是合法的
B.若变量x,y为整型,则(a+b)++是合法的
C.强制类型转换运算的优先级高于算术运算
D.表达式'm'*'n'是不合法的
44.若有定义inti=1,j=9;则表达式(++j)*(i--)的值为(B)。
A.0B.10C.9D.8
45.设整型变量x为7,使整型变量y不为2的表达式是(A)。
A.y=x%3B.y=x/3
C.y=(++x)/3D.y=8-(--x)
46.若已定义inta=3,b=2,c=1;则语句++a||++b&&++c;运行后b的值为(D)。
A.0B.3C.1D.2
++a是4,||有1出1,因为++a非0,出现不完全运算,++b&&++c没有运算,因此b、c的值不变。
47.若有定义:
inti=5,j=4;则语句i/=++j;运行后i的值为(B)。
A.10B.1C.1.25D.0
48.若已定义:
inta=2,b=2;则表达式(a+(b++),b)的值是(B)。
A.2B.3C.4D.6
49.若有定义:
intr,x=245;则语句r=x/100%9;运行后r的值为(A)。
A.2B.5C.0D.27
50.若已定义:
inti=6,t;则语句t=3+(--i);运行后t的值为(C)。
A.9B.7C.8D.5
51.C语言的%运算符按运算对象的个数属(C)。
A.单目运算符B.四目运算符C.双目运算符D.三目运算符
52.若已定义:
inta=5,b=9,c=6;则语句b++;++c;a=b-c;运行后a的值为(B)。
A.5B.3C.2D.4
53.以下程序运行时,若从键盘输入5,则输出结果是(D)。
main()
{inta;
scanf("%d",&a);
if(a++>5)printf("%d\n",a);
elseprintf("%d\n",a--);
}
A.7B.4C.5D.6
54.若已定义floatx;要从键盘输入数据36.582给变量x,则应选用(B)语句。
A.scanf("%2.3f",&x);B.scanf("%6f",&x);
C.scanf("%6.3f",&x);D.scanf("%5.3f",&x);
55.若已定义doubley;拟从键盘输入一个值赋给变量y,则正确的函数调用是(C)。
A.scanf("%d",&y);B.scanf("%7.2f",&y);
C.scanf("%lf",&y);D.scanf("%ld",&y);
56.已有定义chars;使用scanf()函数输入一个字符给变量s,不正确的函数调用是(D)。
A.scanf("%c",&s);B.scanf("%d",&s);
C.scanf("%u",&s);D.scanf("%lf",&s);
57.函数putchar()的功能是向终端输出(A)。
A.一个字符B.多个字符
C.一个关系表达式D.一个实型变量值
58.若已定义inta=11;执行以下语句后的输出结果是(B)。
printf("a=%d,a=%o,a=%x\n",a,a,a);
A.a=11,a=11,a=bB.a=11,a=13,a=b
C.a=11,a=13,a=cD.a=11,a=12,a=13
59.若有定义intm=4321,n=123,k=21;语句printf("%4d+%3d+%2d",m,n,k);执行后的输出结果是(C)。
A.4321432143211231231232121B.432112321
C.4321+123+21D.432+123+021
60.已有如下定义和输入语句,
charc1,c2;intx;
scanf("%c%d%c",&c1,&x,&c2);
若要求x、c1、c2的值分别为9、'K'和'H',正确的数据输入是(A)。
A.K9HB.K9HC.K9HD.9KH
61.以下程序段的运行结果是(A)。
inta=1;
printf("%d,%d,%d\n",a,++a,a++);
A.3,3,1B.1,2,2C.1,2,3D.3,2,1
62.以下程序的运行结果是(D)。
voidmain()
{inta=65;
charc='A';
printf("%d+%c=%d\n",a,c,a+c);
}
A.A+A=AAB.65+A=65AC.65+65=130D.65+A=130
63.若已定义:
intx=7;floaty=7.0;以下语句中能输出正确值的是(B)。
A.printf("%d%d",x,y);B.printf("%d%.3f",x,y);
C.printf("%.3f%.3f",x,y);D.printf("%.3f%d",x,y);
64.putchar函数可以向终端输出一个(A)。
A.字符或字符型变量值B.整型变量表达式值
C.实型变量值D.字符串
65.若已定义:
inta=6;floatb=1.5;要求输出形式为:
6*1.50=9.00,应选用的正确输出语句是(B)。
A.printf("%d*%f=%f",a,b,a*b);B.printf("%d*%.2f=%.2f",a,b,a*b);
C.printf("%d*%d=%.2f",a,b,a*b);D.printf("%.2f*%.2f=%.2f",a,b,a*b);
66.有以下程序:
main()
{intc;
while((c=getchar())!
='\n')247c:
‘2’66
{switch(c-'2')c:
‘4’8
{case0:
c:
‘7’9
case1:
putchar(c+4);
case2:
putchar(c+4);break;
case3:
putchar(c+3);
default:
putchar(c+2);break;
}
}
printf("\n");
}
当输入:
247<回车>,程序的输出结果是(B)。
A.689B.6689C.66778D.66887
67.若已定义intx=5,y=9,z;语句z=x>=y;运行后z的值为(C)。
A.1B..t.C.0D..f.
68.判定逻辑值为“真”的最准确叙述是(D)。
A.1B.大于0的数C.非0的整数D.非0的数
69.若已定义intx=-16,y=-12,z;语句z=x<=y;运行后z的值为(B)。
A..t.B.1C..f.D.0
70.能正确表示数学关系式100≤s<300的表达式为(C)。
A.(s>=100)&(s<300)B.100<=s<300
C.(s>=100)&&(s<300)D.(s>=100)and(s<300)
71.若定义inta=2,b=3;则表达式!
a||b的值为(B)。
A.0B.1C.2D.3
72.若定义inta=-5,b=-8,c=-12;则表达式a>=b||bA.变量i的值B.变量j的值C.0D.1
73.下列表达式(C)不能用来判断整型变量x中的值是否为奇数。
A.x%2==1B.!
(x%2==0)C.!
(x%2)D.x%2
74.若有定义:
inta=3,b=2,c=3;则值为0的表达式是(C)。
A.(a-b)==(c/b)B.a>=c
C.c-b||a+b&&(b*c-a-c)D.(b*c-a-c)&&(b*c-a-b)
75.若已定义:
intx=4,y=2,z=0;则表达式(x-y<=y)||(y=z)的值是(A)。
A.1B.0C.2D.4
76.若有定义:
inta=3,b=2,c=1,k;则表达式k=a>b>c的值是(A)。
A.0B.1C.2D.3
77.以下运算符中优先级最高的是(D)。
A.<=B.&&C.||D.!
78.执行以下语句后,b的值是(A)。
inta=5,b=6,c=1,x=2,y=3,z=4;
(a=c>x)||(b=y>z);
A.0B.1C.-1D.6
79.以下程序运行后,a的值是(C)。
main()
{inta,b;
for(a=1,b=1;a<=100;a++)a=1,b=1
{1.a=1,b=1b+3=4
if(b>=20)break;2.a=2,b=4b+3=7
if(b%3==1){b+=3;continue;}3.a=3,b=7b+3=10
b-=5;4.a=4,b=10b+3=13
}5.a=5b=13b=16
}6.a=6b=16b=19
7.a=7b=19b=22
8.a=8b=22break
A.101B.100C.8D.7
80.已定义doublek=3.6;则正确的赋值表达式是(D)。
A.k=double(-3.6)B.k%3
C.k=k*(-1.0)=-3.6D.k+=k-=(k=1.2)*(k=3)
81.已定义charc='A';则正确的赋值表达式是(B)。
A.c=\028B.c=(c++)%4C.c+1=66D.c+=127--
82.已定义intm='A';则正确的表达式是(C)。
A.2*m=m++B.m=int(-3.2)C.m%3D.m=m-m=m-5
83.设已定义floata=2.0,b=3.0;使a值为5.0的表达式是(A)。
A.a+=bB.a*=b+2.0C.a/=b+2.0D.a-=b+2.0
84.若已定义intm=7;floatk=5.5;则表达式k+m%2/4的值为(D)。
A.6.375B.6.75C.5.75D.5.5
85.若已定义inta=3,b=3,x=1,y=2;表达式(a=y>x)&&(x=b>a)的值是(B)。
A.6B.1C.9D.0
a=y>xa=1x=b>a
86.若有定义:
inta=2,b=3;floatx=5;则表达式x*b/a的值是(B)。
A.7.5B.7C.6D.5
87.若有定义:
intx=8;floaty=130;charz='A';则表达式x+z%(int)y的值是(C)。
[已知'A'的ASCII码的十进制值为65]
A.运行时产生错误信息B.8C.73D.8.5
88.若已定义:
intm=7,n=4;floatx=3.0,y=8.0,k;则执行语句k=m/