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

2018年北京师范大学数学科学院805数据结构(C语言版)之C程序设计考研强化五套模拟题

  摘要

一、选择题

1. 以下关于函数的叙述中正确的是( )。

A. 函数调用必须传递实参 B. 函数必须要有形参 C. 函数必须要有返回值

D. 函数形参的类型与返回值的类型无关 【答案】D

【解析】函数参数有两种:形式参数和实际参数,前者函数定义时函数名后括号内是形参列表,每个形参由类型和名称两部分组成。在定义函数时,系统并不给形参分配存储单元,当然形参也没有具体的数值,所以称它为形参,也称虚参。形参在函数调用时,系统暂时给它分配存储单元,以便存储调用函数时传来的实参。一旦函数结束运行,系统马上释放相应的存储单元;后者函数调用时函数名后括号内是实参列表,实参可以是常量、变量或表达式。当函数返回到主调函数时,有时会有数据带给主调函数,也可以没有任何数据返回给主调函数,返 回的数据称为函数的返回值。函数形参的类型与返回值的类型无关,D 选项正确。函数可以没有形参,B 选项错误。函数可以没有返回值,C 选项错误。函数如果没有形参也就不必传递实参,A 选项错误。

2. 设有定义语句则以下叙述中正确的是( ) 。

A.f 是基类型为int 的指针变量

B.f 是指向函数的指针变量,该函数具有一个int 类型的形参 C.f 是指向int 类型一维数组的指针变量

D.f 是函数名,该函数的返回值是基类型为int 类型的地址 【答案】B

【解析】在C 语言中函数名代表该函数的入口地址,因此可以定义一种指向函数的指针来存放这类地址,int Of) (int ); ,其中f 为指向函数的指针变量,指向有一个整型变量且返回值也为整型的函数,第一个int 为函数 返回值的类型,第二个int 为函数的形参类型。

3. 若已有定义语句:inta ,b ,c ; ,且变量已正确赋初值,则以下选项中正确的赋值表达式是( )。

A.a=(b=c)+8; B. (a=b)=c=9;

C.a=(b==c)=‘A ’; D.a+b=c+l; 【答案】A

【解析】A 项正确,将c 赋值给b 后又加上8,然后再赋值给a ; B 、D 项错误,赋值运算符左边必须是一个变量;C 项错误,(b==c)是个表达式,语法错误。

4. 对于一个正常运行的C 程序,以下叙述中正确的是( )。

A. 程序的执行总是从程序的第一个函数开始,在main 函数结束 B. 程序的执行总是从main 函数开始

C. 程序的执行总是从main 函数开始,在程序的最后一个函数中结束 D. 程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束 【答案】B

【解析】一个正常运行的C 程序总是从main 函数开始执行,最后返回到main 函数结束。

5. 执行以下程序段后,S 的值为( )。

A.13 B.16 C.17 D.45

【答案】B

【解析】

6. 有如下程序:

程序运行后的输出结果是( )。 A.A45D78 B.ABC678 C.34CD78 D.34AB78

的作用是访问数组a 中下标为k

的元素。

k=0时

【答案】A

【解析】本题执行过程为:

if 条件不成立执行else 函数体,i%3=l, if 输出字符A ; i=l,

条件成立输出字符4; i=2, i%3=2, if 条件成立输出字符5; i=3, if 条件不成立,输出字符D ; i=4和i=5时,分别输出字符7与8; i=6退出for 循环。所以程序运行后输出结果为A45D78, 故A 项正确。

7. 若有说明和语句:则此时中的值为( )。

A. B. C. 的地址

D. 不确定的值 【答案】A

【解析】定义字符数组并为其初始化,str 数组前5个元素为Hello ,

第六个元素自动赋值为

定义指针使等于字符串首地址,

指向字符串第六个元素。

8. 若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是( )。

A. 函数的形参和实参分别占用不同的存储单元 B. 形参只是形式上的存在,不占用具体存储单元 C. 同名的实参和形参占同一存储单元

D. 函数的实参和其对应的形参共占同一存储单元 【答案】A

【解析】函数体中,变量(包括形参)只在函数被调用时才临时开辟存储单元,当退出函数时,这些临时开辟的存储单元全被释放掉。C 语言中函数调用可以分成传值和传引用,传值调用,形参是实参的数据拷贝;传引用调用,形参是实参的指针拷贝;所以,形参和实参占用不同的存储单元。

9. 有以下程序:

程序运行的结果是( )。 A.4 B.34