首页 理论教育 C语言程序设计实践教程-选择题-答案解析

C语言程序设计实践教程-选择题-答案解析

时间:2023-11-01 理论教育 版权反馈
【摘要】:选择题共40题,共40分,答题界面示意图如10-6:图10-6选择题答题界面下列叙述中正确的是()。A)标识符的长度不能任意长,最多只能包含16个字符B)用户定义的标识符必须“见名知义”,如果随意定义,则会出编译错误C)语言中的关键字不能作变量名,但可以作为函数名D)标识符总是由字母、数字和下划线组成,且第一个字符不得为数字C语言中double类型数据占字节数为()。A)12B)4C)16D)8以下叙述中正确的是()。

C语言程序设计实践教程-选择题-答案解析

选择题共40题,共40分,答题界面示意图如10-6:

图10-6 选择题答题界面

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

A) 算法的时间复杂度与空间复杂度没有直接关系

B) 一个算法的时间复杂度大,则其空间复杂度必定小

C) 一个算法的空间复杂度大,则其时间复杂度必定小

D) 一个算法的空间复杂度大,则其时间复杂度必定大

(2)有三个关系R、S和T如下:

则由关系R和S得到关系T的操作是( )。

A) 交 B) 并 C) 投影 D) 选择

(3)在关系模型中,每一个二维表称为一个( )。

A) 属性 B) 主码(键)C) 关系 D) 元组

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

A) 循环队列中的元素个数随队尾指针的变化而动态变化

B) 循环队列中的元素个数随队头指针的变化而动态变化

C) 循环队列中的元素个数随队头指针与队尾指针的变化而动态变化

(5)构成计算机软件的是( )。

A) 程序和数据 B) 程序、数据和相关文档

C) 程序和文档 D) 源代码

(6)软件的生命周期可分为定义阶段、开发阶段和维护阶段,下面不属于开发阶段的任务是( )。

A) 实现 B) 测试 C) 可行性研究 D) 设计

(7)下面不能作为结构化方法软件需求分析工具的是( )。

A) 数据字典(DD)B) 判定表 C) 数据流程图 D) 系统结构图

(8)对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为( )。

A) 9 B) 90 C) 45 D) 10

(9)若实体A和B是一对多的关系,实体B和C是一对一的联系,则实体A和C的联系是( )。

A) 一对一 B) 多对多 C) 多对一 D) 一对多

(10)一棵二叉树中共有80个叶子与70个度为1的结点,则该二叉树中的总结点数为

( )。

A) 230 B) 231 C) 229 D) 219

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

A) 计算机可以直接处理C语言程序,不必进行任何转换

B) 程序的算法只能使用流程图来描述

C) N-S流程图只能描述简单的顺序结构的程序

D) 结构化程序的三种基本结构是循环结构、选择结构和顺序结构

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

A) 复合语句在语法上包含多条语句,其中不能定义局部变量

B) 空语句就是指程序中的空行

C) 花括号对{}只能用来表示函数的开关和结尾,不能用于其他目的

D) 当用scanf多键盘输入数据时,每行数据在没按下回车键前,可任意修改

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

A) 标识符的长度不能任意长,最多只能包含16个字符

B) 用户定义的标识符必须“见名知义”,如果随意定义,则会出编译错误

C) 语言中的关键字不能作变量名,但可以作为函数名

D) 标识符总是由字母、数字和下划线组成,且第一个字符不得为数字

(14)C语言中double类型数据占字节数为( )。

A) 12 B) 4 C) 16 D) 8

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

A) 赋值语句是一种执行语句,必须放在函数的可执行部分

B) 由printf输出的数据的实际精度是由格式控制中的域和小数的域宽来完全决定的

C) 由printf输出的数据都隐含左对齐

D) scanf和printf是C语言提供的输入和输出语句

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

A) 程序可以包含多个主函数,但总是从第一个主函数处开始执行

B) 在C程序中,模块化主要是通过函数来实现的

C) 书写源程序时,必须注意缩进格式,否则程序会有编译错误

D) 程序的主函数除main外,也可以使用Main或_main

(17)以程序

执行后的输出结果是( )。

A) 32 B) 40 C) 5 D) 24

(18)当变量C的值不为2、4、6时,值也为“真”的表达式是( )。

A) (c>=2 && c<=6) && (c%2 != 1)

B) (c==2) || (c==4) || (c==6)

C) (c>=2 && c<=6) && !(c%2)

D) (c>=2 && c<=6) || (c != 3) || (c != 5)

(19)有以下定义语句,编译时会出现编译错误的是( )。

A) char a = "aa";

B) char a = 'a';

C) char a = '\x2d';

D) char a = '\n';

(20)有以下公式

若程序前面已在命令行中包含math.h文件,不能够正确计算上述公式的程序段是

(21)若有以下程序

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

A) y=0

B) while构成无限循环

C) y=1

D) y=-1

(22)有以下程序

若输入1 2 3 4 5 0 <回车>,则输出结果是( )。

A) 6666656 B) 66656 C) 66666 D) 6566456

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

A) 语句char a[2] = {“A”, “B”};是合法的,定义了一个包含两个字符的数组

B) 语句int a[8] = {0}; 是合法的

C) 语句int a[ ] = {0}; 是不合法的,遗漏了数组的大小

D) 语句char a[3]; a = “AB”; 是合法的,因为数组有三个字符空间的容量,可以保存两个字符

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

A) 语句p = NULL;与p=\0; 是等价的语句

B) 指针变量只能通过求地址运算符(&)来获得地址值

C) int *p1; int ** p2; int *p3;都是合法定义指针变量的语句

D) 语句p=NULL;执行后,指针p指向地址为0的存储单元(www.xing528.com)

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

A) 数组的下限是1

B) char c1, c2, *c3, c4[40];是合法的变量定义语句

C) 数组下标的下限由数组中第一个被赋值元素的位置决定

D) 数组下标的下限由数组中第一个非零元素的位置决定

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

A) 实用的C语言源程序总是由一个或多个函数组成

B) 在C语言的函数内部,可以定义嵌套函数

C) 不同函数的形式参数不能使用相同名称的标识符

D) 用户自己定义的函数只能调用库函数

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

A) 一条语句只能定义一个数组

B) 数组说明符的一对方括号中只能使用整型变量,而不能使用表达式

C) 每个数组包含一组具有同一类型的变量,这些变量在内存中占有连续的存储单元

D) 在引用数组元素时,下标表达式可以使用浮点数

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

A) 即使不进行强制类型转换,在进行指针赋值运算时,指针变量的基本类型也可以不同

B) 指针变量间不能用关系运算符进行比较

C) 设变量p是一个指针变量,则语句p=0;是非法的,应用使用p=NULL;

D) 如果企图通过一个空指针来访问一个内存单元,将会得到一个出错信息

(29)有以下程序

}

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

A) 4 B) 9 C) 5 D) 7

(30)以下函数的功能是将形参s所指字符串内容颠倒过来

在横线处应填入的内容是( )。

A) -1 B) ,k=0 C) +0 D) +1

(31)以下选项中,能正确进行字符串赋值的是( )。

A) char s[4][5] = {“ABCDE”};

B) char s[5] = {‘A’, ‘B’, ‘C’, ‘D’, ‘E’};

C) char *s = “ABCDE”;

D) char *s ; gets(s);

(32)有以下程序

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

A) 8,17

B) 7, 16

C) 7, 17

D) 8, 8

(33)有以下程序

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

A) ABCDEFGHIJKL

B) ABCDEFGHIJKLMNOP

C) ABCD

D) AEIM

(34)有以下程序

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

A) EDCBA

B) abcde

C) edcba

D) ABCDE

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

A) 可以通过typedef增加新的类型

B) 可以用typedef将已存在的类型用一个新名字来代表

C) 用typedef可以为各种类型起别名,但不能为变量起别名

D) 用typedef定义新的类型名后,原有类型名仍有效

(36)有以下程序

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

A) Zhao, f, 95, 92

B) Qian, f, 95, 92

C) Qian, m, 85, 90

D) Zhao, m, 85, 90

(37)有以下定义和语句

能给w中year成员赋1980的语句是( )。

A) w.year = 1980;

B) w.s.year = 1980;

C) pw->year = 1980;

D) *pw->year = 1980

(38)有以下程序

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

A) 20, 15,

B) 30, 17,

C) 20, 30,

D) 15, 30,

(39)有以下程序

若文本文件filea.txt中原有内容为:hello,则运行以上程序后,文件filea.txt中的内容为( )。

A) abchello

B) helloabc

C) abclo

D) abc

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

A) 预处理命令行的最后不能以分号表示结束

B) C语言对预处理命令行的处理是在程序执行的过程中进行的

C) 在程序中凡是以“#”开始的语句行都是预处理命令行

D) #define MAX 是合法的宏定义命令行

参考答案:

一、选择题

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈