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

2017年杭州师范大学杭州国际服务工程学院826计算机基础之C程序设计考研冲刺密押题

  摘要

一、选择题

1. 设有定义:以下不能将一行(不超过80个字符)带有空格的字符串正确读入的语句或语句组是( )。 A. B.

C. D.

【答案】C

【解析】字符串的输入有两种方式:使用scanf ( )函数和使用get ( )函数。scanf 输入时,遇到控制字符 (空格,换行等)就认为字符输入结束,当字符串中含有空格时,用scanf 输入导致字符串输入不完整。

2. 有以下程序

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

A.1,2,6, 8,10,12,7,8,9,10,

B.1,2,3,4,5,6, 7,8,9, 10,

C.1,2,3,4,10,12,14,16,9, 10,

D.1,2,6, 8,10,12,14,16, 9, 10,

【答案】A

【解析】数组名用作函数参数的情况类似于指针,属于传地址,故对形参数组元素的修改会同时修改实参。f ( )函数通过一个for 循环语句,将传入数组的元素从下标2到下标5每个各自乘以2。因此,调用结束时,数组a 中的内容为{1, 2,6,8,10,12,7, 8, 9,10}。

3. 设函数中有整型变量n ,为保证其在未赋值的情况下初值为0, 应选择的存储类别是 ( )。

A.auto

B.register

C.static

D.auto 或 register

【答案】C

【解析】静态存储类型定义变量在未对其初始化时会对其初始化为默认值,其中int 型的默认初始化是0,其他选项的存储类型不能保证。

4. 有以下程序:

程序运行时若输入:

则输出结果是

【答案】B

【解析】scanf 语句接收字符串时遇到空格就认为字符串的结束,但是gets 函数遇到回车才认为结束。本题中将第一个空格的前半部分赋值给a , 将第一个空格以及后面的部分赋值给b 。

5. 以下程序中关于指针输入格式正确的是( )。 A. B. C. D.

【答案】C

【解析】A 项错误,指针p 未初始化,且scanf 中p 的格式不对;B 项,指针p 未初始化;C 项正确,首先 将k 的地址赋值给p ,然后通过p 从键盘输入数据给k 赋值;D 项错误,给指针p 的赋值错误。

6. 有以下程序

程序的运行结果是( )。

A.Afternoon

B.flemoon

C.Morning

D.oming

【答案】A

p 指向a[0], 在函数fun 中执行【解析】用字符串数组a 给形参p 赋初始值,

程序运 行结果是Afternoon 。

7. 关于地址和指针,以下说法正确的是( )。 则p 指向

A. 通过强制类型转换可以将一种类型的指针变量赋值给另一种类型的指针变量

B. 可以取一个常数的地址赋值给同类型的指针变量

C. 可以取一个表达式的地址赋值给同类型的指针变量

D. 可以取一个指针变量的地址赋值给基类型相同的指针变量

【答案】A

【解析】常数的地址存储在内存的常量区,常量区存储的都是常量,值都是不可修改的,所以直接取常量的 地址赋给指针变量没有任何意义,C 语言也不允许这样做,编译会出错,B 选项错误;表达式的值存储在临时变 量中,内存中存在专门用来存储临时变量的区域,对这块地址进行操作也是没有意义的,C 语言不允许这样做,编译会出错,C 选项错误;可以取一个指针变量的地址,但是指针变量的地址属于指针,只能赋值给指针类型的指针变量,D 选项错误。故答案为A 选项。

8. 以下关于C 语言的叙述中正确的是( )。

A.C 语言中的注释不可以夹在变量名或关键字的中间

B.C 语言中的变量可以在使用之前的任何位置进行定义

C. 在C 语言算术表达式的书写中,运算符两侧的运算数类型必须一致

D.C 语言的数值常量中夹带空格不影响常量值的正确表示

【答案】B

【解析】A 项错误,C 语言中,程序中的注释可以出现在程序中任何合适的地方,为了方便