c)float a=1,*b=&a,*c=&b ; d)double a=0.0,b=1.1;
10、设有说明语句:char a=’\72’;则变量a(a)。
a) 包含1个字符 b) 包含2个字符 c) 包含3个字符 d) 说明不合法。
11、若变量均已正确定义并赋值,以下合法的c语言赋值语句是(a)
a)x=y==5; b)x=n%2.5; c)x+n= i ; d)x=5=4+1;
12、若变量x、y已正确定义并赋值,以下符合c语言语法的表达式是(a)
a)++x,y=x-- b)x+1=y c)x=x+10=x+y d)double(x)/10
13、若变量a、i已正确定义,且i已正确赋值,合法的语句是(b)。
a) a==1 b) +i; c) a=a++=5; d) a=int(i);
14、以下关于逻辑运算符两侧运算对象的叙述中正确的是(d)
a)只能是整数0或1 b)只能是整数0或非0的整数。
c)可以是结构体类型的数据 d)可是任意合法的表达式。
15、已知字母a的ascⅱ**值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式是( b)
a)kk>='a'&&kk<='zb)!(kk>='a'‖kk<='z')
c)(kk+32)>=a'&&kk+32)<=z' d)isalpha(kk)&&kk<91)
16、当变量c的值不为时,值也为“真”的表达式是(b)
a)(c==2)‖(c==4)‖(c==6) b)(c>=2&&c<=6)‖(c!=3)‖(c!=5)
c)(c>=2&&c<=6)&&c%2) d)(c>=2&&c<=6)&&c%2!=1)
17、有定义int x,y;并已正确给变量赋值,则以下选项中与表达式(x-y)?(x++)y++)中的条件表达式(x-y)等价的是(c)。
a)(x-y>0) b)(x-y<0) c)(x-y<║x-y>0) d)(x-y==0)
18、有如下程序段
int a=14,b=15,x;
char c=’a’;
x=(a&&b)&&c<’b’);
执行该程序段后,x的值为(d)。
a) ture b) false c) 0 d) 1
19、设有 int x=11; 则表达式 (x++ 1/3) 的值是(a)。
a) 3 b) 4 c) 11 d) 12
20、若变量已正确定义并赋值,下面符合c语言语法的表达式是 (b)。
a) a:=b+1 b) a=b=c+2 c) int 18.5%3 d) a=a+7=c+b
21、设变量已正确定义并赋值,以下正确的表达式是(c)
a) x=y*5=x+z b) int(15.8%5)
c) x=y+z+5,++y d)x=25%5.0
22、c语言中运算对象必须是整型的运算符是 (a)
a) %b)/ c) =d) 〈
23、能正确表示逻辑关系:“a≥=10或a≤0”的c语言表达式是(d)。
a) a>=10 or a<=0 b) a>=0|a<=10 c) a>=10 &&a<=0 d) a>=10‖a<=0
24、设 int x=1, y=1; 表达式(!x||y--)的值是(b)。
a) 0 b) 1 c) 2 d) -1
25、设 int b=2;表达式(b>>2)/(b>>1)的值是(a)。
a) 0 b) 2 c) 4 d) 8
26、有以下程序段
char ch; int k;
ch='a';
k=12;
printf("%c,%d,",ch,ch,k);
printf("k=%d",k);
已知字符a的ascll十进制**为97,则执行上述程序段后输出结果是(d)
a)因变量类型与格式描述符的类型不匹配输出无定值
b)输出项与格式描述符个数不符,输出为零值或不定值
c)a,97,12k=12
d)a,97,k=12
27、设有定义:int a; float b;执行scanf("%2d%f",&a,&b);语句时,若从键盘输入876 543.0《回车》,a和b的值分别是(b)。
a)876和543.000000 b)87和6.000000
c)87和543.000000 d)76和543.000000
28、若有以下程序段,
int c1=1,c2=2,c3;
c3=1.0/c2*c1;
则执行后,c3中的值是 (a)。
a) 0 b) 0.5 c) 1 d) 2
29、下列程序的输出结果是(c)。
a) 3 b) 3.2 c) 0 d) 3.07
main()
double d=3.2;
int x,y;
x=1.2;
y=(x+3.8)/5.0;
printf("%d ", d*y);
30、下列程序执行后的输出结果是(小数点后只写一位)(a)。
a) 6 6 6.000000 6.0000000 b) 6 6 6.7 6.7
c) 6 6 6.0 6.7d) 6 6 6.7 6.0
main()
double d; float f; long l; int i;
i=f=l=d=20/3;
printf("%d %ld %f %f ", i,l,f,d);
31、下列程序的运行结果是(b)。
a) a=%2,b=%5 b) a=2,b=5
c) a=d, b=d d) a=%d,b=%d
main()
int a=2,c=5;
printf("a=%d,b=%d",a,c);
32、有如下程序
main( )
int y=3,x=3,z=1;
printf(“%d %d”,(x,y++)z+2);
运行该程序的输出结果是 (d)。
a) 3 4 b) 4 2 c) 4 3 d) 3 3
33、有以下程序。
main()
int x,y,z;
x=y=1;
z=x++,y++,y;
printf("%d,%d,%d",x,y,z);
程序运行后的输出结果是(c)。
a)2,3,3 b)2,3,2 c)2,3,1 d)2,2,1
34、有以下程序。
main(){
int a=0,b=0;
a=10; /给a赋值。
b=20; 给b赋值 */
printf("a+b=%d",a+b); 输出计算结果 */
程序运行后输出结果是(a)。
a)a+b=10 b)a+b=30 c)30 d)出错。
35、有以下程序。
main(){
unsigned char a=2,b=4,c=5,d;
d=a|b;
d&=c;
printf(“%d”,d);
程序运行后的输出结果是(b)
a)3 b)4 c)5 d)6
二、程序阅读题。
1、下列程序执行后的输出结果是 g 。
main(){
int x='f';
printf("%c ",'a'+(x-'a'+1));
2、以下程序的输出结果是 0 。
main()
unsigned short a=65536; int b;
printf(“%d”,b=a);
3、若有定义:int a=10,b=9,c=8;接着顺序执行下列语句后,变量b中的值是 3 。
c=(a-=(b-5));
c=(a%11)+(b=3);
4、以下程序的输出结果是 2,1
main()
int a=1, b=2;
a=a+b; b=a-b; a=a-b;
printf(“%d,%d”, a, b );
5、以下程序输出的结果是 0 。
main()
int a=5,b=4,c=3,d;
d=(a>b>c);
printf("%d",d);
6、以下程序的输出结果是 16 。
main(){
int a=0;
a+=(a=8);
printf("%d",a);
7、以下程序的输出结果是 261 。
main()
int a=177;
printf("%o",a);
8、若有以下程序。
main()
char a;
a='h'-'a'+'0';
printf("%c",a);
执行后的输出结果是 7 。
9、以下程序运行后的输出结果是 b 。
main()
char m;
m='b'+32; printf("%c",m);
10、以下程序运行后的输出结果是 3 。
main()
int p=30;
printf("%d",(p/3>0 ? p/10 : p%3));
11、以下程序运行时若从键盘输入:10 20 30《回车》。输出结果是 10300
main()
int i=0,j=0,k=0;
scanf("%d%*d%d",&i,&j,&k);
printf("%d%d%d ",i,j,k);
12、以下程序运行后的输出结果是 10 20 0
main()
int a,b,c;
a=10;b=20;
c=(a%b<1)||a/b>1);
printf("%d %d %d ",a,b,c);
13、以下程序运行后的输出结果是 2 20.000000 。
main()
char c; int n=100;
float f=10; double x;
x=f*=n/=(c=50);
printf("%d %f",n,x);
14、已知字母a的ascii码为65。以下程序运行后的输出结果是 67 g 。
main()
char a, b;
a='a'+'5'-'3'; b=a+'6'-'2' ;
printf("%d %c", a, b);