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

2017年南京大学2703C语言(笔试与上机考试)考研复试核心题库

  摘要

一、选择题

1. 有以下程序

则以下函数调用语句错误的是( )。 A. B. C. D. 【答案】A 【解析】返回值是int ;

声明了一个函数指针,它可以指向一个函数,该函数的形参是两个int ,是把函数add 的地址赋给指针f ; 函数指针的调用有两种方式,

出现编译错误。

错误,已经表示调用函数add , 返回15,

2. 有以下程序:

程序运行后的输出结果是( )。 A.1, 2 B.4, 1 C.3, 4 D.2, 3 【答案】D

【解析】题目中定义了一个包含两个整型元素的结构体数组,其

指针p 指向结构体数组的第1个元素,那么

的值为2, 所以输出的结果为2, 3。

第 2 页,共 25 页

的值为

3. 设有chars[5],c ;, 则调用函数scanf 能正确给s 和c 读入数据的是( )。

A. B. C. D. 【答案】D

【解析】

中放的是字符串,故输入的类型应该是

c 中放的是字符,故输入的是

正确读入数据必须要正确指向S 和C 的地址。

4. 以下叙述正确的是( )。

A.C 语言函数可以嵌套调用,例如B.C 语言程序是由过程和函数组成的 C.C 语言函数不可以单独编译

D.C 语言中除了 main 函数,其他函数不可作为单独文件形式存在 【答案】A

【解析】C 语言函数不能嵌套定义,可以嵌套调用,A 项正确;C 语言程序没有过程,B 项错误;C 语言函 数可以单独编译,C 项错误;函数可以作为单独文件存在,D 项错误。

5. 有以下程序:

程序的运行结果是( )。

【答案】C

【解析】调用f 函数时,将结构体数组名作为实参传给了形参指针,使结构体指针a 指向了结构体C 的首地址。因此,在f 函数中,对指针所指结构体中的成员的赋值就是对数组c 中元素的赋值,故返回主函数之后,数组c

第 3 页,共 25 页

成员的值已被更新,

最终输出结果为

6. 设有以下程序段:inty :

y=rand( )%30+1; 则变量y 的取值范围是( )。 A.0≤y ≤30 B.0

【解析】本题考点为“%”求余符号。rand ( )产生随机整数,任何整数对30求余得到的整数范围为0〜29,则y 的取值范围为

7. 有以下程序:

则以下叙述正确的是( )。 A. 在main 函数中声明了 findmax 函数 B. 在main 函数中定义了 findmax 函数 C. 在main 函数中两次调用了 findmax 函数 D. 在main 函数内、外重复定义了 findmax 函数 【答案】A

【解析】程序编译是从上到下进行的,所以如果函数定义放在主函数之后,那么在函数调用时必须提前声明函数,可以在主函数之前声明函数,也可以在主函数中函数调用之前声明函数。题目中函数findmax 定义放在了函数之后,所以主函数中声明了 findma 函数

为函数声明

为函数调用

为函数定义。A 选项正确。B 选项是在main 函数外定义的findmax

函数,错误。在main 函数中,出现了一次findmax 函数的声明和一次findmax 函数的调用,不是两次调用,C 选项错误。D 选项在main 函数内不是定义findmax 函数而是声明findmax 函数。

8. 有以下程序:

第 4 页,共 25 页

或者说故B 选项正确。