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

2018年中国地质大学(武汉)计算机院870程序设计[专业学位]之C程序设计考研核心题库

  摘要

一、选择题

1. 有以下程序段,若变量已正确定义并赋值( )。

则与此程序段功能相同的选项是( )。

【答案】A

【解析】程序段执行过程为:如果a>b,输出x ,否则输出y ; 如果a<=b,i 加1,否则j 加1。A 项如果a>b,A 项正确。B 项如果a>b,输出x 且j 加1, 否则输出y 且i 加1, 与题目中功能相同,输出x 且i 加1,否则输出y 且j 加1,与题目中功能不相同,B 项错误。C 项如果a<=b,输出x C 项错误。D 项判断条件为a>=b,且i 加1,否则输出y 且j 加1,与题目中功能不相同,多了a=b,D 项错误。

2. 有以下程序:

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

【答案】D

【解析】函数f 对结构体进行修改,并返回新的结构体;main 函数先定义了一个结构体变量a 并为它赋初值,然后调用函数f 修改结构体变量的成员值,最后输出新的结构体变量成员。

3. 设有两行定义语句:

intscanf ; floatcase ;

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

【解析】预定义标识符是系统已经有过定义的标识符,用户可以重新定义,可以作为变量名。scanf 为库函数名,属于预定义标识符,可以被用户重定义,第一行语句合法。C 语言关键字是被保留的,不能用作其他用途的一些标识符,它们在程序中都代表着固定的含义,用户不可重新定义。case 是选择结构switch 语句中的关键字,不可被用户重定义,第二行语句不合法。

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

A.gets 函数用于从终端读入字符串 B.getchar 函数用于从磁盘文件读入字符 C.fputs 函数用于把字符串输出到文件

D.fwrite 函数用于以二进制形式输出数据到文件 【答案】B

【解析】fgeto 函数从磁盘文件中读入字符,getchar 函数从终端或者键盘接收字符。

5. 有以下程序:

程序运行后的输出结果是( )。 A.5 B.7 C.12 D.14

【答案】A

【解析】在存储字符串常量时,

由系统在字符串的末尾自动加一个strcpy 函数将“China”复制给字符数组s ,

标志。其在数组位置内存存储情况为

作为字符串的结束

strlen 。

函数统计字符串长度时,遇到结束,s 数组长度为5。

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

A.auto B.register C.static

D.auto 或 register

【答案】C

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

7. C 语言整数不包括( )。

A. 带小数点的整数 B. 正整数 C. 负整数 D. 无符号整数 【答案】A

【解析】C 语言整数包括正整数,负整数,无符号整数,不含带小数点的整数。

8. 下面结构体的定义语句中,错误的是

【答案】B

【解析】C 语言中结构体变量的定义有三种方法:定义结构体类型的同时定义结构体变量;使用无名结构体类型定义结构体变量;先定义结构体类型,后定义结构体变量。

9. 当没有指定C 语言中函数形参的存储类别时,函数形参的存储类别是( )。

A. 外部(extern ) B. 静态(static )