2018年9月计算机二级C语言考试章节习题及答案(9)
第2章 C程序设计的初步知识
2.6 赋值表达式
1 [单选题] 以下能正确定义且赋初值的语句是( )。
A.int n1=n2=10;
B.char c=32;
C.float f=f+1.1;
D.double x=12.3E2.5;
收藏本题
参考答案:B
2 [单选题] 有以下程序
main( )
{ unsigned char a,b;
a=4|3;
b=4&3;
printf(“%d %d\n”,a,b(;
}
执行后输出结果是( )
A.7 0
B.0 7
C.1 1
D.43 0
参考答案:A
3 [单选题] 以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是( )
A.char s[10]=”abcdefg”;
B.char t[]=”abcdefg”,*s=t;
C.char s[10];s=”abcdefg”;
D.char s[10];strcpy(s,”abcdefg”);
参考答案:C
4 [单选题] 有以下定义语句
double a,b; int w; long c;
若各变量已正确赋值,则下列选项中正确的表达式是( )
A.a=a+b=b++
B.w%(int)a+b
C.(c+w)%(int)a
D.w=a==b;
收藏本题
参考答案:C
5 [单选题] 以下选项中非法的表达式是( )
A.0<=x<100
B.i=j==0
C.(char)(65+3)
D.x+1=x+1
参考答案:D
6 [单选题] 有以下程序
main()
{ char *s[]={"one","two","three"},*p;
p=s[1];
printf("%c,%s\n",*(p+1),s[0]);
}
执行后输出结果是( )
A.n,two
B.t,one
C.w,one
D.o,two
参考答案:C
7 [单选题] 已知字母A的ASCIl代码值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式是
A.kk>='A'&&kk<='Z'
B.!(kk>='A'||kk<='Z')
C.(kk+32)>='a'&&(kk+32)<='z'
D.isalpha(kk)&&(kk<91)
参考答案:B
8 [单选题]
?
参考答案:D
参考解析:
C语言中*和/处于同一优先级中,且按由左向右结合顺序,由此判断本题D选项不符合。
收起笔记 9 [单选题] 若有定义语句:int a=3,b=2,c=1;,以下选项中错误的赋值表达式是( )。
A.a_(b=4)=3;
B.a=b=c+1;
C.a=(b=4)+c;
D.a=1+(b=c=4):
收藏本题
参考答案:A
参考解析:
这道题目主要考察赋值表达式,对于赋值表达式来说,赋值号“=”的左边一定为变量名,右边为一个C语言合法的表达式。
10 [单选题] 若有定义语句:intk1=10,k2=20;,执行表达式(k1=k1>k2)&&(k2=k2>k1)后,k1和k2的值分别为( )。
A.0和1
B.0和20
C.10和1
D.10和20
收藏本题
参考答案:B
参考解析:
由于k1等于10,k2等于20,所以关系表达式k1>k2的值为假,即等于0,所以在执行逻辑表达式(k1=k1>k2)&&(k2=k=2>k1)的第一个赋值表达式k1=k1>k2执行后,k1的值等于0。又因为在逻辑与表达式中只要第表达式的值为假时,整个逻辑表达式的值就为假,第二表达式不执行,k2值不改变。
11 [单选题] 下列关系表达式中,结果为“假”的是
A.(3+4)>6
B.(3!=4)>2
C.3<=4||3
D.(3<4)==1
参考答案:B
参考解析:
由于3!=4 的结果为1,而1>2 的结果为假。
12 [单选题] 有以下程序
#include
main()
{
char a='H';
a=(a>='A'&&a<='Z')?(a-'A'+'a'):a;
printf("%c\n",a);
}
程序运行后的输出结果是
A.A
B.a
C.H
D.h
参考答案:D
参考解析:
由于a 的值为'H',符合(a>='A'&&a<='Z'),所以条件表达式的值等于(