C语言程序设计-电气-桂林电子科技大学

C语言程序设计-电气-桂林电子科技大学

开课学校:桂林电子科技大学授课老师:刘华东中国大学MOOC

第10周 变量的作用域及编译预处理

1、【不定项选择题】以下叙述不正确的是()。

A. 全局变量可以由系统自动初始化
B. 在程序运行期间,全局变量所占存储单元的值永久保留
C. 当局部变量与全局变量重名时,全局变量起作用
D. 全局变量存放在静态存储区

参考答案: 请先登录

2、【单选题】以下对静态局部变量的叙述,不正确的是()。

A. 在一个函数中定义的静态局部变量可以被另一函数调用
B. 数值型静态局部变量的初值默认为0
C. 静态局部变量是在编译时赋初值的,故它只被赋值一次
D. 静态局部变量在整个程序运行期间都不释放

参考答案: 请先登录

3、【单选题】C编译系统对程序中的宏展开是在()。

A. 编辑时进行的
B. 编译时进行的
C. 程序执行时进行的
D. 编译前预处理时进行的

参考答案: 请先登录

4、【单选题】C编译系统对文件包含命令#include "file.h"的处理通常是在()。

A. 编译处理之前
B. 编译处理过程之中
C. 程序连接时
D. 程序执行的开始

参考答案: 请先登录

5、【不定项选择题】下列说法错误的是()。

A. 变量的作用域是指变量的作用范围,即在程序中可以被读写访问的区域,它取决于变量被定义的位置。
B. 局部变量与全局变量同名时,全局变量隐藏局部变量,即全局变量起作用,局部变量不起作用。
C. 形参也是局部变量,形参变量和实参变量的作用域是不同的,因此形参变量和实参变量同名时,二者互不干扰。
D. 只要同名的变量出现在不同的作用域内,二者互不干扰,编译器有能力区分不同作用域中的同名变量

参考答案: 请先登录

6、【填空题】预处理命令行都必须以()号开始.

参考答案: 请先登录

7、【问答题】在定义函数时,如果在函数名字前面加上关键字_______或省略该关键字,则函数属于外部函数。

参考答案: 请先登录

8、【问答题】下列程序的运行结果:_______。 #define MOD(x,y) x%y int main() { int z,a=15,b=100; z=MOD(b,a); printf("%d\n",++z); return 0; }

参考答案: 请先登录

9、【问答题】如果希望变量在函数调用结束后仍然保留其值,则可以将变量定义为局部静态变量,定义方式为在类型说明符前加上_______关键字。

参考答案: 请先登录

10、【单选题】如果在一个函数中的复合语句中定义了一个变量,以下正确的说法是( )。

A. 该变量只在该复合语句中有效
B. 该变量在该函数中有效
C. 该变量在本程序范围内均有效
D. 该变量在主函数中有效

参考答案: 请先登录