2021年9月全国计算机等级考试真题(二级C语言)
第1题
下列叙述中正确的是( )。
A. 算法的复杂度是指算法所处理的数据量 B. 算法的复杂度是指算法程序中指令的数量 C. 算法的复杂度是指算法控制结构的复杂程度 D. 算法的复杂度包括时间复杂度与空间复杂度
正确答案:D
第2题
设二叉树的前序序列为ABDEGHCFIJ,中序序列为DBGEHACIFJ。则按层次输出(从上到下,同一层从左到右)的序列为( )。
A. ABCDEFGHIJ B. DGHEBIJFCA C. JIHGFEDCBA D. GHIJDEFBCA
正确答案:A
第3题
设循环队列的存储空间为Q(1:50),初试状态为front=rear=50。经过一系列正常操作后,front-1=rear。为了在该队列中寻找值最大的元素,在最坏的情况下需要比较的次数为( )。
A. 0 B. 1 C. 48 D. 49
正确答案:C
第4题
设顺序表的长度为40,对该表进行冒泡排序。在最坏情况下需要的比较次数为( )。
A. 780 B. 820 C. 40 D. 41
正确答案:A
第5题
下面不属于软件需求分析阶段任务的是( )。
A. 需求配置 B. 需求获取 C. 需求分析 D. 需求评审
正确答案:A
第6题
下列数据流图(DFD)构造规则中正确的是( )。
A. “数据存储”间应有数据流 B. “数据流”可不带有数据流名 C. 父图子图是指任意上下层的两个数据流图 D. 子图的输入输出数据流与父图中相关加工的输入输出数据流必须一致
正确答案:D
第7题
不属于对象构成成份的是( )。
A. 规则 B. 属性 C. 标识 D. 方法(或操作)
正确答案:A
第8题
在数据库中,产生数据不一致的根本原因是( )。
A. 数据冗余 B. 没有严格保护数据 C. 未对数据进行完整性控制 D. 数据存储量太大
正确答案:A
第9题
规范化主要为克服数据库逻辑结构中的插入异常,删除异常以及( )。
A. 数据丢失的问题 B. 冗余度大的问题 C. 数据不一致的问题 D. 结构不合理的问题
正确答案:B
第10题
设有课程关系模式R(C#,Cn,T,TA)(其中,C#为课程号,Cn为课程名,T为教师名,TA为教师地址),并且假定不同课程号可以有相同的课程名,每门课程只有一位任课教师,但每位教师可以有多门课程。关系R范式最高达到( )。
A. 1NF B. 2NF C. 3NF D. BCNF
正确答案:B
第11题
C语言规定,在一个C程序中,main()函数的位置()。
A. 必须在系统调用的库函数之后 B. 必须在程序的开始 C. 必须在程序的最后 D. 可以在任意位置
正确答案:D
第12题
以下叙述中正确的是()。
A. C语言比其他语言高级 B. C语言可以不用编译就能被计算机识别执行 C. C语言以接近英语国家的自然语言和数学语言作为语言的表达形式 D. C语言出现的最晚,具有其他语言的一切优点
正确答案:C
第13题
已知int a=6;则执行a+=a-=a*a;语句后,a的值为()。
A. 36 B. 0 C. -24 D. -60
正确答案:D
第14题
下列叙述中错误的是()。
A. c语句必须以分号结束 B. 复合语句在语法上被看作一条语句 C. 空语句出现在任何位置都不会影响程序运行 D. 赋值表达式末尾加分号就构成赋值语句
正确答案:C
第15题
若有定义:int a=7,float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是
A. 2.500000 B. 2.750000 C. 3.500000 D. 0.000000
正确答案:A
第16题
若下列选项中的各变量均为整型且已有值,其中不正确的赋值语句是
A. ++i; B. n1=(n2/(n3=2)); C. k=i=j; D. a=b+c=2;
正确答案:D
第17题
下列关于逻辑运算符两侧运算对象的叙述中正确的是()。
A. 只能是整数0或1 B. 只能是整数0或非0整数 C. 可以是结构体类型的数据 D. 可以是任意合法的表达式
正确答案:D
第18题
若有说明int a[3][4];则数组元素的非法引用是()。
A. a[0][2*1] B. a[1][3] C. a[4-2][0] D. a[0][4]
正确答案:D
第19题
以下程序的运行结果是()。
main() { int a=-5,b=1,c=1; int x=0,y=2,z=0; if(c>0) x=x+y; if(a0) if(c0) y=x-y; else z=y; printf("%d,%d,%d\n",x,y,z); }
A. 2,2,0 B. 2,2,2 C. 0,2,0 D. 2,0,2
正确答案:A 第20题
请阅读以下程序;
#include main() { int x=1,y=0,a=0,b=0; switch(x) { case 1: switch(y) { case 0:a++;break; case 1:b++;break; } case 2: a++;b++;break; } printf("a=%d,b=%d\n",a,b); } 输出结果为:
A. a=2, b=1 B. a=1, b=0 C. a=1, b=1 D. a=2, b=2
正确答案:A
答案和