- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE 1
一、简答题
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语言中,动态存储区主要存放哪些数据?
答:动态存储区中存放以下数据:
函数的形参
函数调用时的现场保护和地址等。
Auto register型局部变量
对以上数据,当进行函数调用时分配动态存储空间,当函数调用结束时,释放这些存储单元。在程序的执行过程中,这种分配和释放是动态的。
6、使用全局变量的优点和复作用是什么?
答:优点:是增加了函数间数据联系的渠道。
由于同一文件中的所有函数都能引用全局变量的值,因此如果在一个函数中改变了全局变量的值,就能影响到其他函数,相当于各个函数间有直接的传递通道。由于函数的调用只能带回一个返回值,因此有时可以利用全局变量增加与函数联系的渠道,从函数得到一个以上的返回值。
)所有函数之前定义的全局变量可被本文件中所有函数共用。
)全局变量的有效范围是它定义的位置到本源文件结束。
)全局变量增加了函数之间的联系通道。
)全局变量与局部变量重名时,在函数内部将屏蔽全局变量。
)全局变量在程序执行的全过程都占用存储单元。
复作用: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(表达式)语句; 其
文档评论(0)