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

2017年四川大学公共管理学院667信息管理基础之C程序设计考研仿真模拟题

  摘要

一、选择题

1. 若变量已正确定义为int 型,要通过语句给a 赋值1、给b 赋值2、给c 赋值3,以下输入形式中错误的是(u 代表一个空格)( )。

【答案】B

【解析】scanf 函数要求除格式控制符以外的字符都要原样输入。逗号是非格式符,所以需要原样输入,否则就不能正确读入数据。B 项前两个数据后面没有紧跟一个逗号,格式不匹配所以输入形式错误。

2. C 语言整数不包括( )。

A. 带小数点的整数

B. 正整数

C. 负整数

D. 无符号整数

【答案】A

【解析】C 语言整数包括正整数,负整数,无符号整数,不含带小数点的整数。

3. 以下函数findmax 拟实现在数组中查找最大值并作为函数值返回,但程序中有错,导致不能实现预定功能。

造成错误的原因是( )。

A. 定义语句inti ,max ; 中,max 未赋初值

B. 赋值语句max=MIN; 中,不应给max 赋MIN 值

C. 语句中,判断条件设置错误

D. 赋值语句max=MIN; 放错了位置

第 2 页,共 43 页

【答案】D

【解析】该题中for 循环先将MIN 值赋值给max ,再判断x[i]与max 的值比较,即每次都是将MIN 值与X[i]值进行比较,因为MIN 被定义为整型的最小值,所以无论x[i]的值是什么都不会影响if 的判断语句,始终执行max=x[i]。所以最后返回的是最后一个x[i]的值,本题的错误在于max=MIN的位置错误,max=MIN应该放在for 循环之前,仅在循环之前赋一次值,然后在循环中不断跟新max 的值。

4. 有以下程序:

程序的运行结果是( )。

A.15, 2

B.15, 15

C.2, 15

D.8, 8

【答案】A

【解析】本题求数组的最大值和最小值,首先把数组x 首地址的值赋给指针p , 故*p初始值为8, 而p 是地址值,P+1相当于数组中下一元素的地址,在for 循环,是求数组x 对应的最大值和最小值,fl 为最大值,f2为最小值。因此输出为15, 2。

5 设变量己正确定义, 以下不能统计出一行中输入字符个数(不包含回车符)的程序段是( )。.

A )

C )

【答案】D

【解析】要统计一行中输入字符个数(不包含回车符)的程序实现,首先定义一个用作统计的变量m 因为用作统计,所以需要赋初值为0; 因为字符结束要加换行符,故判断该行字符没有结束的程序实现应为

getohar

6. 有以下程序

第 3 页,共 43 页 B )D ) 由此具体实现语句用for 循环应

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

A.50

B.60

C.45

D.55

【答案】B

【解析】函数fun 的功能是求数组的n 个元素之和,由于sum 是静态局部变

量,所以保持15不变,所以

7. 要求定义一个具有6个元素的int 型一维数组,以下选项中错误的是( )。

A.

B.

C.

D.

【答案】A

【解析】数组名后面括号内,必须是整型常量,不可以是变量,A 项定义错误。

8. 有以下程序段,若变量已正确定义并赋值( )。

则与此程序段功能相同的选项是( )。

【答案】A

【解析】程序段执行过程为:如果a>b,输出x ,否则输出y ; 如果a<=b,i 加1,否则j 加1。

第 4 页,共 43 页