内容发布更新时间 : 2024/11/16 21:31:22星期一 下面是文章的全部内容请认真阅读。
第一题、单项选择题(每题1分,5道题共5分) 1、从下列选项中选择不会引起二义性的宏定义是:
A、#define C(x) x*x C、#define C(x) (x*x)
B、#define C(x) (x)*(x) D、#define C(x) ((x)*(x))
2、有定义char p[]=\,能输出字符串”ABCDE”的语句为:
B、printf(\%s%s%s\p+6);
C、printf(\%s%s%s\[2],&p[3]);
A、printf(\%s\
D、printf(\%s\
3、若有int f(int a,int b);,则说明函数f( )。
B、能被同一源程序其他文件中的函数调用
C、是一个外部函数
A、是一个内部函数
D、只能在本文件中使用
4、声明一个函数为外部函数,应该在声明函数的函数类型的前面加( )。
A、auto C、extern
B、static D、register
5、以下对C语言函数的有关描述中,正确的描述是( )。
A、C函数既可以嵌套定义又可以递归调用
B、函数必须有返回值,否则不能使用函数
D、在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参
C、C程序中有调用关系的所有函数必须放在同一个源程序文件中
第二题、多项选择题(每题2分,5道题共10分) 1、以下叙述中,正确的叙述是:
A、预处理命令须以#开始
B、在程序中凡以#开始的语句都是预处理命令 C、预处理行不是c的可编译语句
D、C程序在执行过程中对预处理命令进行处理
2、下列对宏定义的描述中,正确的描述是:
A、宏不存在类型问题,宏名无类型,参数也无类型 B、宏替换不占用运行时间
C、宏替换是先求出实参表达式的值,然后带入形参运算求值 D、宏替换只不过是字符替代而已
3、下列对宏定义的描述中,正确的描述是:
A、宏不存在类型问题,宏名无类型,参数也无类型 B、宏替换不占用运行时间
C、宏替换是先求出实参表达式的值,然后带入形参运算求值 D、宏替换只不过是字符替代而已
4、以下叙述中,正确的叙述是:
A、预处理命令必须在程序编译前进行处理 B、在程序中凡以#开始的语句都是预处理命令 C、C程序在执行过程中对预处理命令进行处理 D、预处理行在编译阶段进行处理
5、函数中的形参若为指针,则调用时对应位置上的实参可以是( )。
A、地址 B、数组名 C、简单变量的地址 D、指针变量
第三题、判断题(每题1分,5道题共5分)
1、设int x=5,*p=&x;则&(*p)与p是同一回事。
正确
错误
2、若有int a[10],*p=a;,则p++可以使p指向下一个字节。
正确
错误
3、可以利用全局变量从函数中得到多个返回值。
正确 错误 4、若形参是简单变量形式,则对应的实参不能是数组名。 正确 错误 5、C函数可以递归调用。 正确 错误 恭喜,交卷操作成功完成!你本次进行的《C语言程序设计》第17章在线测试的得分为 20分(满分20分),本次成绩已入库。若对成绩不满意,可重新再测,取最高分。
测试结果如下:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
1.1 [单选] [对] 从下列选项中选择不会引起二义性的宏定义是:
1.2 [单选] [对] 有定义char p[]=\,能输出字符串”ABCDE”的语句为:
1.3 [单选] [对] 若有int f(int a,int b);,则说明函数f( )。
1.4 [单选] [对] 声明一个函数为外部函数,应该在声明函数的函数类型的前面加( )。
1.5 [单选] [对] 以下对C语言函数的有关描述中,正确的描述是( )。 2.1 [多选] [对] 以下叙述中,正确的叙述是:
2.2 [多选] [对] 下列对宏定义的描述中,正确的描述是: 2.3 [多选] [对] 下列对宏定义的描述中,正确的描述是: 2.4 [多选] [对] 以下叙述中,正确的叙述是:
2.5 [多选] [对] 函数中的形参若为指针,则调用时对应位置上的实参可以是( )。
3.1 [判断] [对] 设int x=5,*p=&x;则&(*p)与p是同一回事。
3.2 [判断] [对] 若有int a[10],*p=a;,则p++可以使p指向下一个字节。 3.3 [判断] [对] 可以利用全局变量从函数中得到多个返回值。
3.4 [判断] [对] 若形参是简单变量形式,则对应的实参不能是数组名。 3.5 [判断] [对] C函数可以递归调用。