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

2017年河北科技师范学院数学与信息科技学院341农业知识综合三[专业硕士]之C程序设计考研强化模拟题

  摘要

一、选择题

1. 有以下程序:

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

A.02

B.13

C.57

D.12

【答案】D

【解析】(表达式1)(表达式2)中,如果表达式1为假或0, 那么表到式2就不会被执

和为零,不满足循环条件,所以不行。本题中首先进入while 的判断语句,执行会被执行,while 循环结束后,k 经过运算自增为1, n没有进行运算,仍为2。

2. 有以下程序:

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

A.0

B.1

C.4

D.8

【答案】C

【解析】对局部静态变量在编译时赋初值,以后每次调用函数时一直保持不变,只是保留上次函数调用结束 时的值。在主函数中调用了两次fim0函数,所以x 的值变为

3. 有以下程序:

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

A.INT :14

B.INT :13

C.INT :12

D.INT :20

【答案】D

【解析】0x13是十六进制数,需要输出十进制数,换算成十进制:输出INT=x+l=20,因此答案为D 选项。

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. 有以下程序

程序运行后,若从键盘输入(从第1列开始)

123<回车>

45678<回车>

则输出结果是( )。

A.1245

B.1256

C.1278

D.1267

【答案】A

【解析】scanf ( )是格式化输入函数;getehar ( )函数从键盘缓冲区读入下一个字符;putehar ( )输出一个字符;printf ( )函数是格式化输出函数。在题目中,程序执行到scanf ( )函数时,会暂停等待用户输入4个字符,按题意输入123〈回车〉后,字符1〜3被分别赋值到cl 〜c3中,而c4会得到一个换行符然后执行第1个getchar ( )函数,由于前面的scanf ( )函数读完了缓冲区中的所有字符,所以此时程序又会暂停等待用户输入,按题意输入45678〈回车〉后,缓冲区第一个字符4赋值c5, 第二个字符5赋值给c6。

6. 有以下程序

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

A.0, 2

B.0, 3

C.1, 3

D.1, 2

【答案】D 【解析】

话,则是与逻辑操作符,两侧都为真,结果为真,否则结果为假;如果前面为0的. 后面的不予判定,这是逻辑操作符的短路特性。

的执行顺序是,先判定a 是否等于0, 如果等于0, 执行a++,跳出循环(短