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

2017年东北师范大学C程序设计复试仿真模拟三套题

  摘要

一、选择题

1. 有如下定义:

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

【答案】A

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

2. 以下语句中存在语法错误的是( )。 A. B. C. D.

【答案】A

【解析】A 项错误,数组定义后,不能对数组整体赋值,SS 是二维数组,

组,即字符串,

字符串赋值可以使用

指针数组的一个元素。

3. 有以下程序

程序的运行结果是( )。

A.1

B.0

第 2 页,共 16 页 是一维字符数”的形式,但不能使用赋值的形式。BD 两项正确,在定义时对数组同时进行初始化;C 项正确,将常量字符串在内存中的首地址赋给

C.2

D.3

【答案】A

【解析】只有i=3时,才能进入内部循环。

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

A.14.0

B.31.5

C.7.5

D. 程序有错无输出结果

【答案】D

【解析】宏定义有两种:无参数的宏定义,即#definePT3.5; 带参数的宏定义,不能用宏来计算,宏只能做简单的代替而不能做计算,故程序会报错。

5. 有以下程序:

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

A.AAAA

B.CC

C.BBBCC

D.BBBB

【答案】D

【解析】程序中声明一个3行4列的字符型数组。要求输出

故ch[l]为第二行的BBBB 。

6. 有以下程序

第 3 页,共 16 页 由于数组下标默认从0开始,

执行程序时,给变量x 输入10, 程序的输出结果是( )。

A.55

B.54

C.65

D.45

【答案】A

【解析】一个直接或间接地调用自身的算法称为递归算法。在一个递归算法中,至少要包含一个初始值和一个递归关系。本题的fun ( )函数在n 等于1时返回1,而在其余情况下返回所以本题的递归算法可以这样来表示:

此时不难看出,该递归算法实现的是计算而且n 必须大于0, 否则会陷入死循环。 故题目输出的结果是

7. 以下选项中叙述错误的是( )。

A.C 程序函数中定义的赋有初值的静态变量,每调用一次函数,赋一次初值

B. 在C 程序的同一函数中,各复合语句内可以定义变量,其作用域仅限本复合语句内

C.C 程序函数中定义的自动变量,系统自动赋确定的初值

D.C 程序函数的形参不可以说明为static 型变量

【答案】A

【解析】在整个程序运行期间,静态局部变量在内存的静态存储区中占据着永久性的存储单元。即使退出函 数以后,下次再进入该函数时,静态局部变量仍使用原来的存储单元。由于并不

释放这些存储单元,因此这些存 储单元中的值得以保留,因而可以继续使用存储单元中原来的值。

8. 构成C 程序的三种基本结构是( )

A. 序结构、转移结构、递归结构

B. 顺序结构、嵌套结构、递归结构

C. 顺序结构、选择结构、循环结构

D. 选择结构、循环结构、嵌套结构

【答案】C

【解析】结构化程序由三种基本结构组成:顺序结构、选择结构和循环结构。已经证明,由三种基本结构组算法可以解决任何复杂的问题。

二、设计题

9. 请根据以下各小题的要求设计C 应用程序(包括界面和代码)。

请编写函数fun ( ),该函数的功能是:计算并输出给定整数n 的所有因子(不包括1和自身)之和。规定n 的值不大于1000。例如,在主函数中从键盘给n 输入的值为856, 则输出

第 4 页,共 16 页