C语言的简答题.doc

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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)

189****6472 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档