国家二级C语言机试(选择题)模拟试卷358
选择题
1.以下选项中关于程序模块化的叙述错误的是(B)
A. 把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块
B. 可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序
C. 把程序分成若干相对独立的模块,可便于编码和调试
D. 可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序
解析:如果应用结构化程序设计方法设计程序,那么可采用自顶向下,逐步细化的设计方法把若干独立模块组装成所要求的程序。
2.下列关于栈的叙述中正确的是( )。(B)
A. 栈按“先进先出”组织数据
B. 栈按“先进后出”组织数据
C. 只能在栈底插入数据
D. 不能删除数据
解析:栈是只允许在栈顶进行插入和删除运算的线性表,按“先进后出”组织数据。
3.下列叙述中正确的是( )。(B)
A. 线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的
B. 线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构
C. 线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构
D. 线性表的链式存储结构所需要的存储空间与顺序存储结构没有任何关系
解析:线性链式存储结构中每个结点都由数据域与指针域两部分组成,增加了存储空间,所以一般要多于顺序存储结构。
4.设循环队列的存储空间为Q(1:35),初始状态为front=rear=35。现经过一系列入队与退队运算后,fronl=15,rear=1 5,则循环队列中的元素个数为(D)
A. 15
B. 16
C. 20
D. 0或35
解析:循环队列的队头指针和尾指针都等于15,此循环队列中元素的个数有两种情况,第一种情况是队头指针和尾指针都是第一次到达15,此时元素个数为0;第二种情况是队头指针第一次到达15,而尾指针第二次到达15,此时元素个数为35。
5.下列关于栈的描述中正确的是(C)
A. 在栈中只能插入元素而不能删除元素
B. 在栈中只能删除元素而不能插入元素
C. 栈是特殊的线性表,只能在一端插入或删除元素
D. 栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素
解析:栈是限定在一端进行插入与删除的线性表,在栈中。允许插入与删除的一端称为栈顶,不允许插入与删除的另一端称为栈底。
6.以下叙述中正确的是(D)
A. 标识符的长度不能任意长,最多只能包含16个字符
B. 语言中的关键字不能作变量名,但可以作为函数名
C. 用户自定义的标识符必须“见名知义”,如果随意定义,则会出编译错误
D. 标识符总是由字母、数字和下划线组成,且第一个字符不得为数字
解析:标识符就是C语言中的变量名、函数名、数组名、文件名、类型名等。C语言合法标识符的命名规则是:
①标识符由字母、数字和下划线组成;
②第一个字符必须为字母或下划线;
③大写字母与小写字母被认为是两个不同的字符;
④C语言规定了一个标识符允许的字符个数,为32,超过的字符将不被识别。
C语言的标以符可分为以下3类:①火键字,不能用于为自定义标识符命名。②预定义标识符。③用户标识符。由用户根据需要定义的标识符称为用户标识符,又称自定义标识符,一般用来给变量、函数、数组等命名,一般做到见名知义,但是没有特殊规定。
7.下列叙述中正确的是(A)
A. 对长度为n的有序链表进行查找,最坏情况下需要的比较次数为n
B. 对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)
C. 对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)
D. 对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(nlog2n)
解析:本题主要考查的知识点为查找技术。顺序查找的使用情况:①线性表为无序表;②表采用链式存储结构。二分法查找只适用于顺序存储的有序表,并不适用于线性链表。
8.表达式:(int)((double)9/2)-9%2的值是(C)
A. 0
B. 4
C. 3
D. 5
解析:这个表达式的计算过程为,首先求出9除以2的商等于4,再把其强制转化为实型数据为4.0,然后再强制转4,减去9对2求余数1,得到其结果等于3。
9.已知字符’A’的ASCII代码值是65,字符变量c1的值是’A’,c2的值是’D’。则执行语句printf(\\(C)
A. A,68
B. A,B
C. 65,66
D. 65,68
解析:在C语言中,字符常量在内存中占一个字节,存放的是字符的ASCII码值。所有的字符常量都作为整型量来处理。在本题中输出语句用整型格式输出字符时,输出的是其ASCII码值。因为字符’A’和’D’的ASCII码值分别为65和68,所以c2-2=68-2=66。
10.在软件开发中,需求分析阶段产生的主要文档是(B)
A. 可行性分析报告
B. 软件需求规格说明书
C. 概要设计说明书
D. 集成测试计划
解析:需求分析的最终结果是生成软件需要规格说明书,可以为用户、分析人员和设计人员之间的交流提供方便,可以直接支持目标与确认,又可以作为控制软件开发进程的依据。
11.以下叙述中正确的是(A)
A. 赋值语句是一种执行语句,必须放在函数的可执行部分
B. scanf和printf是C语言提供的输入和输出语句
C. 由printf输出的数据都隐含左对齐
D. 由printf输出的数据的实际精度是由格式控制中的域宽和小数的域宽来完全决定的
解析:C语言本身没有提供输入输出语句,但是可以通过调用标准库函数中提供的输入和输出函数来实现输入和输出,选项B错误;采用printf输出数据,输出数据都默认为右对齐,若要左对齐,可以存格式控制中的”%”和宽度之间加一个”-”号来实现,选项C错误;printf的输出精度由变量的类型决定,与域宽无关,选项D错误。
12.设有定义:inta;floatb;执行scanf(’’%2d%f’,&a,&b);语句时,若从键盘输入876543.0则a和b的值分别是(B)
A. 876和543.0
B. 87和6.0
C. 87和543.0
D. 76和543.0
解析:在输入函数scanf的输入格式符%2d%f中,2d表示输入的数据的宽度为2,所以当从键盘输入876543.0<CR>时,这时把输入数字串的前两位87赋给变量a,然后将紧接着将6按照格式控制符%f的形式赋给变量b,所以b的值为6.000000。
13.设有关系表学生S( 学号,姓名,性别,年龄,身份证号) ,每个学生学号唯一。除属性学号外,也可以作为键的是( )。(B)
A. 姓名
B. 身份证号
C. 姓名,性别,年龄
D. 学号,姓名
解析:在二维表中凡能唯一标识元组的最小属性集成为该表的键或码。根据这个概念,在以上选项中,身份证号可以作为该表的键,答案选B。
14.数据流图(DFD)中的有向箭头(→)表示(A)
A. 数据流
B. 控制流
C. 输入流
D. 输出流
本文档预览:3600字符,共12130字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载