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

2017年青海师范大学计算机学院831计算机学科专业基础综合之C程序设计考研导师圈点必考题汇编

  摘要

一、选择题

1. 设有定义:

A. B. C.

正确的输入数据

D.

【答案】A

【解析】A 项中是起作用的,程序从键盘正确的读入前两个数据并且保存在指定的地址,读入第三个数据后,将其放入缓冲区,然后寻找应该存放的地址,因为没有找到,程序会发生错误而中断,注释错误。B 项由于scanf 只接收两个数据,所以变量x 得不到赋值,注释正确。C 项scanf 会按照float 类型读取输入的第二个数据并且保存为int 类型,由于两种类型的存储形式与所占内存单元均不同,b 得不到正确的赋值,注释正确。D 项在使用scanf 函数时,如果除了格式说明字符和附加格式字符外,还有其他字符,则在输入数据时要求按一一对应的位置原样输入这些字符,注释正确。

2. 有以下程序:

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

A.1256

B.5634

C.5612

D.3456

【答案】B

【解析】第一次funl 传递参数5, 6,输出5, 6, 第二次调用fun2,fun2的作用是将全局变量a 变为3, b 变为4, 故输出3, 4。

第 2 页,共 35 页 则以下选项中对语句所作的注释叙述错误的是( )。 多余的格式符完全不起作用 多佘的输入项不能获得输入数据 ; 格式串中允许加入格式符以外的字符串 输入项与格式符类型不匹配,变量b 和x 得不到

3. 以下程序中给数组所有元素输入数据,请从选项中选择正确的答案填入下划线处。

A.

B.

C.

D.

【答案】A

【解析】A 选项a 为数组首地址,i++先取i 值再加1,scanf 读入的数据依次存放在数组中,A 选项正确。B 选项,进入死循环,i-直为0, 一直对a[i+l]读入数据,B 选项错误。C 选项,控制变量i 没有依次加1,无法结束循环,也无法对整个数组赋值,输入的数全是a[0], C 选项错误。D

,D 选项错误。故选A 。 选项数组元素引用错误,数组元素引用为不是( )

4 设fp 为指向某二进制文件的指针 ,,.且已读到此文件末尾则函数的返回值为( )。

A. 非0值

C.0

D.NULL

【答案】A

【解析】

当文件读到结尾时

5. 阅读以下程序:

该程序编泽时产牛错误,其出错原因是( )。

A. 定义语句出错,case 是关键字,不能用作用户自定义标识符

B. 定义语句出错,printf 不能用作用户自定义标识符

C. 定义语句无错,scarlf 不能作为输入函数使用

D. 定义语句无错,printf 不能输出case 的值

【答案】A

【解析】C 语言中,关键字又称保留字,它是系统预先定义的、具有特定含义的标识符,不

第 3 页,共 35 页 为非零值,否则为0。

能用作用户自定义的标识符在程序中使用。

6. 有以下程序:

则以下叙述正确的是( )。

A. 在main 函数中声明了 findmax 函数

B. 在main 函数中定义了 findmax 函数

C. 在main 函数中两次调用了 findmax 函数

D. 在main 函数内、外重复定义了 findmax 函数

【答案】A

【解析】程序编译是从上到下进行的,所以如果函数定义放在主函数之后,那么在函数调用时必须提前声明函数,可以在主函数之前声明函数,也可以在主函数中函数调用之前声明函数。题目中函数findmax 定义放在了函数之后,所以主函数中声明了 findma 函数

为函数声明

,为函数调用

为函数定义。A 选项正确。B 选项是在main 函数外定义的findmax

函数,错误。在main 函数中,出现了一次findmax 函数的声明和一次findmax 函数的调用,不是两次调用,C 选项错误。D 选项在main 函数内不是定义findmax 函数而是声明findmax 函数。

7. 设a ,b ,C 是整型变量,且已正确赋初值,以下选项中错误的赋值语句是( )。

【答案】D

【解析】D 项,“( )”具有最高优先级,b 先赋值9,再根据赋值运算符号自右向左进行赋值,再给b 赋值为1,再计算2=b,赋值运算符左边必须是一个变量,但数值2是常量,语法错误。

8 若有定义inta , b ;, 通过语句.

b 的输入数据是( )。

A.35

B.3, 5

C.3;5

第 4 页,共 35 页 能把整数3赋给变量a , 5赋给变量