暨南大学 C语言程序设计,2016年暨南大学信息科学技术学院C语言程序设计复试笔试仿真模拟题...

一、选择题

1. 以下关于宏的叙述错误的是( )。

A. 宏替换不具有计算功能 B. 宏是一种预处理指令 C. 宏名必须用大写字母构成 D. 宏替换不占用运行时间 答:C

【解析】宏名习惯采用大写字母,以便与一般变量区别,但是并没有规定一定要用大写字母,因此,答案为C 选项。

2. 有如下程序:

程序运行后的输出结果是( )。 A.59 B.73 C.115 D.72 答:A

【解析】整型常量有3种,①十进制整常量,没有前缀,输出格式控制符为%d ; ②八进制整常量,以0作为前缀,输出格式控制符为%〇; ③十六进制整常量,以故A 项正确。

3. 设有以下函数:

则下面对函数指针的定义和赋值均是正确的是( )。

A. B. C. D. 答:D

【解析】函数指针的一般定义形式为:数据类型(*指针变量名)( )。定义函数指针时,

第 2 页,共 32 页

作为前缀,输出

格式控制符为%x 。八进制数072表示成十进制数为58,即x=072=58,以十进制格式输出x+l=59,

对应的类型名以及 返回值类型都要和对应函数的参数列表以及返回值类型一致。在给函数指针赋值时,可以直接将函数名赋值给对 应的函数指针,也可以将函数名取地址后在赋值给对应的函数指针。ABC 三项中函数指针的定义均是错误的, 参数列表和fun 函数的参数列表不一致。

4. 有以下程序

执行后的输出结果是( )。 A.5, 11 B.5, 5 C.11, 11 D.11, 5 答:A

【解析】fun 函数中m 和i 是静态变量,退出函数以后,下次再进入该函数时,m 和i 仍然保持上一次的数 值。第一次调用

返回11。

5. 有如下程序:

程序运行时,从键盘输入2,输出结果是( )。 A.ykpf B.wind C.xjoe D.2222

第 3 页,共 32 页

时,返回5; 第二次调用时

答:A

【解析】程序执行过程为:定义字符数组str 并且初始化为:“wind”,定义password 并通过scanf 函数从 键盘为其赋值2。定义指针p 并使其指向字符串。通过while 循环,将字符数组中每一个字符的码加2, 并且按字符格式输出每一个字符。程序运行后输出结果是:ykpf 。

6. 以下针对全局变量的叙述错误的是( )。

A. 全局变量的作用域是从定义位置开始至源文件结束 B. 全局变量是在函数外部任意位置上定义的变量 C. 用extern 说明符可以限制全局变量的作用域 D. 全局变量的生存期贯穿于整个程序的运行期间 答:C

【解析】在不同编译单位内用extern 说明符来扩展全局变量的作用域,extern 可以将全局变量作用域扩展到 其他文件,而不是限制全局变量的作用域,答案为C 选项。

7. 以下关于宏的叙述中正确的是( )。

A. 宏名必须用大写字母表示

B. 宏定义必须位于源程序中所有语句之间 C. 宏替换没有数据类型限制 D. 宏调用比函数调用耗费时间 答:C

【解析】A 项错误,用作宏名的标识符通常习惯用大写字母表示,宏名可以是任何合法的C 语言标识符;B 项错误,在语言中,宏定义可以根据需要写在任何位置:D 项错误,宏调用是在编译前由编译预处理程序完成的,不占运行的时间。

8. 若有定义:

则以下不能正确表示该数组元素的表达式是( )。

A. B. C. D. 答:A 【

a

A 项,C 语言中规

定,方括号的优先级高于相当于是项,

第 4 页,共 32 页

B 项,是不能表示数组元素。

C 项

是元素

的地址,

D

的地址,

表示数组元素

是元素

的地址,

的地址,

表示数组元素的地址,表示数组元素

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值