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

2017年郑州轻工业学院C语言程序设计考研复试核心题库

  摘要

一、选择题

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

A. 文件指针是指针类型的变量 B. 文件指针可同时指向不同文件

C. 文件指针的值是文件在计算机磁盘中的路径信息 D. 调用fscanf 函数可以向文本文件中写入任意字符 【答案】A

【解析】文件指针,是指向一个结构体类型的指针变量,这个结构体中包含有文件的一些信息,如缓冲区的地址,在缓冲区中当前存取的字符的位置,对文件是“读”还是“写”,是否出错,是否已经遇到文件结束标志等信息。文件指针本身是指针类型的变量,A 项正确。一个指针在同一时间只能指向一个文件,B 项错误。文件指针是指针类型变量,存储的是文件缓存区首地址,而不是文件在计算机磁盘中的路径信息,C 项错误。fscanf 函数从文本文件中按格式读入到程序中,而不是向文本文件中写入数据,D 项错误。

2. 若有定义inta=l,b=2,c=3;II ,则执行表达式(a=b+c)(++b)后a 、b 、c 的值依次为( )。

A.1、2、3 B.5、3、2 C.5、2、3 D.5、3、3 【答案】C

【解析】根据优先级规则,晒边都是括号,则从左至右执行括号中的表达式,将b+c的值赋值给a ,即a 为5, 不为0, 则II 右边的括号不需要再执行。

3. 有以下程序:

程序的运行结果是( )。

A. B. C. D.

即输出

【答案】B

【解析】调用函数fun ,输出的是

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

A. 在C 语言程序中,main 函数必须放在其他函数的最前面 B. 每个后缀为.C 的C 语言源程序都可以单独进行编译 C. 在C 语言程序中,只有main 函数才可以单独进行编译 D. 每个后缀为.C 的C 语言源程序都应该包含一个main 函数 【答案】B

main 是主函数的起始行,【解析】每一个可执行的C 程序都必须有一个且只能有一个主函数。后缀名为.C 的C 语言源程序都可以单独进行编译。

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

A. 简单递归不需要明确的结束递归的条件 B. 任何情况下都不能用函数名作为实参

C. 函数的递归调用不需要额外开销,所以效率很高 D. 函数既可以直接调用自己,也可以间接调用自己 【答案】D

【解析】D 项正确,C 语言中的函数可以递归调用,S 卩:可以直接或间接地自己调用自己。前者称简单递归, 后者称间接递归。A 项错误,递归必定要有一个明确的结束递归的条件;B 项错误,递归就是把函数名作为实参 的一种特殊情况;C 项错误,函数的递归调用过程中,系统要为每一层调用中的变量开辟存储单元,要记住每一层调用后的返回点,要增加许多额外的开销,通常会降低程序的运行效率。

6. 有以下函数:

函数的功能是( )。 A. 查找x 和y 所指字符串中是否有

B.x 、y 所指字符串最前面连续相同的字符个数 C. 将y 所指字符串赋值给x 所指存储空间 D. 统计x 和y 所指字符串中相同的字符个数

【答案】B

【解析】由程序可知,定义语句中的x 和y 是用户标识符,在每个变量前的是一个说明符,循环执行只有在x 和y 所指字符串中最前面连续相同,并统计其个数,一旦不满足,则终止循环而返回相同个数II 。

7. 有以下程序:

程序运行后的输出结果是( )。 A.5 B.7 C.12 D.14

【答案】A

【解析】在存储字符串常量时,

由系统在字符串的末尾自动加一个strcpy 函数将“China”复制给字符数组s ,标志。其在数组位置内存存储情况为函数统计字符串长度时,遇到结束,s 数组长度为5。

8. 以下选项中错误的是( )。

A. B. C. D.

【答案】D 【解析】D 项,误,

表示a 不等于b 时,运算结果为1,或者为0; 而

^是一种语法错

是非运算,且是单目运算符,只要求有一个操作数,故两者不等价。

作为字符串的结束

strlen 。

二、设计题

9. 函数fun 的功能是:将8所指字符串中除了下标为奇数、同时ASCII 值也为奇数的字符之外,其余的所 有字符都删除,串中剩余字符所形成的一个新串放在t 所指的数组中。。

例如,若s 所指字符串中的内容为但所在元素

的下标为偶数,因此必须删除;而字符1的ASCII 码值为奇数,所在数组中的下标也为奇数,因此不应当删除, 其他依此类推。最后t 所指的数组中的内容应是文件

中。

其中字符A 的ASCII 码值虽为奇数,

注意:部分源程序存在