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

2017年天津财经大学计算机软件与理论之C语言程序设计教程考研复试核心题库

  摘要

一、选择题

1. 以下选项中关于程序模块化的叙述错误的是( )

A. 把程序分成若干相对独立的模块,可便于编码和调试

B. 把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块

C. 可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序

D. 可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序

【答案】C

【解析】把一个大程序分解成若干相对独立的子程序,大大提高了程序编制的效率。软件编制人员在进行程序设计时,首先应当集中考虑主程序中的算法,写出主程序后再动手逐步完成子程序的调用。对于这些子程序也 可用调试主程序的同样方法逐步完成其下一层,就是自顶向下、逐步细化、模块化的程序设计方法。

2. 若有定义语句:

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

A. 定义语句中的p 只能存放double 类型变量的地址

B. 定义语句中的*号是一个说明符

C. 定义语句中的*号是一个间址运算符

D. 定义语句中*p=&a把变量a 的地址作为初值赋给指针变量p

【答案】C

【解析】C 项错误,只有取指针变量的值时,星号*才是间址运算符,引用指针指向的存储单元。A 项正确, p 是double 类型的指针,只能存放double 类型的地址;B 项正确,定义指针变量时,星号是一个说明符,用来说明该变量是指针变量;D 项正确,

用来求出double 变量a 的地址赋给指针变量p ,而使p 指向a 。

3. 下列关系表达式中,结果为“假”的是( )。

A. (3+4)>6 B. C. D.

【答案】B

【解析】A 项,先执行:结果为真;B 项,先执行

第 2 页,共 26 页 是求地址运算符,为真,即为1,1>2结果

为假;C 项,先执行结果为真,即1,再逻辑或3, 结果为真;D 项,先执行3<4结果为真,即为1,再执行1==1,结果为真。

4. 有以下程序:

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

【答案】A

【解析】在for 循环中,对3个结构体元素y 值转换成2进制数后向右移一位,再对此时x ,y 值依次进行

5. 若有定义语句

( )。

【答案】D

【解析】A 项,p 所指内容执行增1操作;B 项,先取P 指针所指的内容,再执行后++运算;C 项,先取P 指针所指内容,再执行前++运算;D 项,实际上是p 指针执行++操作,而后取值。

6. 有以下程序:

第 3 页,共 26 页 以下不能使用变量year 中的值增至2010的语句是

程序的运行结果是( )。

A.0

B.9

C.6

D.8

【答案】C

【解析】函数f 是递归函数,递归的终止条件是X 为1或2。返回值为3,即

7. 阅读以下程序:

该程序在编译时产生错误,其出错原因是( )。

A. 定义语句出错,case 是关键字,不能用作用户自定义标识符

B. 定义语句出错,printF 不能用作用户自定义标识符

C. 定义语句无错,scanf 不能作为输入函数使用

D. 定义语句无错,printf 不能输出case 的值

【答案】A

【解析】在C 语言中,关键字又称保留字,它是系统预先定义的,具有特定含义的标识符,

故不允许用户重新定义。case 为C 语言中的关键字,因此用户不能再定义标识符为case 的变量。

8. 有如下程序:

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

A.25

B.13

C.9

D.12

第 4 页,共 26 页

当时所以