几道C语言二级考试题,求详解

来源:百度知道 编辑:UC知道 时间:2024/05/21 19:39:38
注意:每道题都要有详细解释,纯答案的不要

1.有如下定义:
char *aa[2]={"abcd","ABCD"};问正确的是:
A aa数组的两个元素分别存放的是含有4个字符的一位字符数组的首地址
B aa数组的两个元素中各自存放了字符'a'与'A'的地址

2.程序流程图中带有箭头的线段表示的是
A 图元关系 B 数据流 C控制流 D调用关系
注:请问什么是程序流程图?请给出一个例子

3.算法的有穷性是指
A 算法程序的运行时间是有限的
B 算法程序所处理的数据量是有限的
C算法程序的长度是有限的
D算法只能被有限用户使用

4.下列叙述正确的是
A C程序书写格式自由,一个语句可以写在多行上(如选A,请举个例子)
B 用C语言编写的程序只能放在一个程序文件中

5. 以下叙述错误的是
A 在程序中凡是以#开始的语句行都是预处理命令行
B 预处理命令行的最后不能以分号表示结束
C #define MAX 是合法的宏定义命令行
D C程序对预处理命令行的处理是在程序执行的过程中进行的

1A 因为显然存放字符串的是数组,一个数组元素存放一个数组,只能是字符串首地址。
2C,箭头控制方向
3A,那必然,死循环肯定无穷
4A
for(;;)
{ }
5A include<>

1.a
2.b
3.a
4.a
5,d
答案白分白正确,第一道:数组存放第一个数的首地址,*aa表示指针,指向首地址,也就是说*aa[2],每个元素存放一个数组的指针,每个数组了含有4个字符。
第二道:教科书上有,二级考试题必考题,程序代码用图表示出来。
第三道:略。只要理解就可以
第四道:在二级考试题中如出现只能这个词,一定是错的,一个语句可以写在多行上,如:A=1赋值语句可些在多行上
第五题:C程序对预处理命令行的处理不是在程序执行的过程中进行的#include是头文件,主要起到引用作用。

1、应该选a吧,不是很确定
2、流程图这里可画不出来,你百度一下就知道了,选c吧这个
3、有穷性指算法的步骤有限,应该选a吧,时间有限了证明步骤有限吧
4、选a,b纯粹瞎扯,比如:a = b; c = d; printf( ... );
5、不清楚,选d,嘿嘿