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

2018年上海市培养单位上海生命科学研究院864程序设计之C程序设计考研核心题库

  摘要

一、选择题

1. 若有定义语句

接着执行以下选项中的语句,则能正确执行的语句是( )。

A.

B.

C. D. 【答案】B

【解析】scanf 中参数列表,需为地址,只有B 项符合题意。

2. 有以下说明语句:

指针s 所指字符串的长度是( )。 A.17 B.15 C.14

D. 说明语句不合法 【答案】C 【解析】

3. 有以下程序:

程序运行后的输出结果是( )。 A.10, 9 B.11, 10 C.010, 9 D.9, 10

第 2 页,共 37 页

开头的转义字符也是字符常量。用一对双引号括起来的多个字符为字符串。

为转义字符,所以字符串长度为14。

【答案】D

【解析】整型常量有3种表示方法,分别是十进制数表示法、八进制数表示法和十六进制数表示法,

八进制整常量以

作为前缀。自増和自减运算符的两种用法:前置运算,运算符放在变量

之前,规则是先使变量的值 增(或减)1,然后以变化后表达式的值参与其他运算;后置运算,运算符放在变量之后,规则是变量先参与其 他运算,然后再使变量的值増(或减)1

先自加后取值,输出9

,

4. 有以下程序

先取值输出10,

再自减

故D 选项正确。

程序的运行结果是( )。 A.6 B.5 C.4 D.3

【答案】B

【解析】

条件运算符

语法形式为:

执行规则为:计算表达式expl 的

值,测试其是否为0; 如果expl 的值非0, 则对exp2求值,并把这个值作为条件表达式的

结果输出,不计算exp3; 如果expl 的值为0,则对exp3求值,并把这个值作为条件表达式的结果输出,不计算exP2。函数ml 实现返回传入两个参数中的最小值。函数m2实现返回传入两个参数中的最大值。函数fun 实现返回传入两个参数之和。程序执行过程为:调用ml (2, 3)返回2, 调用m2(3, 1)返回3, 调用fun (2,3)返回5,输出结果5,故B 项正确。

5. 要求通过while 循环不断读入字符,当读入字母N 时结束循环。若变量已正确定义,以下正确的程序段是( )。

A

)B

)C

)D

)【答案】D

【解析】D 项正确

ch

表达式从右向左计算,会把

_它等价

.

赋值给

表示先把

函数的返回值赋值给ch ,然后判断

函数的返回值是右值,

A 项逻辑错误,B 项错误,是否相等。它表示读入字母’N ’时执行循环;

函数的返回值,而

_

(等于)的优先级高于=(赋值),

不可改变,出现编译错误;C 项逻辑错误,

此时ch 的取值是0或1。

第 3 页,共 37 页

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

A. 整数:1,200 B. 实数:

1.5E2.0

【答案】D

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

斜杠的表示方法正确。

7. 有如下定义:

以下对内嵌结构体成员的引用形式错误的是( )。

【答案】A

【解析】使用结构体指针对结构体成员进行访问时,形式为结构指针名->结构成员名,或者(*结构指针名). 结构成员名,题目中ps 为结构体指针,A 项错误。

8. 有以下程序:

程序运行后的输出结果是( )。 A.7, 4 B.4, 10 C.8, 8 D.10, 10 【答案】B

【解析】在C 语言中,strlen ( )用来统计字符串中字符的个数,sizeof ( )是求分配给数组的存储空间大小。题目中字符串a 中字符个数为4, 但由于数组a 定义含有10个字符,

第 4 页,共 37 页

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

第一个字符为