2024年5月9日发(作者:)

一、简答题

1、C语言中进行函数声明的作用是什么?

答:函数声明的作用是:把函数的名字、函数类型及

形参类型、个数和顺序通知编译系统,以便在调用该

函数时系统按此进行对照和检查(例如,函数名是否

正确,实参的类型和个数是否一致)。

2、举例说明在C语言中如何定义符号常量,使用符

号常量的优点?

答:使用符号常量:

在程序运行过程中,其值不能被改变的量称为常量。

常量分类:整型﹑实型﹑字符﹑字符串常量。符号常

量:在C语言中允许程序中的常量定义为一个标识符,

这个标识符称为符号常量。

带有名字的常量定义格式:

#define <符号常量> <常量>

例如:#define AGE 35

#define M 1.9734067e9

优点:

1)简化书写格式、减少出错率。

2)定义符号常量可以提高程序的可读性,

便于程序的调试和修改。

3)符号常量不同于变量,在其作用域内

不能被改变和重新赋值。

4)习惯上人们把符号常量名用大写字母

表示,变量用小写,以示区别。

3、C语言中,变量为何要先定义后使用?

答:程序中使用的各种变量都应预先加以说明,即先

说明,后使用。对变量的说明可以包括三个方面:?

数据类型?存储类型?作用域

数据类型决定数据所占内存字节数,数值取值范围,

在其上可进行的操作。

对变量先定义后使用的目的是:

1)凡是未被事先定义的不做为变量名,这就能保证

程序中变量名使用得正确,便于编译时发现错误,避

免变量名使用时出错。

2)每个变量被指定一确定类型,在编译时就能为其

分配相应的存储单元。

3)指定每一个变量属于一个类型,便于在编译时据

此检查该变量所进行的运算是否合法。

4、字符串是以'0'结束的,存储一个字符串需要多少

个字节?

答:如“ABC”实际需要3+1个字节来存储这个字符

串常量。

5、C语言中,动态存储区主要存放哪些数据?

答:动态存储区中存放以下数据:

1) 函数的形参

2) 函数调用时的现场保护和地址等。

3) Auto register型局部变量

对以上数据,当进行函数调用时分配动态存储空间,

当函数调用结束时,释放这些存储单元。在程序的执

行过程中,这种分配和释放是动态的。

6、使用全局变量的优点和复作用是什么?

答:优点:是增加了函数间数据联系的渠道。

由于同一文件中的所有函数都能引用全局变量的值,

因此如果在一个函数中改变了全局变量的值,就能影

响到其他函数,相当于各个函数间有直接的传递通

道。由于函数的调用只能带回一个返回值,因此有时

可以利用全局变量增加与函数联系的渠道,从函数得

到一个以上的返回值。

1. )所有函数之前定义的全局变量可被本文件中所

有函数共用。

2. )全局变量的有效范围是它定义的位置到本源文

件结束。

3. )全局变量增加了函数之间的联系通道。

4. )全局变量与局部变量重名时,在函数内部将屏

蔽全局变量。

5. )全局变量在程序执行的全过程都占用存储单

元。

复作用:1)、过多的全局变量时函数之间的“耦合性”

增加,不利于程序的移植。

2)、过多的全局变量使程序的可读性变差。

3)、外部变量可加强函数模块之间的数据联系,但又

使这些函数依赖这些外部变量,因而使得这些函数的

独立性降低。

4)、从模块化程序设计的观点来看这是不利的,因此

不是非用不可时,建意不要使用外部变量。

建议不在必要时不要使用全局变量,因为:

① 全局变量在程序的全部执行过程中都占用存储单

元,而不是仅在需要时才开辟单元。

② 它使函数的通用性降低了,因为函数在执行时要

依赖于其所在的外部变量。

若将一个函数移到另一个文件中,还要将有关的外部

变量及其值一起移过去。但若该外部变量与其他文件

的变量同名时,就会出现问题,降低了程序的可靠性

和通用性。

如既往为您服务】

③ 使用全局变量过多,会降低程序的清晰性,人们

往往难以清楚地判断出每个瞬时各个外部变量的值。

在各个函数执行时都可能改变外部变量的值,程序容

易出错。因此,要限制使用全局变量。

7、二维数组的定义和初始化的正确形式有哪些?

答:二维数组的初始化:

1)分行初始化。如: static int

a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};

2)按数组排列的顺序将所有数据写在一个花括号内,

如:static int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};

3)部分元素初始化。如:static int

a[3][4]={{,1},{0,6},{0,0,11}};

⒋如果对全部元素都赋初值,则定义数组时可以不指

定第一维的长度,

如:

static int a[][4]={1,2,3,4,5,6,7,8,9,10,11,12};

8、wile do while两循环结构的相同点和不同点是什

么?

答:

1)while语句的一般形式为: while(表达式)语句; 其

中表达式是循环条件,语句为循环体。

while语句的语义是:计算表达式的值,当值为真(非0)

时, 执行循环体语句。

2)do-while语句的一般形式为:

do

{循环体}

while(表达式);

do-while语句的语义是:先执行循环体语句一次, 再判

别表达式的值,若为真(非0)则继续循环,否则终止循环。

do-while语句和while语句的区别在于do-while是先执行

后判断,因此do-while至少要执行一次循环体。而while

是先判断后执行,如果条件不满足,则一次循环体语句

也不执行。

while语句和do-while语句一般都可以相互转换。

【下载本文档,可以自由复制内容

或自由编辑修改内容,更多精彩文

章,期待你的好评和关注,我将一

精品文档交流

2