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

2017年辽宁省培养单位沈阳自动化研究所864程序设计之C程序设计考研题库

  摘要

一、选择题

1. 以下程序段中,循环次数不超过10的是( )。

A. B. C. D.

【答案】A

【解析】A 项,

执行函数体

判断条件

不成立,退出循环,循环次数为1,不超过10由于执行函数体时i 在增加,

一直成立,

由于函

次,A 项正确。B 项执行函数体i=6, 判断条件为

程序陷入无限循环,循环次数大于10, B 项错误。C 项执行函数体i=3, 判断条件为D 项执行函数体i=4, 判断条件为

数体中i 每次増加2, 所以永远不可能等于10, 故程序会陷入无限循环,循环次数大于10, C 项错误。

由于函数体中i 每次减少2, 所以永远不可能等于1,故程序

会陷入无限循环,循环次数大于10, D 项错误。

2. 有如下程序:

程序运行后的输出结果是( )。 A.STRENG B.STRIEG C.STREN D.STREN0 【答案】C

【解析】printf 函数按照格式符说明输出对应的数据。给定地址开始依次输出字符,直到遇到时

为STREN , 故C 项正确。

3. 有以下程序:

第 2 页,共 37 页

控制符用于输出字符串,输出时从

初始化

调用printf 输出字符串

结束。给字符变量赋值0,相当于赋值

改动数组第4个和第6个元素之后字符串变为'

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

【解析】程序执行过程为:执行do „while 的循环体:y=5,判断y 为真,x=l; y=4, x=2; y=3, x=3; y=2,x=4; y=l, x=5; y=0,判断y 为假,退出循环体。判断y=0为假,y=—1,退出循环。输出x , y 为5,-1, 故C 项正确。

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

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

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

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

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

5. 有以下程序:

程序运行后的输出结果是( )。 A.0 B.10 C.30 D.64

第 3 页,共 37 页

条件

【答案】D

【解析】静态局部变量只在定义它的函数内有效,程序仅分配一次内存,函数返回后,该变量不会消失,下 一次依据上一次的结果值。此题中第一次循环时,调用fim 函数后x 的值为2, s的值为2; 第二次循环时,调用 fun 函数后x 的值为4,s 的值为8; 第三次循环时,调用fun 函数后x 的值为8,s 的值为64。

6. 以下关于typedef 的叙述错误的是( )。

A. 用typedef 为类型说明一个新名,通常可以增加程序的可读性 B.typedef 只是将已存在的类型用一个新的名字来代表

C. 用typedef 可以为各种类型说明一个新名,但不能用来为变量说明一个新名 D. 用typedef 可以增加新类型 【答案】D

【解析】用typede 只是将已存在的类型用一个新的名字来代表,并没有增加新类型。

7. 设有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 项错误。

8. 有如下程序:

第 4 页,共 37 页