C语言题目,基本知识的

来源:百度知道 编辑:UC知道 时间:2024/04/29 05:19:25
1.对if语句中表达式的类型,下面正确的描述是 ?
A,必须是关系表达式 B) 必须是关系表达式或逻辑表达式
C) 必须是关系表达式或算术表达式 D) 可以是任意表达式
2.对于条件表达式(k)?(i++):(i--)来说,其中的表达式k等价于 。
A) k==0 B) k==1 C) k!=0 D) k!=1
3.设char ch=’A’;表达式ch = !(ch>=’A’&&ch<=’Z’) ? ch : (ch+32)的值是。
A.’A’ B. ‘a’ C. ‘Z’ D. ‘z’
4.若a、b、c均为int型变量,则执行以下语句后,a值为 (1) ,b值为 (2) 。a=b=c=1;++a||++b&&++c;
(1) ① 不正确 ② 0 ③ 2 ④ 1
(2) ① 1 ② 2 ③ 不正确 ④ 0
以下程序运行结果是?
1. void main(){
int sum=0,n=1;
while(n<=5){
sum+=n;
n++;
}
printf(“sum=%d”,sum);
}

1.D
C语言中if语句的表达式可以是任意类型,只要表达式的值非0就算作真,是0就作为假。
本题正确答案为D.

2.C
因为条件表达式(k)?(i++):(i--)的含义是k为真时,取表达式i++的值,否则取表达式i--的值,"为真"的意思就是不等于0.
本题正确答案为C.

3.B
ch=’A’,所以ch = !(ch>=’A’&&ch<=’Z’)为假,运行ch+32

4.③①
这个比较简单,就不说了

以下程序运行结果是:
sum=15

其实就是求sum=1+2+3+4+5的值

1.D 2.B 3.B 4.③①
5.sum=15

第二题应该选C,同意二楼看法
第四题也同意以上答案,但我觉得有必要解释一下:
式子 ++a||++b&&++c; 其中++b是不执行的。因为双目运算符||两边
只要一个表达式为真,该逻辑表达式就为真。由于++a是2,为真,无论
++b是否为真,该逻辑表达式都为真,系统就不去判断++b是否为真了,++b
也就不执行,b仍为原值1
其他题答案同意楼上

d,c,b, 选3,选1
15