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

2018年青岛农业大学动漫与传媒院341农业知识综合三[专硕]之C程序设计考研核心题库

  摘要

一、选择题

1. 以下C 语言用户标示符中,不合法的是( )。

A._1 B.AaBc C.a_b D.a--b

【答案】D

【解析】C 语言中的标识符只能由字母、数字和下画线构成,且第一个字符必须是字母或下画线,同时不能与C 语言中的关键字相同。D 项还有非法字符“-”。

2. 若有以下定义

则对x 数组元素的正确引用是( )。

A.

B.

C.

D. 【答案】B

【解析】pt 是int 类型指针,指向int 数组x 的首部。B 项,

项,

相当于

x 的长度是10, 访问越界;C 项,

相当于

相当于

引用正确。A

访问越界;D 项,int 类型指针,

指向x 中第3个元素,并非是对x 数组元素的引用。

3. 若在程序中变量均已定义成int 类型,且已赋大于1的值,贝!J 下列选项中能正确表示代数

的表达式是( )。 A.1.0/a/b/c B.1/(a*b*c) C.1.0/a*b*c

D.1/a/b/(double )c 【答案】A

【解析】abc 均大于1, 所以表达式1/abc小于1,需要用浮点类型表示。若要计算表达式值,需要使其自动转化成浮点类型,A 项正确。B 项变量与常量均为整型,不会自动转换为浮点类型,B 项错误。C 项表示表达式be/a,错误。D 项,算数运算法结合性自左向右,先计算1/a,结果为0, 之后的计算无论是否转换数据类型结果均为0, D 项错误。

4. 以下叙述中错误的是( )。

A. 同一个数组中所有元素的类型相同

B. 不可以跳过前面的数组元素给后面的元素赋初值0 C.

定义语句D.

若有定义语句【答案】D

【解析】一维数组初始化时,不可能跳过前面的元素给后面的元素赋初值,当所赋初值少于所定义数组的元素个数时,将自动给后面的元素补以初值0, 当所赋初值多于所定义数组的元素个数时,在编译时将给出出错信息。

5. 有以下程序:

给a 数组中所有元素赋初值0

编译时将忽略多余的初值

程序的运行结果是( )。 A.flqv B.agmrw C.ekpuy D.flqvz 【答案】A

【解析】puts ( )函数将数组中存放的字符串输出到输出设备中,用结束符

取代字符串

strlen ( )函数是求字符串的实际长度(不包含结束标志),并且作为函数值

输出字符串W 为flqv , 故A 选项正确。

返回。程序中for 循环实现,将第i 个字符 串最后一个字符放入w 数组下标值为i 的位置,即

最后将数组最后一个字符赋值为

6. 有以下程序:

程序的运行结果是( )。 A.0 B.9 C.6 D.8

【答案】C

【解析】函数f 是递归函数,递归的终止条件是X 为1或2

。返回值为3,即

7. 有以下程序:

所以

程序的运行结果是( )。 A.16, 11, 6, 1, B.1, 6, 11, 16, C.4, 1, 10, 13, D.13, 10, 7, 4, 【答案】A

【解析】程序的执行过程为:调用函数fun ,将二维数组x 地址传入函数,此函数实现将矩阵转

再次调用函数f ,调用