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

2016年沈阳理工大学机械工程学院C语言程序设计(同等学力加试)复试笔试仿真模拟题

  摘要

一、选择题

1. 标准库函数

的功能是( )。

A. 从文件f 中读取长度不超过n-1的字符串存入指针S 所指的内存 B. 从文件f 中读取长度为n 的字符串存入指针s 所指的内存 C. 从文件f 中读取n 个字符串存入指针s 所指的内存 D. 从文件f 中读取n-1个字符串存入指针s 所指的内存 答:A

【解析】fgets 函数功能是从f 所指文件中读入端自动加一个结束标志

个字符放入s 为起始地址的空间内,并在尾

个字

同时将读/写位置指针向前移动字符串长度个字节。在读出

符之前,如遇到了换行符或EOF , 则读出结束,A 项正确。B 项中“读取长度为n ”错误。C 项与D 项中“读取个字符串”错误,读取的是n-1个字符。

2. 若各选项中所用变量已正确定义,函数fun 中通过return 语句返回一个函数值,以下选项中错误的程序是( )。

答:B

【解析】当在所有函数的外部、被调用之前说明函数时,在对函数进行说明的语句后面所有位置上都可以对该函数进行调用。函数说明也可以放在调用函数内的说明部分,如在main 函数内 部进行声明,则只能在main 函数内部才能识别该函数。B 项错误,main 函数不能识别fun 函数。

3. 有以下程序:

程序的运行结果是( )。 A.aa B.ma C.am D.mm 答:A

;,函数的作用是在内存的动态存储区分配一个【解析】malloc 函数的原型为:malloc (size )

长度为size 的连续空间。程序执行过程为:定义两个字符类型指针p1和p2,动态开辟10个字符类型的内存单元,并且使指针p1与P2均指向这10个内存单元的第一个单元。调用strcpy 函数,将字符串“malloc ”赋值给这10个内存单元的前7个单元,存储情况为:malloc\0,此时p1指向10个内存单元的第一个单元。再次调用strcpy 函数,这10个内存单元的第2个单元到第7个单元元素重新赋值给P2指向的内存单元以及以后的5个单元,存储情况为:alloc\0\0,此时p1和p2均指向10个内存单元的第一个单元。输出两个指针指向单元的数据值,结果为:aa ,故A 选项正确。

4. 若有说明语句

A.2个字符 B.1个字符 C.3个字符 D. 说明语句不合法 答:B

【解析】用一对单引号括起来的单个字符为字符常量,以“\”开头的转义字符也是字符常量。“\”后可以为某些单个字符,也可以为八进制或十六进制数字,故变量c 中存放的是一个字符。

5. 设变量均己正确定义并且赋值,以下与其他三组输出结构不同的一组语句是( )。

答:D

【解析】“++”和“一”运算,当以前缀形式出现时,则先进行加一或减一操作,再取值,当以后缀形式出现时,则先取值,再进行加一或减一操作。++X表示先将X 值加1后再用,X++表示先使用X 值,用后再加1,所以本题中ABC 选项都会输出x+1的值。

6. 有如下程序:

则变量c 中存放的是( )。

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

答:A

【解析】程序执行过程为:定义结构体变量input ,

调用

调用函数

使

构体成员为

7. C 源程序中不能表示的数制是( )。

A. 二进制 B. 八进制 C. 十进制 D. 十六进制 答:A

【解析】C 语言中整型常量可以是十进制数、八进制数、十六进制数,虽然运行方式以二进制数运行,但整型常量不包括二进制数。

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

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

使

将结构体地址传入函数,执行函数体,

调用

而4是值传递,并没有改变num 的值。输出结