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

2017年大连海事大学C语言程序设计(同等学力加试)复试实战预测五套卷

  摘要

一、选择题

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

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

【答案】C

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

2. 函数rewind (fp )的作用是( )。

A. 函数rewind (fp )的作用是使文件读写指针指向文件开始位置 B. 使文件位置指针指向文件的末尾 C. 使文件位置指针移至前一个字符的位置 D. 使文件位置指针移至下一个字符的位置 【答案】A

【解析】rewind ( )函数作用是使文件读写指针指向文件开始位置。

3. 有以下程序:

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

【答案】A

【解析】main ( )函数中,首先定义两个结构体STU 类型的变量a ,b , 并对a 完成初始化,然后将a 赋值给b ,使得结构体a ,b 的值都是的功能是将形参结构体指针c 指向的结构体赋值为

再调用

函数

函数

由于形参是指针,C 指向的

结构体就是b , 所以实参b 的值被修改为而a 的值不变,A 项正确。

4. 以下选项中的编译预处理命令行,正确的是( )。

A.#definePI3.14 B.##defineeps0.001 C.#DEFINETRUE D.#defineintINT 【答案】A

【解析】A 项正确。不带参数的宏定义是用一个指定的标识符来代表一个字符串,其一般形式如下:#define宏名替换文本。需要注意:①在#define、宏名和替换文本之间用空格隔开;②在C 程序中,宏定义的定义位置一般写在程序的开头;③宏名一般用大写字母表示,便于与变量名区别;④宏定义是用宏名来表示一个字符串,在宏展开时以该字符串取代宏名,这只是一种简单的代换,预处理程序对它不做任何检查;⑤宏定义不是语句,在行末不加分号,如加上分号则连分号也一起替换。B 项define 前多了一个#。C 项缺少“替换文本”。D 项不能将一个自定义标识符宏定义为关键字。

5. 有以下程序:

程序运行的结果是( )。 A.1, 2, 3, 4 B.1, 0, 7, 0 C.1, 4, 5, 9 D.3, 4, 8, 0 【答案】B

【解析】由二维数组x 的定义知,数组x 为4行4列。fun 函数中for 循环的作用是将二维数组前4行的对角线元素赋

在主函数中定义二维数组

所以可以看出对角线元素为1、0、7、0。

6. 以下选项中表示一个合法的常量是(说明:符号表示空格)( )。

【答案】B

【解析】十六进制数用数字0和字母x (或大写字母X )开头。法的常量。

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

A.C 语言函数可以嵌套调用,例如B.C 语言程序是由过程和函数组成的 C.C 语言函数不可以单独编译

D.C 语言中除了 main 函数,其他函数不可作为单独文件形式存在 【答案】A

【解析】C 语言函数不能嵌套定义,可以嵌套调用,A 项正确;C 语言程序没有过程,B 项错误;C 语言函 数可以单独编译,C 项错误;函数可以作为单独文件存在,D 项错误。

8. 有以下程序:

程序运行后的输出结果是( )。 A.0 B.1 C.2 D.3

【答案】C

【解析】“++”和“一”运算,当以前缀形式出现时,贝U 先进行加一或减一操作,再取值,当以后缀形式出现时,则先取值,再进行加一或减一操作。a 初始定义为1,b 为0,先执行--a ,结果为0,即if 判断为假,执行b+=2; ,然后输出b 的值。即b 为2。

是指十六进制数,是合