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

2017年中南林业科技大学计算机与信息工程学院341农业知识综合三之C程序设计考研导师圈点必考题汇编

  摘要

一、选择题

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

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

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

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

2. 以下选项中有语法错误的是

A. B. C. D. 【答案】D

【解析】考查指针数组的概念,选项D 中str 为二维字符数组,不能直接把一个字符串赋值到二维数组的某一行中。

3. 有以下程序:

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

【答案】C

【解析】本题将两个字符串常量赋值给一个二维字符数组,用字符常量为字符数组赋值需要

第 2 页,共 37 页

在最后加上一个休止符表示字符串结束,所以数组长度为字符的个数加1, 而且数组的下标是

从0开始计数,所以P 指向第二个字符串。

4. 若有定义则下列说法中正确的是( )。

A. 定义了基类型为int 的三个指针变量

B. 定义了基类型为int 的具有三个元素的指针数组pt C. 定义了一个名为【答案】D

【解析】pt 是一个指针,指向的数据类型为含有三个约束的整型数组。

5. 设有定义:

则以下赋值语句中错误的是( )。 A.data2=datal;

B.data2=(2,6); C.data2.real=datal.real; D.data2.real=datal.unreal; 【答案】B

【解析】B 项错误,对结构体进行初始化时,应该用花括号括起来的一组值,而不是用小括号。

6. 有以下程序:

程序的运行结果是( )。 A.23 B.26 C.33 D.36

【答案】A

第 3 页,共 37 页

具有三个元素的整型数组

D. 定义了一个名为pt 的指针变量,它可以指向每行有三个整数元素的二维数组

【解析】题中把数组首元素地址赋值给指针变量q ,在for 循环体内,当把指针q 指向的单元值加1,等于3赋给循环体,此时i 不等于0, 指针q 地址加1,指向

7. 下列叙述中正确的是( )。

B. 两个连续的单引号(“)是合法的字符常量 C. 可以对字符串进行关系运算

D. 空字符串不占用内存,其内存空间大小是0 【答案】A

此时

时,满足if 语句,

后再次进人

接着输出q 指针指向单元的值2;

因此最后函数输出的分别是2, 3。

A. 两个连续的双引号(“”)是合法的字符串常量

【解析】A 项正确,两个连续的双引号:"" 也是一个字符串常量,称为“空串”。B 项错误,两个连续的单引号表示空字符,空字符它不占内存,故其不能称之为字符常量,常量是要有地址C 项错误,C 语言中不能对字符串直接使用关系运算符进行运算,的;但是可以使用比较函数strcmp 进行比较;D 项错误,空串要占一个字节的存储空间来存放

8. 有以下函数:

该函数的功能是( )。

A. 计算字符串的长度 B. 计算字符串所占字节数 C. 将字符串逆序存放 D. 实现字符串的复制 【答案】D

while 循环语句中,【解析】实现功能是把q 指针指向地址单元的值赋给P 指针指向的地址中,且每次完成赋值后,移动指针,进行下一次赋值,直到q 指针指向字符串结束符时,退出while 循环,功能为把q 指向的字符串复制到p 指向的地址中。

9. 为了避免在嵌套的if-else 语句中产生二义性,C 语言规定与else 子句配对是( )。

A. 与其在同一行上的if 子句 B. 在其之后最近的不带else 的if 子句 C. 与其缩排位置相同的if 子句

D. 在其之前最近的不带else 的同层if 子句 【答案】D

【解析】if 总是与它上面最近的、未配对的else 配对。

第 4 页,共 37 页