当前位置:问答库>考研试题

2016年常州大学数理学院程序设计与C语言(包括上机)之C程序设计复试笔试仿真模拟题

  摘要

一、选择题

1. 有以下程序:

程序运行后的输出结果是( )。

A.0

B.1

C.4

D.8

答:C

【解析】对局部静态变量在编译时赋初值,以后每次调用函数时一直保持不变,只是保留上次函数调用结束 时的值。在主函数中调用了两次fim0函数,所以x 的值变为

2. 有以下程序:

程序运行后的输出结果是。

A.ABCDEF

B.AbCdEf

C.aBcDeF

D.abcdef

第 2 页,共 33 页

答:B

【解析】本题中,当i 为偶数时,即0、2、4, 执行会依次输出ACE ; 当i 为奇数时,即1、3、5,执行putchar (i+b)会依次输出bdf ,所以最终输出AbCdEf 。

3. 有以下程序;

程序运行后的输出结果是( )。

A.8

B.9

C.5

D.6

答:A

,替换过程是,用宏调用提供的实参字符串,【解析】带参数的宏的调用格式:宏名(实参表)

MUN 被置换成X2+1/2;直接置换宏定义命令行中相应形参字符串,非形参字符保持不变。(2+1+1)

程序的运行结果是6,故D 选项正确。

4. 设有定义:char *c; 以下选项中能够使字符型指针c 正确指向一个字符串的是( )。

答:A

【解析】B 项中

字符型变量,

D 项是在指针定义时为它赋值,否则是不合法的,所以BCD 三项都不正确。A 项定义字符数组再将字符数组str 的首地址赋给字符型指针c ,正确。

5. 以下选项中叙述正确的是( )。

A. 函数体必须由{开始

B.C 程序必须由main 语句开始

C.C 程序中的注释可以嵌套

D.C 程序中的注释必须在一行完成

答:A

【解析】函数体是函数首部下面的花括号内的部分,所以函数体必须由{开始,A 选项正确。

第 3 页,共 33 页 函数是将c 定义为一个字符数组的数组名,C 项中是将c 定义为一个

一个源程序文件可以包括预处理命令、全局声明、函数定义,程序总是从main 函数开始执行的,不是main 语句,B 选项错误。C 程序中允许两种注释,以//开头的单行注释;以/*开始,以*/结束的块式注释,D 选项错误。函数可以嵌套,注释不能嵌套,C 选项错误。

6. 若有函数声明

:以下叙述正确的是( )。

A. 函数参数array ,ptr 都是指针变量

B. 函数参数array 不是指针变量,ptr 是指针变量

C. 调用函数时,实参数组的值将一一复制给array 数组

D. 调用函数时,array 是按值传送,ptr 是按地址传送

答:A

【解析】数组名为数组的首地址,也是指向数组的指针,所以array 和ptr 都是指针,A 项正确,B 项错误。调用函数时,将实参数组首地址赋给指针array , 而不是传递整个数组元素,C 项错误。调用函数时,ar-ray 与ptr 都是按地址传送的,D 项错误。

7. 以下函数的功能是计算a 的n 次方作为函数值返回:

为实现上述功能,函数中下画线处应填入的是( )。

A.

B.

C.

D.

答:B

【解析】for 循环语句,i=l时,

,最后返回s 。

8. 以下程序中给数组所有元素输入数据,请从选项中选择正确的答案填入下划线处。

A.

B.

C.

D.

答:A

【解析】A 选项a 为数组首地址,i++先取i 值再加1,scanf 读入的数据依次存放在数组中,

第 4 页,共 33 页