国家二级C语言机试(选择题)模拟试卷356
选择题
1.设数据结构B=(D,R),其中
D={a,b,c,d,e,f}
R={(f,a),(d,b),(e,d),(e,e),(a,c)}
该数据结构为( )。(A)
A. 线性结构
B. 循环队列
C. 循环链表
D. 非线性结构
解析:数据的逻辑结构有两个要素:一是数据元素的集合,通常记为D;二是D上的关系,它反映了D中各数据元素之间的前后件关系,通常记为R。即一个数据结构可以表示成B=(D,R)。其中B表示数据结构。为了反映D中各数据元素之间的前后件关系,一般用二元组来表示。例如,假设a与b是D中的两个数据,则二元组(a,b)表示a是b的前件,b是a的后件。本题中R中的根节点为f,元素顺序为f→a→c→e→d→b,满足线性结构的条件。
2.若有以下程序
#include
main() {
int a=0,b=0,c=0,d;
c= (a+=b,,b+=a); /*第4行*/
d=c;; /*第5行*/
; /*第6行*/
printf(“%d,%d,%d\n”,a,b,c);/*第7行*/
}
编译时出现错误,你认为出错的是(A)
A. 第4行
B. 第5行
C. 第6行
D. 第7行
解析:第4行出错,在第4行括号中两个逗号不可以为空。单独的分号为C语言的空语句,是编译程序可以识别并且编译的,因此第5、6行都是正确的。
3.有以下程序,程序的输出结果是
main(){char c1=’A’,c2=’Y’;printf(\\(C)
A. 输出格式不合法,输出出错信息
B. 65.90
C. 65,89
D. A,Y
解析:C语言允许对整型变量赋以字符值,世允许对字符变量赋以整型值。在输出时,允许把字符变量按整型量输出,也允许把整型量按字符量输出。
4.循环队列的存储空间为Q(1:50),初始状态为front=rear=50。经过一系列正常的入队与退队操作后,front=rear=25,此后又插入一个元素,则循环队列中的元素个数为(A)
A. 1,或50且产生上溢错误
B. 51
C. 26
D. 2
解析:循环队列初始状态front=rear=50,经过一系列入队和出队操作后,结束状态还是front=rear=25,这说明入队元素个数和出队元素个数一样多。这样一来最后的元素个数就和原来的元素个数一样多,明显不是0就是50,即要么队空(0个元素),要么队满(50个元素)。这时进行入队操作,如果是队空(0个元素)的情况,此时元素个数为1;如果是队满(50个元素)的情况,就会产生上溢错误。
5.下列叙述中,不属于软件需求规格说明书的作用的是( )。(D)
A. 便于用户,开发人员进行理解和交流
B. 反映出用户问题的结构,可以作为软件开发工作的基础和依据
C. 作为确认测试和验收的依据
D. 便于开发人员进行需求分析
解析:软件需求规格说明书有以下几个方面的作用:
①便于用户、开发人员进行理解和交流;
②反映出用户问题的结构,可以作为软件开发工作的基础和依据;
③作为确认测试和验收的依据。
6.下列描述中正确的是(A)
A. 软件测试的主要目的是发现程序中的错误
B. 软件测试的主要目的是确定程序中错误的位置
C. 为了提高软件测试的效率,最好由程序编制者自己来完成软件测试的工作
D. 软件测试是证明软件没有错误
解析:软件测试是为了发现错误而执行程序的过程。一个好的测试用例是指很可能找到迄今为止尚未发现的错误的用例;一个成功的测试是发现了至今尚未发现的错误的测试。为了达到好的测试效果,应该由独立的第三方来构造测试,程序员应尽量避免检查自己的程序。
7.有定义语句:int a;long b;double x,y;,则以下选项中正确的表达式是( )。(B)
A. a=x<>y
B. a%(int)(x-y)
C. (a*y)%b
D. y=x+y=x
解析:C语言中没有“<>”运算符,所以A选项错误。“%”运算符的两个操作值必须为整型数据,所以B选项正确。a*y的结果为double型,所以C选项错误。不能将值赋给像x+y这样的表达式,所以D选项错误。
8.下面叙述中错误的是(A)
A. 软件测试的目的是发现错误并改正错误
B. 对被调试的程序进行“错误定位”是程序调试的必要步骤
C. 程序调试通常也称为Debug
D. 软件测试应严格执行测试计划,排除测试的随意性
解析:软件测试是为了发现错误而执行程序的过程。软件测试要严格执行测试计划,排除测试的随意性。程序调试通常也称Debug,对被调试的程序进行“错误”定位是程序调试的必要步骤。
9.如果需要打开一个已经存在的非空文件“FILE”并进行修改,正确的语句是( )。(D)
A. fp=fopen(’’FILE\\
B. fp=fopen(’’FILE’’,’’a+’’);
C. fp=fopen(’’FILE\\
D. fp=fopen(’’FILE’’,’’r+’’);
解析:本题考查打开文件函数fopen(),打开文件函数fopen()的调用形式为:fp=fopen(文件名,文件使用方式)。“文件使用方式”说明:方式“r”为以输入方式打开一个文本文件;方式“a+”为以读/写方式打开一个文本文件,保留文件中原有的数据;方式“w+”为以读/写方式建立一个新的文本文件;方式“r+”为以读/写方式打开一个文本文件。
10.违背数据流图(DFD)构造规则的是(A)
A. “数据存储”间有数据流
B. “数据流”应标识数据流名
C. “加工”应既有输入又有输出
D. 父图子图是指相邻上下两层的数据流图
解析:数据流图原则:①一个加工的输出数据流不应与输入数据流同名,即使它们的组成成分相同:②保持数据守恒。也就是说, 一个加工所订输出数据流中的数据必须能从该加工的输入数据流中直接获得,或者说是通过该加工能产生的数据;③每个加工必须既有输入数据流,义有输出数据流:④所有的数据流必须以一个外部实体开始,并以一个外部实体结束:⑤外部实体之间不应该存在数据流。
11.有以下程序:
#include<stdio.h>
main( )
{
int s[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i;
for(i=0;i<12;i++)
e[s[i]]++;
for(i=1;i<5;i++)
prinff(\\(B)
A. 2 3 4 4
B. 4 3 3 2
C. 1 2 3 4
D. 1 1 2 3
解析:在for(i=0;i<12;i++)c[s[i]]++中,数组元素s[i]的值作为数组c的下标,当退出循环时,数组c的4个元素的值分别为4、3、3、2,因此B选项正确。
12.计算机软件的构成是(D)
A. 源代码\\t
本文档预览:3600字符,共12762字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载