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

2016年南京大学商学院0217软件基础(程序设计C语言与数据库)之C语言程序设计考研复试题库

  摘要

一、选择题

1. 设有以下函数:

则下面对函数指针的定义和赋值均是正确的是( )。

A. B. C. D.

答:D

【解析】函数指针的一般定义形式为:数据类型(*指针变量名)( )。定义函数指针时,对应的类型名以及 返回值类型都要和对应函数的参数列表以及返回值类型一致。在给函数指针赋值时,可以直接将函数名赋值给对 应的函数指针,也可以将函数名取地址后在赋值给对应的函数指针。ABC 三项中函数指针的定义均是错误的, 参数列表和fun 函数的参数列表不一致。

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

A. 当在程序的开头包含头文件

B. 函数可以返回地址值

C. 改变函数形参的值,不会改变对应实参的值

D. 可以给指针变量赋一个整数作为地址值

答:D

【解析】D 项错误,不能将一个整数直接赋给指针变量作为地址。A 项正确,NULL 是在头文件中定义的符号常量;B 项正确,函数的返回值可以是地址,即指针;C 项正确,函数调用中形参值的变化不会传递给实参。

3. 结构化程序由顺序、选择、循环三种基本结构组成,以下相关叙述错误的是( )。

A. 三种基本结构不可以嵌套使用

B. 顺序结构是按语句在程序中的先后顺序逐条执行,没有分支,没有转移

C. 选择结构是根据不同的条件执行不同分支中的语句

D. 循环结构是根据条件决定是否重复、重复执行多少次循环体语句

答:A

【解析】结构化程序主要由3种基本控制结构组成,顺序结构是最基本的算法结构,当执行由这些语句构成的程序时,将按这些语句在程序中的先后顺序逐条执行,没有分支,没有转移,没有步骤之间的相互约束,没有 对某一步骤的多次使用,完全按照步骤的原有次序依次执行,B

时,可以给指针变量赋NULL

选项叙述正确。选择结构根据不同的条件去执行 不同分支中的语句,C 选项叙述正确。循环结构就是根据各自的条件,使同一组语句重复执行多次,D 选项叙述正确。三种结构可以嵌套使用,A 选项叙述错误,选择A 选项。

4. 对于if (表达式)语句,以下叙述正确的是( )。

A. “表达式”的值可以是任意合法的数值

B. 在“表达式”中不能出现变量

C. 在“表达式”中不能出现常量

D. “表达式”的值必须是逻辑值

答:A

【解析】单分支选择语句if 语句格式如下:if (表达式)语句体。“表达式”可以是任意合法的C 语言表达式,包括关系表达式和逻辑表达式等,也可以是任意的数值类型(包括整型、实

,A 项正确。“表达式”中可以出现变量或者常量,也不一定必须是逻辑值,B 、型、字符型等)

C 、D 项错误。

5. 以下选项中,合法的是( )。

A.

B.

C.

D.

答:A

【解析】A 中是在赋初值时直接赋字符串常量。B 项错误,str4是字符变量不能赋值为字符串常量;CD 两项错误,字符串常量给出的是地址值,而数组名name 是一个地址常量,不能被重新赋值。

6. 有如下程序:

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

A.124,124,

B.123,124,

C.124,123,

D.123,123

答:A

【解析】本题程序执行过程为:调用change 函数,将变量data 地址传入函数,返回当前指针指向的变量值123,之后此变量加一,data=124。输出data=124。再次调用函数,返回当前指针指向的变量值124,然后此地址内存中变量加一,data=125,然后将返回值124赋给变量data=124,最后输出data=124。A 项正确。

7. 若有以下程序

则程序的输出结果是( )。

A.11,2

B.25,2

C.11,12

D.25,26

答:D

【解析】S (k+j)展开后是(3+2)*(3+2)=25,T (k+j)展开后是(3+2)*(3+2)/(3+2)*(3+2)+1=26。

8. 以下选项中,合法的数值型常量是( )。

A.3.2

B.'X'

C.099

D.OxEH

答:A

【解析】A 项正确,3.2是合法的实型常量;B 项错误,‘X ’为字符型常量不是数值型常量;C 项错误,以0开头,表示八进制,但八进制的每位小于8; D 项错误,Ox 和H 冲突都是表示十六进制。

9. 有以下程序

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

A.4