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

2018年华东师范大学计算机科学与软件工程院839数据结构 [专硕]之C程序设计考研核心题库

  摘要

一、选择题

1. 设x 、y 、z 均为实型变量,

代数式

A.x/y+z

B.x%y%z

C.x/y/z

D.x*z/y

【答案】C

【解析】X 、/的结合顺序是从左到右,所以x 先除以y , 再除以z 。

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

A.C 语言程序是由过程和函数组成的

B.C 语言函数可以嵌套调用,例如

:

C.C 语言函数不可以单独编译

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

【答案】B

【解析】一个函数的返回值可以作为参数然后传给另一个函数,因此函数是可以嵌套调用的。A 项错误,C 语言程序只有函数构成,没有过程;C 项错误,编译系统的任务在于检查语法错误,只要符合语法规则的C 程序都可以通过编译,就算是单独的函数也可以;D 项错误,在C 语言中除main ( )函数以外的其他函数可以和main ( ) 函数在同一个C 文件中,也可以单独处于其他的C 文件,只要在使用到这些函数的main ( )函数的C 文件中用预

编译指令

包含进来即可。

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

A. 只要是用户定义的标识符,都有一个有效的作用域

B. 只有全局变量才有自己的作用域,函数中的局部变量没有作用域

C. 只有在函数内部定义的变量才是局部变量

D. 局部变量不能被说明为static

【答案】A

【解析】A 项正确,标识符的“作用域”是指程序中的某一部分中,标识符是有定义的,可以被C 编译和 连接程序所识别。在C 语言中,由用户命名的标识符都有一个有效的作用域。B 项

在C 语言中的正确写法是( )。

错误,局部变量的作用域是所 在的函数体(或复合语句);C 项错误,在函数内部或复合语句内部定义的变量,称为局部变量;D 项错误,在 函数体(或复合语句)内部用static 来说明一个变量时,变量为静态局部变量。

4. 设有n 个数按从大到小的顺序存放在数组x 中,以下能使这n 个数在x 数组中的顺序变为从小到大的是( )。

【答案】A

【解析】本题使用for 循环实现数组元素首尾倒置。A 项中控制变量上限为n/2, 用变量t 实现数组下标值i

与的元素交换,使数组元素首尾倒置,从而实现从小到大排列,A 项正确。B 项控制变量上限为m 用变量t 实现数组下标值i 与n-i-1的元素交换,当i=n/2时,已经实现数组首尾倒置,而继续运行至i=n,将再次将新的数组首尾倒置,与原数组相比没有发生变化,依然是从大到小排列,B 项错误。C 项数组越界,i=0时x[n+ll不存在,C 项错误。D 项控制变量每次加2, 实现数组偶数下标值的元素首尾倒置,奇数下标值元素不变,不能实现整个数组从小到大排列,D 项错误。

5.

表达式

A.9

B.-9

C.18

D.0

【答案】D

【解析

J

计算顺序为

首先

最后,

即的值是( )。

6. C 语言编译程序的功能是( )。

A. 执行一个C 语言编写的源程序

B. 把C

源程序翻译成码

C. 把C 源程序翻译成机器代码

D. 把C 源程序与系统提供的库函数组合成一个二进制执行文件

【答案】C

【解析】变异程序可以把用户按C 寓言规定的语法写出的语句翻译成二进制的机器指令,每条C 语句经过编译最终都将转换成二进制的机器指令。

7. 有如下程序:

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

A.Ta=0,b=l

B.Fa=l,b=2

C.Ta=l,b=2

D.Fa=0,b=2

【答案】C

【解析】程序执行过程为:判断++a==b++是否成立,++a前置运算先加1,则a=l,b++后置运算先取值,则b=l,也即是判断1==1,成立,输出T ,之后b=2,输出a=l,b=2。故C 选项正确。

8. 有以下程序: