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 页
相关内容
相关标签