国家二级C语言机试(选择题)模拟试卷277
选择题
1.下列叙述中正确的是(D)
A. 算法就是程序\\t
B. 设计算法时只需要考虑数据结构的设计
C. 设计算法时只需要考虑结果的可靠性
D. 设计算法时要考虑时间复杂度和空间复杂度
解析:算法复杂度,即算法在编写成可执行程序后,运行时所需要的资源,资源包括时间资源和内存资源。算法分析的目的在于选择合适算法和改进算法。一个算法的评价主要从时间复杂度和空间复杂度来考虑。
2.下列叙述中正确的是(D)
A. 栈是“先进先出”的线性表
B. 队列是“先进后出”的线性表
C. 循环队列是非线性结构
D. 有序线性表既可以采用顺序存储结构,也可以采用链式存储结构
解析:本题主要考查了栈、队列、循环队列的概念,栈是先进后出的线性表,队列是先进先出的线性表。根据数据结构中各数据元素之间的前后件关系的复杂程度,一般将数据结构分为两大类型:线性结构与非线性结构。有序线性表既可以采用顺序存储结构,又可以采用链式存储结构。
3.在面向对象方法中,不属于“对象”基本特点的是( )。(A)
A. 一致性
B. 分类性
C. 多态性
D. 标识唯一性
解析:对象有如下一些基本特点:标识唯一性、分类性、多态性、封装性、模块独立性好,所以选择A选项。
4.下面描述中不属于软件需求分析阶段任务的是( )。(B)
A. 撰写软件需求规格说明书
B. 软件的总体结构设计
C. 软件的需求分析
D. 软件的需求评审
解析:软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。需求分析阶段的工作可以分为4个方面:需求获取、需求分析、编写需求规格说明书和需求评审。软件的总体结构设计属于软件设计阶段的任务。
5.设一棵树的度为3,其中没有度为2的结点,且叶子结点数为5。该树中度为3的结点数为(B)
A. 1
B. 2
C. 3
D. 不可能有这样的树
解析:树的度是指一棵树中,最大的结点的度称为树的度。本题中树的度为3,那么树中最少有一个结点的度为3。而树中没有度为2的结点,叶子结点数为5,度为1的结点下面只有一个叶子结点。因此,该树中含2个度为3的结点满足题目要求。
6.若变量均已正确定义并赋值,以下合法的C语言赋值语句是(D)
A. x=n%2.5:
B. x+n=i;
C. x=5=4+1;
D. x=y==5;
解析:选项D的含义是把关系表达式y==5的值赋给变量x。所以这是一条正确的赋值语句。因为赋值运算符左侧的操作数必须是一个变量,而不能是表达式或者常量。因为求余运算符“%”两侧的运算对象都应当是整型数据。
7.若在定义语句:inta,b,c,*p=&c;接着执行以下选项中的语句,则能正确执行的语句是(C)
A. scanf(’’%d%d%dtt,a,b,c);
B. scanf(’’%dt.,a,b,c);
C. scanf(’’%d’’,p);
D. scanf(’’%d’’,&p);
解析:程序语句inta,b,c,*p=&c;定义了三个整型变量a,b,c,和一个整型指针变量p,并且把变量c的地址赋给p。scanf函数的一般形式为”scanf(“格式控制字符串”,地址列表)”,其中的地址列表应当是存放输入数据变量的地址。
8.合法的C语言常量是( )。(A)
A. -20.
B. -020
C. -2el.0
D. -20.0e
解析:C语言常量指数表达式中字母e或E之前必须有数字,且e或E后面的指数必须为整数。
9.若变量已正确定义为int型,要通过语句scanf(\\(D)
A. 1,2,3<回车>
B. □□□1,2,3<回车>
C. 1,□□□2,□□□3<回车>
D. 1□2□3<回车>
解析:在输入整数或实数这类数值型数据时,输入数据之间必须用空格、回车符、制表符等间隔符隔开,间隔符个数不限。scanf( )的格式控制串也可以使用其他非空白字符,如本题中的逗号,但在输入时必须输入这些字符,以保证匹配,所以逗号必须输入。
10.软件调试的目的是(B)
A. 发现错误
B. 改正错误
C. 改善软件的性能
D. 验让软件的正确性
解析:软件调试的任务是诊断和改正程序中的错误。程序调试活动由两部分组成,一是根据错误的迹象确定程序中的错误的确切性质、原因和位置。二是对程序进行修改,排除这个错误。
11.有以下程序:
#include<stdio.h>
main()
{
int i,t[][3]={9,8,7,6,5,4,3,2,1};
for(i=0;i<3;i++)
printf(\\(A)
A. 3 5 7
B. 7 5 3
C. 3 6 9
D. 7 5 1
解析:二维数组t[][3]实际上指t[3][3]={{9,8,7},{6,5,4},{3,2,1}},通过循环语句for语句可以得到i=0,t[2][0]=3、i=1,t[1][1]=5、i=2,t[0][2]=7、i=3时循环结束,即t[2][0]=3、t[1][1]=5、t[0][2]=7,因此A选项正确。
12.某系统结构图如下图所示,则该结构图的深度是
(C)
A. 1
B. 2
C. 3
D. 4
解析:树中结点的层次从根开始定义起,根为第一层,根的孩子为第二层,依次累计。树中结点的最大层次称为树的深度。所以由题目中系统结构图,得到该树的深度为3,因此应选C选项。
13.软件设计一般划分为两个阶段,两个阶段依次是(A)
A. 总体设计(概要设计)和详细设计
B. 算法设计和数据设计
C. 界面设计和结构设计
D. 数据设计和接口设计
解析:软件设计可以分为概要设计和详细设计两个阶段。概要设计就是结构设计,其主要目标就是给出软件的模块结构,用软件结构图表示。详细设计的首要任务就是设计模块的程序流程、算法和数据结构,次要任务就是设计数据库,常用方法还是结构化程序设计方法。所以选项A正确。
14.不合法的数组定义是( )。
D
解析:二维数组定义和初始化是允许省略行下标,不允许省略列下标,因此int a[4][]的定义有误。
15.以下程序的输出结果是( )。
void fun(int n,int *s){int f;
if(n==1)*s=n+1;
else{fun(n一1,&f);*s=f;}}
main(){int x=0;
fun(4,&x);
printf(’’%d\n’’,x);
}(D)
A. 4
B. 3
C. 1
D. 2
解析:题目中函数fun为递归调用函数,如果n的值为1,那么后面形参指向的空间存放n+1,否则继续计算fun(n一1)
本文档预览:3600字符,共6736字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载