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

2018年华侨大学工院847C语言程序设计考研核心题库

  摘要

一、选择题

1. 有以下程序:

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

【答案】D

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

2. 有以下程序:

程序的运行结果是。(口代表一个空格) A.10,12,a B. □□0,012,a C.010,12,a D. □□10,12,a

【答案】D

【解析】%4d 表示先输出十进制,共占4个字符,而10已占2个字符,故先输出2个空格,然后输出10; %0表示输出八进制,10的八进制为12; 表示输出十六进制,即a 。

3. 下列叙述中正确的是( )。

A. 可以用关系运算符比较字符串的大小 B. 空字符串不占用内存,其内存空间大小是0 C. 两个连续的单引号是合法的字符常量 D. 两个连续的双引号是合法的字符串常量 【答案】D

【解析】A 项错误,关系运算符不能比较字符串大小,可以用函数库中的字符串比较函数来比较字符串的大小;B 项错误,空字符串占用一个字节的内存;C 项错误,字符常量是用单引号把一个字符括起来;D 项正确,两个连续的双引号是一个字符串常量,称为空串。

4. 以下关于逻辑运算符两侧运算对象的叙述中正确的是( )。

A. 可以是任意合法的表达式 B. 只能是整数0或非0整数 C. 可以是结构体类型的数据 D. 只能是整数0或1 【答案】A

【解析】C 语言的逻辑运算符比较特别,它的操作数没有明确的数据类型,可以是任意合法的表达式。

5. 有以下程序:

程序运行后的输出结果是( )。 A.1, 2, 1, 2, 0 B.1, 5, 0, 4, 0, C.1, 5, 5, 4, 0, D.0, 4, 0, 4, 0, 【答案】D 【解析】

表示与运算,

主函数首先定义一个数组

初始化前4个元素的值,其余默

认值为0。在for 循环中,为数组array 中每一个元素换算成二进制数后和二进制整数“100”进行按位与运算,再将结果进行输出,D 项正确。

6. 下列叙述中错误的是( )。

A.C 程序可以由一个或多个函数组成 B.C 程序可以由多个程序文件组成 C. 一个C 语言程序只能实现一种算法

D. —个C 函数可以单独作为一个C 程序文件存在 【答案】C

【解析】一个C 语言程序可以实现任意多种算法,并没有数量限制

7. 关于C 语言中数的表示,以下叙述中正确的是( )。

A. 只有整型数在允许范围内能精确无误地表示,实型数会有误差 B. 只要在允许范围内整型和实型都能精确表示

C. 只有实型数在允许范围内能精确无误地表示,整型数会有误差 D. 只有八进制表示的数才不会有误差 【答案】A

【解析】实型数据在内存中存储的二进制位数是有限的,而一个十进制实数转化为二进制实数时,其有效数字位数有可能会超过尾数的存储长度,从而导致有效数字丢失而产生误差。在整形数允许范围之内,二进制可以表示任意一个整数。

8. 以下能正确进行字符串赋值的语句组是( )。

A.

B.

C. D. 【答案】A

【解析】一个字符串包括字符部分和字符串结束标志。将字符指针变量初始化为一个字符串有两种方式,① 通过赋值运算使一个字符指针指向一个字符串常量:一个字符指针变量,并且初始化为一个字符串的首地址

②定义

A 项正确。B 项定义一

个字符数组并为其赋初值,因为没有字符串结束标志,所以字符数组不是一个字符串,B 项错误。C 项定义字符数组,长度为3, 用字符串“abc”初始化,但是字符串的结束标志由于数组长度不够并未放入数组,所以数组不是一个完整的字符串,C 项错误。D 项正确 定义了数组,长度为4, 但

是不能用这样的形式

9. 有以下程序

为数组赋值,需要按照元素赋值,D 项错误。