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

2018年北方民族大学计算机技术833C语言程序设计与数据结构之C程序设计考研核心题库

  摘要

一、选择题

1. 有以下程序

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

【答案】A

【解析】

注释之间计算机不参与编译,所以a 、b 值仍为0。

2. 若k 是int 类型变量,且有以下for 语句:

下面关于语句执行情况的叙述中正确的是( )。

A. 循环体执行一次 B. 循环体执行两次 C. 循环体一次也不执行 D. 构成无限循环 【答案】A

【解析】本题中k 初始值为-1,执行一次循环体,执行完后k 值为0, 不满足k<0条件,退出循环,所以执行了一次。

3. 以下选项中合法的标识符是。

A.1_1 B.1-1 C._11 D.1_ _ 【答案】C

【解析】C 语言中标识符的命名规则是:标识符由字母、数字和下画线组成,并且第一个字符必须是字母或下画线。C 语言的标识符是区分大小写字母的。

4. 有以下程序:

程序的运行结果是( )。 A.10 B.20 C.14 D.16

【答案】C

【解析】

5. 有以下程序:

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

【解析】在C 语言中,没有专门的“逻辑值”,而是用非0表示“真”,用0表示“假”。第一次循环之后a=_l, b=l,第二次循环之后,a=0, b=2, 第三次循环时,由于a=0, 此时产生短路现象,即系统跳过b++不再对它进行求值,这时,a 自增1,由0变为1, 而b 的值不变,仍为2,故结果为1,2。

6. 有以下程序:

系统默认为指针指向数组中第

执行的是将数组

个元素,因此,在for 循环中

累加后赋值给n , 最后输出,值为14。

程序的运行结果是( )。 A.-1, 0 B.0, 0 C. -1 , -1 D.1, 1 【答案】A

【解析】本题执行过程为:先取a 值为1, 执行循环

,件不成

立,退出循环,再执行得到

最后输出故A 项正确。

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

执行

再取a 值为0, 判断条

【答案】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 项错误。

8. 若有函数声明

A. 函数参数array ,ptr 都是指针变量

B. 函数参数array 不是指针变量,ptr 是指针变量 C. 调用函数时,实参数组的值将一一复制给array 数组 D. 调用函数时,array 是按值传送,ptr 是按地址传送

以下叙述正确的是( )。