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

2017年中国人民公安大学刑事科学技术822公安技术综合之C程序设计考研导师圈点必考题汇编

  摘要

一、选择题

1. 按照C 语言规定的用户标识符命名规则,不能出现在标识符中的是( )。

A. 大写字母

B. 连接符

C. 数字字符

D. 下划线

【答案】B

【解析】C 语言中标识符只能由下划线、字母和数字组成,且不能以数字开头。

2. 有以下程序:

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

A.1

B.2

C.4

D.8

【答案】D

【解析】f (l )输出2,然后调用f (2)输出4, 再调用f (4)输出8。

3. 有如下程序:

若要从键盘读入姓名给结构体变量zhangsan 的name 成员,输入项错误的是(

第 2 页,共 39 页 。

【答案】A

【解析】可用以下3种形式来引用结构体变量中的成员:①结构体变量名. 成员名;②指针变量名成员名;③(*指针变量名). 成员名。程序定义了一个结构体变量zhangsan , —个结构体指针ptr , 并且使指针指向变量zhangsan 。A 项zhangsan 为结构体变量名,不能用一〉引用其成员,A

项错误。均是正确的引用结构体变量成员的方式。

4. 以下选项中能表示合法常量的是( )。

【答案】D

【解析】A 项错误,表达错误;B 项错误,E 后面应为整数,不能是小数;C 项错误;字符斜杠的表示方法 为

为正确。

5. 有以下函数:

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

A.12345

B.23445

C.34756

D.35745

【答案】D

【解析】静态局部变量属于静态存储方式,它具有以下特点:①静态局部变量在函数内定义,它的生存期为 整个源程序;②静态局部变量只能在定义该变量的函数内使用该变量。退出该函数后,尽管该变量还继续存在, 但不能使用它;③允许对构造类静态局部变量赋初值。若未赋以初值,则由系统自动赋以0值;④根据静态局部变量的特点,可以看出它是一种生存期为整个源文件的变量。虽然离开定义它的函数后不能使用,但如再次调用 定义它的函数时,它又可继续使用,而且保存了前次被调用后留下的值。函数第一次调用时,会将数组a 变为 35345, 当第二次调用时,

第 3 页,共 39 页

因为第一个\表示是转义字符;D 项正确,表示空字符串,第一个字符

函数内的j 值为2, 所以会将数组a 的第三个元素更改为7, 所以最终结果为35745。

6. 设a , b ,c 是整型变量且均已赋值,则以下选项中错误的赋值语句是( )。

A.a=(b=3)=1;

B.a=(b=2)+c;

C.a=b=c+10;

D.a=l+(b=c=2):

【答案】A

【解析】赋值运算结合性为由右向左结合,赋值运算符左值为变量,右值为变量或常量,且左右两边数据类型相同才能实现赋值。A 项中,赋值运算(b=3)=1, 左值为表达式,不是变量不能被赋值,A 项错误。B 项运算过程为,先赋值b=2, 再计算b+c,将结果赋给a ,是正确的赋值语句。C 项运算过程为,先计算c+10将结果赋给b , 再将b 赋给a ,是正确的赋值语句。D 项运算过程为,先将2赋给c , 再将c 赋给b , 然后计算1+b, 将结果赋给a , 是正确的赋值语句。

7. 在以下给出的表达式中,与while (E )中的(E )不等价的表达式是( )。 A. B. C. D.

【答案】C

【解析】ABD 三项都是E 不等于零时执行while 循环,C 项是E 等于零时执行while 循环。

8. 以下叙述中正确的是( )。

A. 简单递归不需要明确的结束递归的条件

B. 任何情况下都不能用函数名作为实参

C. 函数的递归调用不需要额外开销,所以效率很高

D. 函数既可以直接调用自己,也可以间接调用自己

【答案】D

【解析】D 项正确,C 语言中的函数可以递归调用,S 卩:可以直接或间接地自己调用自己。前者称简单递归, 后者称间接递归。A 项错误,递归必定要有一个明确的结束递归的条件;B 项错误,递归就是把函数名作为实参 的一种特殊情况;C 项错误,函数的递归调用过程中,系统要为每一层调用中的变量开辟存储单元,要记住每一层调用后的返回点,要增加许多额外的开销,通常会降低程序的运行效率。

9. 以下选项中不能作为C 语言合法常量的是( )。

第 4 页,共 39 页