第一题:选A,解释:不能直接执行,必须通过编译器将C语言程序“翻译”为机器语言后,才可以被计算机执行。
第二题:选D,解释:1 c语言具有语法简洁的特点,相信用过其他语言的人都知道
2 运算符丰富,夺得我有时后都分不清
3 数据结构类型丰富
4 结构化,就是想一小块一小块的程序,这样写起来容易
5 语法要求不严格,这样的话相对容易一些,但有时喉也不爽,有错的时候不知道语言的语法错了
6 功能强大,现在诸如nuix这样 的操作系统就是用c 语言写的
第三题:C,解释:C语言是有函数组成的。宏定义:宏定义是高级语言编译器提供的常用语法,其目的是利用某一标识符标识某个文本字符串。在编写程序时,如果程序中反复地使用某个数据或某段程序片段,就可以考虑将这个数据或程序片段定义为宏,然后每个出现该数据或程序片段的地方用宏名替代,这样做的好处是程序简洁,可读性好,而且当需要修改这些相同的程序片段时,只要修改宏定义中的字符串即可,不需要修改多处。
第四题:选B,解释:通常一个算法必须具备一下五部分,1,有穷性。2.确定性。3.有效性。4.有一个或多个输出。5.有一个或多个输入。
第五题:选A,解释:这个不予解释。
第六题:选B,C语言程序中无论变量还是常量必须具有数据类型且可以输出。
第七题:选A,C语言中的变量必须先定义后使用,不然编译器不能识别。
第八题:就这么多吧,没时间回答了。
呵呵,前面八道已经有人帮你答了,我来帮你说说后面的那些吧~~~
42.d 给你个公式吧,两个*或者&相互抵消,和原来的变量等价,题中*p=&j,给他再加个*可得
**p=*&j=j,正是d选项,其他的代进去即可,就不多解释了
41.b 表达式10!=9,显然为真,C语言中非零即为真值
40.b 按照宏定义的格式代进去,即表达式为a/=k+m*k+m/k+m*k+m,按照优先级,先算右边, k+m*k+m/k+m*k+m 2+1*2+1/2+1*2+1结果为7,再算左边10/=7,结果便为1,这里注意一下,如果宏定义中改变,结果就截然不同了~~~
39.d strcat(p1+2,p2+1)将p2+1后面的字符串连接到p1+2后面的字符串后面,即cdBCD,再将
其复制到str数组的第三个元素内,但前面的两个元素要保留,结果变为d
28.因为没有题目,所以答案我也不清楚,等你补充完题目后我再帮你答吧
27.c aa是指针数组,它包含了两个字符数组的指针元素组成,注意,如果定义改成char (*p)[2],
那答案就是b,注意两种定义方式的不同
26.b 当数组以那种方式赋值,第一个索引值行号可以省略,基础题,不多解释了
25.c 循环输出x[0][2],x[1][1],x[2][0],相当于输出矩阵的斜对角线,对应于矩阵的3.5.7
24.d 考察逗号运算符,结果为逗号右边表达式的值,即x/y,结果为3
23.d 明显错误,可以通过“=”对字符数组整体赋值,例如 char c[]={''china"};
17.无答案~~~~因为题目中没有定义x也没有告诉a的初值,请确定是否缺少初始条件
8.d Ok,终于答完了,如果还有什么不懂得话可以百度hi我,打字累啊,希望可以帮到你~~~
1A,2A,3C,4B,5A,6B,7A,8D,17B,23A,24D,25C,26D,27D,28?,39D,40A,41D,42B
初学者,抱学习的态度来解答,算是抛砖引玉。不对请指正。
1.a 2.d 3.a 4.b 5.a 6.c 7.a
23. a 24. d 25.c 26. b 27. c
39. ? 40.b 41 d 42.b
1-8 :d d a b a b a d
17 :c
23-27:c a c d c d
39-42: b c c d
如果行就给分吧