C语言试题解答

有下列试题
1 以下选项中正确的整形常量是()
A 15. B -70 C 6,000 D 1010B
2 下列定义变量的语句中错误的是()
A int_int; B double int_;C char For;D float US$;
3 若变量x,y已正确定义并赋值,以下符合C语言语法的表达式是() A ++x,y=x-- B x+1=y C x=x+10=x+y D double(x)/10
4 有以下程序
main ()
{ int a=0,b=0;
a=10;
b=20;
printf("a+b=%d\n",a+b);
}
运行结果是()
A a+b=10 B A+B=30 C 30 D 出错
5 以下能正确定义且赋初值的语句是 ()
A int n1=n2=10; B char c=32;
C float f=f+1.1; D double x=12.3e2.5;
6 设有定义 int k=1,m=2;float f=7;则以下选项中错误的表达式()
A k=k>=k B -k++ C k%int(f) D k>=f>=m

7 以下为非法的赋值语句是()
A n=(i=2,++i); B J++; C ++(i+1); D x=j>0;

希望各位能给出必要的解析,谢谢
答案上 1 B 2 D 5 B A为什么不对啊
++(i+1);为什么是常量啊

1、选择B。 15.后边不能有"," 6,000中间不能有",", 1010B是二进制数,一般没人这么写。
2、选择A。变量命必须是字符、数字、下划线的组合,并且必须要字母、下划线开头。A中的int和_int连在一起写了,应该分开。
3、选择A。注意赋值语句的左边必须是变量。D的强制类型转换的"()"必须用在类型上,正确的应该是(double)x/10
4、选择D。其他的没有正解。
5、选择B。C中f还没有初始值,是不能参加计算的。
D赋值常量没有这么写的。
6、选择D。条件判断不能像数学那样连写,应该分开,比如:k>=f && f>=m
7、选择C。常量不能进行自加自减操作。
---------------------------------------------
>>1 B 2 D 5 B A为什么不对啊
1、选择B没有问题,上边已经给你分析原因了。
2、选择A也没有问题,我觉得答案给错完了,你在编译器器上试一下不就知道了吗。
5、选择B、因为n1=n2;这条语句必须要在n2有初值的条件下才成立。

>>++(i+1);为什么是常量啊
因为i加1了,所以i+1这个值是常量,常量是不能在进行++、--操作的。
如果直接是i++、++i那就没有问题了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-01-15
1a 2a 3a 4d 5b 6c 7c
第2个回答  2010-01-15
1a
2a
3a
4d
5b
6d
7c
第3个回答  2010-01-15
1.B
2.A
3.A
4.D
5.B
6.D
7.C
相似回答