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

2017年山西大学计算机与信息技术学院863高级语言程序设计基础[专业硕士]考研仿真模拟题

  摘要

一、选择题

1. 有以下程序:

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

A.1,3

B.2,3

C.1,4

D.1,2

【答案】A

【解析】其中p=p+l; 只改变指针p 的地址,与p 的内容无关,所以m 值没有改变,而

是改变该指针所指地址中的内容,所以n 变为3,m 不变。

2. 设函数中有整型变量n ,为保证其在未赋值的情况下初值为0, 应选择的存储类别是 ( )。

A.auto

B.register

C.static

D.auto 或 register

【答案】C

【解析】静态存储类型定义变量在未对其初始化时会对其初始化为默认值,其中int 型的默认初始化是0,其他选项的存储类型不能保证。

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

A.

B.

C.

D.

【答案】D

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

第 2 页,共 51 页

4. C 语言中char 类型数据占字节数为( )。

A.3

B.4

C.1

D.2

【答案】C

【解析】char 为关键字。字符变量在内存中占一个字节,可以存放ASCII 字符集中的任何字符。

5. 以下不能用于实型数据的运算符是( )。

A.%

B./

C.*

D.+

【答案】A

【解析】“%”符号两边必须是整数,因此答案为A 项。

6. 以下叙述中正确的是( )。

A. 在对指针进行加、减算术运算时,数字1表示1个存储单元的长度

B. 如果p 是指针变量,则*p表示变量p 的地址值

C. 如果p 是指针变量,则&p是不合法的表达式

D. 如果p 是指针变量,则*p+1和*(p+1)的效果是一样的

【答案】A

,而是【解析】A 项正确,在对指针进行加、减运算时,数字“1”不再代表十进制整数“1”

指1个存储单元长度。B 项错误,

7. 有以下程序:

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

A.1, 4, 8

B.4, 4, 4

C.1, 2, 4

D.1, 1, 4

第 3 页,共 51 页 表示p 的值;C 项错误,表示变量p 的地址;D 项错误

,是先取p 的值,然后执行+1操作,是先对指针移动1个存储空间,然后取值。

【答案】B

【解析】sizeof ( )函数表示求该变量所占字节空间,同时一个指针变量占用4字节长度[在Win32系统中], 因此输出为4。

8. 有以下程序

在VC++6.0平台上编译运行,程序运行后的输出结果是( )。

A.4, 8

B.4, 4

C.2, 4

D.10, 6

【答案】A

【解析】C 语言中利用“sizeof ( )”函数判断数据类型长度,在vC6平台中,int 型数据占4个字节,double 型数据占8个字节。

9. 有以下程序:

若要使程序的运行结果为248, 应在下画线处填入的是( )。

A.

B.1248 C. D.

【答案】D

【解析】要输入248,是124的两倍,124为01111100,248为11111000,因此只要左移一位即可。

10.有以下程序:

第 4 页,共 51 页