2016年9月全国计算机等级考试真题(C语言二级)
第1题
学生选修课程的关系模式为SC(S#,Sn,Sd,Sa,C#,G);C(C#,Cn,P#)。关系模式中包含对主属性部分依赖的
A. S#->Sd
B. (S#,C#)->G
C. C#->Cn
D. C#->P#
正确答案:A
第2题
设顺序表的长度为n。下列算法中,最坏情况下比较次数等于n(n-1)/2的是
A. 快速排序
B. 排序
C. 顺序查找
D. 寻找最大项
正确答案:A
第3题
下列结构中为非线性结构的是
A. 树
B. 向量
C. 二维表
D. 矩阵
正确答案:A
第4题
软件是
A. 程序
B. 计算机系统
C. 程序、数据和文档的集合
D. 程序和数据
正确答案:C
第5题
设有定义char strD="Hello";则语句print("%d%d",sizeof(str),strlen(str));的输出结果是
A. 6 6
B. 6 5
C. 5 5
D. 5 6
正确答案:B
第6题
有以下程序
#include
int f(int n);
main()
{
int a=3, s;
s=f(a);
s=s+f(a)
printf("%d\n", s);
}
int f(int n)
{
static int a=1;
n+=a++;
return n;
}
A. 9
B. 8
C. 7
D. 10
正确答案:A
第7题
在数据库设计中,将E-R图转换成关系数据模型的过程属于
A. 逻辑设计阶段
B. 需求分析阶段
C. 概念设计阶段
D. 物理设计阶段
正确答案:A
第8题
设有宏定义:#define lsDIV(k,n)((k%n==1)?1:0)且变量m已正确定义并赋值,则宏调用:IsDIV(m,5)&&IsDIV(m,7)为真时所要表达的是
A. 判断m是否能被5和7整除
B. 判断m被5或者7整除是否余1
C. 判断m被5和7整除是否都余1
D. 判断m是否能被5或者7整除
正确答案:C
第9题
已定义以下函数int fun(int*p){return*p;}fun函数返回值是
A. 不确定的值
B. 一个整数
C. 形参p中存放的值
D. 形参p的地址值
正确答案:B
第10题
下列结构中属于非线性结构的是
A. 二叉链表
B. 二维数组
C. 循环队列
D. 双向链表
正确答案:A
第11题
在数据库管理技术发展的三个阶段中,没有专门的软件对数据进行管理的是
A. 人工管理阶段
B. 文件系统阶段
C. 文件系统阶段和数据库阶段
D. 人工管理阶段和文件系统阶段
正确答案:A
第12题
设有定义:int a;float b;执行scanf("%2d%f",&a,&b);语句时,若从键盘输入876 543.0则a和b的值分别是
A. 876和543.0
B. 87和6.0
C. 87和543.0
D. 76和543.0
正确答案:B
第13题
设有课程关系模式:R(C#,Cn,T,TA),并且假定不同课程号可以有相同的课程名,每门课程只有一位任课教师,但每位教师可以有多门课程。关系R范式最高达到
A. 1NF
B. 2NF
C. 3NF
D. BCNF
正确答案:B
第14题
在关系A(S,SN,D)和B(D,CN,NM)中,A的主关键字是S,B的主关键字是D,则D是A的
A. 外键(码)
B. 候选键(码)
C. 主键(码)
D. 候选键或主键
正确答案:A
第15题
设有定义:int x=2;以下表达式中,值不为6的是
A. 2*x,x+=2
B. x++,2*x
C. x*=(1+x)
D. x*=x+1
正确答案:A
第16题
在结构化程序设计中,模块划分的原则是
A. 各模块应包括尽量多的功能
B. 各模块的规模应尽量大
C. 各模块之间的联系应尽量紧密
D. 模块内具有高内聚度、模块间具有低耦合度
正确答案:D
第17题
对数据库数据的存储方式和物理结构的逻辑进行描述的是
A. 内模式
B. 模式
C. 外模式
D. 用户模式
正确答案:A
第18题
学生选课成绩表的关系模式是SC(S#,C#,G),其中S#为学号,C#为课号,G为成绩,学号为20的学生所选课程中成绩及格的全部课号为
A. πc#(σs#=20ΛG>=60(SC))
B. σG>=60(SC)
C. σs#=20ΛG>=60(SC)
D. πC#(σs#=20(SC))
正确答案:A
第19题
以下叙述中错误的是
A. typedef的作用是用一个新的标识符来代表已存在的类型名
B. typedef说明的新类型名必须使用大写字母,否则会出编译错误
C. 可以用typedef说明的新类型名来定义变量
D. 用typedef可以说明一种新的类型名
正确答案:B
第20题
有以下程序
#include
int fun (int x, int y)
{
if(x==y) return(x);
else return((x+y)/2);
}
main()
{
int a=4, b=5, c=6;
printf("%d\n",fun(2*a, fun(b, c)));
}
程序运行后的输出结果是
A. 3
B. 6
C. 8
D. 12
正确答案:B
更多内容请查看网站:
网站链接 【试卷中心 ---C/C++ ---二级】
青少年软件编程历年真题模拟题实时更新