国家二级(C语言)机试历年真题试卷汇编21
选择题
1.下列叙述中正确的是( )。(D)
A. 算法就是程序
B. 设计算法时只需要考虑数据结构的设计
C. 设计算法时只需要考虑结果的可靠性
D. 以上三种说法都不对
解析:算法是指解题方案的准确而完整的描述,算法不等于程序,也不等于计算方法,所以A错误。设计算法时不仅要考虑对数据对象的运算和操作,还要考虑算法的控制结构。
2.下列叙述中正确的是( )。(B)
A. 有一个以上根结点的数据结构不一定是非线性结构
B. 只有一个根结点的数据结构不一定是线性结构
C. 循环链表是非线性结构
D. 双向链表是非线性结构
解析:线性结构应满足:有且只有一个根结点与每个结点最多有一个前件,也最多有一令后件,所以B正确。所以有一个以卜根结点的数据结构一定是非线性结构,所以A错误。循环链表和双向链表都是线性结构的数据结构。
3.下列关于二叉树的叙述中,正确的是( )。(B)
A. 叶子结点总是比度为2的结点少一个
B. 叶子结点总是比度为2的结点多一个
C. 叶子结点数是度为2的结点数的两倍
D. 度为2的结点数是度为1的结点数的两倍
解析:根据二叉树的基本性质3:在任意一棵二叉树中,度为0的叶子结点总是比度为2的结点多一个。所以选择B。
4.软件生命周期中的活动不包括( )。(A)
A. 市场调研
B. 需求分析
C. 软件测试
D. 软件维护
解析:软件生命周期可以分为软件定义、软件开发与软件运行维护三个阶段。主要活动阶段是:可行性研究与计划阶段、需求分析、软件设计、软件实现、软件测试、运行和维护,所以选择A。
5.某系统总体结构图如下图所示:
(C)
A. 7
B. 6
C. 3
D. 2
解析:根据总体结构图可以看出该树的深度为3,比如:XY系统——功能2——功能2.1,就是最深的度数的一个表现。
6.程序调试的任务是( )。(D)
A. 设计测试用例
B. 验证程序的正确性
C. 发现程序中的错误
D. 诊断和改正程序中的错误
解析:程序调试的任务是诊断和改正程序中的错误。
7.下列关于数据库设计的叙述中,正确的是( )。(A)
A. 在需求分析阶段建立数据字典
B. 在概念设计阶段建立数据字典
C. 在逻辑设计阶段建立数据字典
D. 在物理设计阶段建立数据字典
解析:数据字典是在需求分析阶段建立,在数据库设计过程中不断修改、充实和完善的。
8.数据库系统的三级模式不包括( )。(D)
A. 概念模式
B. 内模式
C. 外模式
D. 数据模式
解析:数据库系统的三级模式是概念模式、外模式和内模式,所以选择D。
9.有三个关系R、S和T如下:
(A)
A. 自然连接
B. 交
C. 投影
D. 并
解析:自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,所以根据T中元组可以判断R和s做的是自然连接操作。
10.下列选项中属于面向对象设计方法主要特征的是( )。(A)
A. 继承
B. 自顶向下
C. 模块化
D. 逐步求精
解析:面向对象基本方法的基本概念有对象、类和实例、消息、继承与多态性,所以选择A。
11.以下叙述中错误的是( )。(C)
A. 算法正确的程序可以有零个输入
B. 算法正确的程序最终一定会结束
C. 算法正确的程序可以有零个输出
D. 算法正确的程序对于相同的输入一定有相同的结果
解析:算法的特征:①有穷性。一个算法(对任何合法的输入)在执行有穷步后能够结束,并且在有限的时间内完成。②确定性。算法中的每一步都有确切的含义。③可行性。算法中的操作能够用已经实现的基本运算执行有限次来实现。④输入:一个算法有零个或者多个输入,零个输入就是算法本身确定了初始条件。⑤输出:一个算法有一个或者多个输出,以反映出数据加工的结果。所以C选项错误。
12.以下叙述中正确的是( )。(D)
A. C语句必须在一行内写完
B. C程序中的每一行只能写一条语句
C. C语言程序中的注释必须与语句写在同一行
D. 简单C语句必须以分号结束
解析:C语句可以跨行来写,但是必须以分号结束,所以A选项错误。C程序中的一行可以有多条语句,所以B选项错误。C语言中的注释语句可以与原语句放在一行也可以不放在一行,所以C选项错误。
13.以下选项中关于C语言常量的叙述错误的是( )。(A)
A. 经常被使用的变量可以定义成常量
B. 常量分为整型常量、实型常量、字符常量和字符串常量
C. 常量可分为数值型常量和非数值型常量
D. 所谓常量,是指在程序运行过程中,其值不能被改变的量
解析:C语言中,常量是指在程序运行过程中其值不能被改变的量,变量是指运行过程中其值可以改变的量,二者不能混淆,所以A选项错误。
14.以下选项中,不合法的C语言用户标识符是( )。(C)
A. a_b
B. AaBc
C. a–b
D. _1
解析:C语言规定,变量命名必须符合标识符的命名规则,C选项中包含了非法字符“-”,所以错误。标识符由字母、数字或下划线组成,且第一个字符必须是大小写英文字母或者下划线,而不能是数字。
15.若变量均已正确定义并赋值,以下合法的C语言赋值语句是( )。(A)
A. x=y==5;
B. x=n%2.5;
C. x+n=i;
D. x=5=4+1;
解析:B选项中运算符“%”的前后必须为整数,C选项中不能将变量赋给表达式x+n,D选项中不能将表达式4+1赋给常量5。
16.设有定义:
int a;float b;
执行
scanf(\\(A)
A. 87和6.0
B. 876和543.0
C. 87和543.0
D. 76和543.0
解析:在格式字符前加入一个整数可以指定输入数据所占的宽度.所以赋值时会将87赋给int型变量a,把6.0赋给int型float型变量b。
17.有以下定义语句,编译时会出现编译错误的是( )。(D)
A. char a=’\x2d’;
B. char a=’\n’;
C. char a=’a’;
D. char a=\\
解析:D选项中将字符串常量“aa”赋给字符变量a是错误的。
18.当变量e的值不为2、4、6时,值也为”真”的表达式是( )
本文档预览:3600字符,共14044字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载