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

2016年哈尔滨理工大学计算机科学与技术学院C语言复试笔试最后押题五套卷

  摘要

一、选择题

1. 有以下程序

程序运行后的输出结果是( )。 A.4 B.3 C.5 D.6 答:A 【解析】

2. 有以下程序:

程序运行后的输出结果是( )。 A.3 B.5 C.7 D.9 答:A

【解析】本题中for 语句的主体为一个switch 语句,switch

语句的判断条件

,然后终止本层

语句。所以当

3. 若有定义

时:C

否则执行当

时:

语句然后再执行

时执行

语句并终止本层switch

时for 循环结束。结果为3。

则下列说法中正确的是( )。

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

B. 定义了基类型为int 的具有三个元素的指针数组pt

C. 定义了一个名为答:D

具有三个元素的整型数组

D. 定义了一个名为pt 的指针变量,它可以指向每行有三个整数元素的二维数组 【解析】pt 是一个指针,指向的数据类型为含有三个约束的整型数组。

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

A. 在对指针进行加、减算术运算时,数字1表示1个存储单元的长度 B. 如果p 是指针变量,则*p表示变量p 的地址值 C. 如果p 是指针变量,则&p是不合法的表达式

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

,而是【解析】A 项正确,在对指针进行加、减运算时,数字“1”不再代表十进制整数“1”指1个存储单元长度。B 项错误,

表示p 的值;C 项错误,

表示变量p 的地址;D 项错误

是先取p 的值,然后执行+1操作,

是先对指针移动1个存储空间,然后取值。

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

A.3 B.4 C.1 D.2 答:C

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

6. 有以下程序:

程序运行后的输出结果是。 A.ABCDEF B.AbCdEf C.aBcDeF D.abcdef 答:B

【解析】本题中,当i 为偶数时,即0、2、4, 执行

会依次输出ACE ; 当i 为奇数

时,即1、3、5,执行putchar (i+b)会依次输出bdf ,所以最终输出AbCdEf 。

7. 设有两行定义语句:

int scanf; float case;

则以下叙述正确的是( )。 A. 两行定义语句都不合法 B. 两行定义语句都合法 C. 第1行语句不合法 D. 第2行语句不合法 答:D

【解析】预定义标识符是系统已经有过定义的标识符,用户可以重新定义,可以作为变量名。scanf 为库函 数名,属于预定义标识符,可以被用户重定义,第一行语句合法。C 语言关键字是被保留的,不能用作其他用途 的一些标识符,它们在程序中都代表着固定的含义,用户不可重新定义。case 是选择结构switch 语句中的关键字,不可被用户重定义,第二行语句不合法。 8. 若在程序中变量均已定义成int 类型,且已赋大于1的值,则下列选项中能正确表示代数式的表达式是( )。

答:A

【解析】abc 均大于1,所以表达式B 项错误。C 项表示表达 式

小于1,需要用浮点类型表示。若要计算表达式值,

结果

需要使其自动转化成浮点类型,A 项正确。B 项变量与常量均为整型,不会自动转换为浮点类型,

错误。D 项,算数运算法结合性自左向右,先计算

为0, 之后的计算无论是否转换数据类型结果均为0, D项错误。

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

A. 可以用typedef 说明的新类型名来定义变量

B.typedef 说明的新类型名必须使用大写字母,否则会出编译错误 C. 用typedef 可以为基本数据类型说明一个新名称

D. 用typedef 说明新类型的作用是用一个新的标识符来代表已存在的类型名 答:B

【解析】typedef 说明的新类型名习惯上用大写字母,但不是必须用大写。

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

A.C 语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令