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

2016年华东交通大学理学院C语言程序设计复试笔试仿真模拟题

  摘要

一、选择题

1. 有以下程序:

t

程序运行后的输出结果是( )。 A.0 B.1 C.2 D.3 答:C 【解析】

运算,当以前缀形式出现时,则先进行加一或减一操作,再取值,当以

结果为

后缀形式出现时,则先取值,再进行加一或减一操作。a 初始定义为1,b 为0, 先执行0, 即if 判断为假,执行

然后输出b 的值。即b 为2。

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

A. 文件指针是指针类型的变量

B. 在使用文件指针时,不需要在内存中为其分配空间 C. 文件指针变量的值是文件的当前读取位置

D. 调用fscanf 函数能向所有类型的文件中写入任意字符 答:A

【解析】A 项正确,文件指针是指向文件类型的指针变量;B 、C 项错误,文件指针指向的是文件缓冲区,而不是文件本身位置;D 项错误,fscanf ( )函数作用是从指定的文件中格式化读数据,读取数据类型由格式控制符决定。

3. 有以下函数

以下关于aaa 函数功能叙述正确的是( )。

A. 求字符串S 的长度 B. 比较两个串的大小 C. 将串s 复制到串t D. 求字符串8所占字节数 答:A

【解析】aaa ( )函数中,首先定义了一个字符指针t 指向形参s ,然后通过一个while 循环让指针t 不断递 增,直到t 指向字符串结束标志处。当t 指向结束标志处时,由于后缀++运算符的原因,它还会被再递增1,此 时t 指向字符串结束符语句让它回到结束标志处。最后返回

后面一个单元,所以接下来的

因为s 还是指向字符串第1个字符处,而t 指向字符串结

束符,故返回值为字符串的长度值。

4. 设有定义:intx=7, y=12;,则以下表达式值为3的是( )。

A. (y%=x)-(x%=5) B.y%=(x%=5) C.y%=x-x%5

D.y%=(x-x%5) 答:A

,A 项可改写成y=y%x,x=x%5,再计算y-x 计算【解析】A 项正确,a%=b表示a=a%(b )

的结果为3,满足题意;B 项为0, C 项为2, D 项等同于C 项。

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

A. 不能用字符串常量对字符数组名进行整体赋值操作

B. 字符串常量“Hello”会被隐含处理成一个无名字符型数组,它有5个元素 C. D. 答:A

【解析】A 项正确,不可以用赋值语句给字符数组整体赋一串字符,但是可以直接用字符串B 项错误,常量给一维字符 数组赋初始值。编译器会在字符串常量最后添加最近的’\0’作为其结束标志,运行时不安全;D 项错误,不能给数组str 赋值。

6. 有以下程序:

在语法上是合法的,运行也是安全的

效果是一样的

它共有6个元素;

C 项错误,在语法上是合法的,但是没有字符串尾标识符,系统将要在其后的内存中找一个距它

程序的运行结果是( )。

答:C

【解析】在funO 函数中,出

表示X 取值为a 的小数部分,因此,输入a 为

7 设有定义inta=0, b=l;, 以下表达式中,,

会产生“短路”现象致使变量b 的值不变的是( )。.:

A.

B.

C.

D. 答:D

【解析】++放在变量前面时,表示将变量+1, 再参与其他操作,D 项,值是0直接判定与运算结果为0, 忽视b++的值,因此b 值不发生改变。

8. 有以下程序:

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

A.beijing B. china C. welcome D . tiananmen 答:C

【解析】strcmp 用于比较两字符串:当

时,返回值

时,返回值=0; 当

时,

返回值>0。程序主要实现的是先对前两行进行比较,将

码值大的调到后面,依次比较,即

时,由于a

“china”、“tiananmen”、“weleome”、“you”, 最后的顺序为“beijing”、最后输出即为 “weleome”。

9. 设文件指针fp 已定义,执行语句后,以下针对文本文件file 操作的叙述中正确的是( )。

A. 写操作结束后可以从头开始读