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 选项正确。