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

2017年北京林业大学程序设计语言(同等学力加试)考研复试核心题库

  摘要

一、选择题

1. 设有定义:

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

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

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

2. 以下选项中能表示合法常量的是( )。

A. 整数:1,200 B. 实数:

1.5E2.0

【答案】D

【解析】A 项错误,表达错误;B 项错误,E 后面应为整数,不能是小数;C 项错误;字符斜杠的表示方法

因为第一个\表示是转义字符;D 项正确,表示空字符串,

第一个字符为

正确。

3. 在C 语言中,只有在使用时才占用内存单元的变量,其存储类型是( )。

A.auto 和 register B.extern 和 register C.auto 和 static D.static 和 register 【答案】A

【解析】C 语言中,动态存储区域中存放的变量在使用时才分配内存空间,函数调用时返回auto 变量的储存处单元是分配在内存的动态的地址和自动类 局部变量等存放在动态存储区域中。

存储区中,每当进入函数体时自 动分配存储单元。register 变量也是自动类变量, 。static 说明的变extern 量为静态变量,静态变量在内存的静态存储中 占据着永久的存储单元,直至程序运行结束。说明的变量为外部变量,属于全局变量,全局变量在整个程 序运行期间都占用内存空间。

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

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

【答案】B

【解析】A 项,先执行:为假;C 项,先执行

即为1,再执行1==1,结果为真。

5. 下列语句中,正确的是( )。

【答案】A

【解析】A 项,将存放字符串常量的无名存储区的首地址赋给指针变量;BD 两项错误,C 语言中不可以用赋值语句给字符数组整体赋一字符串,可以逐个给数组元素赋字符值,并在最后加入字符串结束标志;C 项,赋 值格式错误。

6. 有以下程序(注:字符a 的ASCII 码值为97):

程序运行后的输出结果是( )。 A.abc B.789 C.7890 D.979800 【答案】B

【解析】a 、b 、c 的ASCII 值分别为97、98、99。程序中执行输出S 中的内容与10进行模运算后的值,s 是一个指针,首先指向字符a ,先执行97%10, 结果为7; 然后++s,指针指向下一个字符b ,执行98%10, 结果为8, 直到s 所指为空,故最后输出的结果为789。

7. 有以下程序:

结果为真;B 项,先执行为真,即为1,1>2结果

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

程序运行后的输出结果是( )。 A.10,64 B.10,10 C.64,10 D.64,64 【答案】A

【解析】C 语言中带参数的宏可以理解为用参数直接替代定义式中的变量,而不经过任何修改。所以

8. 以下选项中合法的C 语言赋值语句是( )。

A.++i; B.a=b=34 C.a=3,b=9

D.k=int(a+b); 【答案】A

【解析】B 项和C 项缺少分号,不合法。D 项类型转换不合法,应为k=(int )(a+b)。

二、设计题

9. 请编写一个函数fun , 它的功能是:将一个表示正整数的数字字符串转换为一个整数(不得调用C 语言 提供的将字符串转换为整数的函数)。例如,若输入字符串数值1234。函数fun 中给出的语句仅供参考。

注意:部分源程序存在文件干语句。

给定源程序:

则函数把它转换为整

中。

请勿改动主函数main 和其他函数中的任何内容,仅在函数fun 的花括号中填入需要编写的若