二级C语言52Word文件下载.docx
《二级C语言52Word文件下载.docx》由会员分享,可在线阅读,更多相关《二级C语言52Word文件下载.docx(18页珍藏版)》请在冰豆网上搜索。
有且只有一个根结点与每个结点最多有一个前件,也最多有一个后件,因此B正确。
因为有一个以上根结点的数据结构一定是非线性结构,所以A错误。
循环链表和双向链表都是线性结构的数据结构。
3.下列关于二叉树的叙述中,正确的是______。
A.叶子结点总是比度为2的结点少一个
B.叶子结点总是比度为2的结点多一个
C.叶子结点数是度为2的结点数的两倍
D.度为2的结点数是度为1的结点数的两倍
[解析]根据二叉树的基本性质3:
在任意一棵二叉树中,度为0的叶子结点总是比度为2的结点多一个,因此答案为B。
4.软件生命周期中的活动不包括______。
A.市场调研
B.需求分析
C.软件测试
D.软件维护
[解析]软件生命周期可以分为软件定义、软件开发与软件运行维护三个阶段。
主要活动包括:
可行性研究与计划、需求分析、软件设计、软件实现、软件测试、运行和维护,因此本题答案为A。
5.某系统总体结构图如下图所示:
该系统总体结构图的深度是______。
A.7
B.6
C.3
D.2
[解析]根据总体结构图可以看出该树的深度为3,比如:
XT系统——功能2——功能2.1,就是最深的度数的一个表现,因此本题答案为C。
6.程序调试的任务是______。
A.设计测试用例
B.验证程序的正确性
C.发现程序中的错误
D.诊断和改正程序中的错误
[解析]程序调试的任务是诊断和改正程序中的错误,因此本题答案为D。
7.下列关于数据库设计的叙述中,正确的是______。
A.在需求分析阶段建立数据字典
B.在概念设计阶段建立数据字典
C.在逻辑设计阶段建立数据字典
D.在物理设计阶段建立数据字典
[解析]数据字典是在需求分析阶段建立,在数据库设计过程中不断修改、充实和完善的,因此选择A。
8.数据库系统的三级模式不包括______。
A.概念模式
B.内模式
C.外模式
D.数据模式
[解析]数据库系统的三级模式是概念模式、外模式和内模式,不包括数据模式,因此选择D。
9.有三个关系R、S和T如下:
R
A
B
C
a
1
2
b
c
3
S
D
4
T
则由关系R和S得到关系T的操作是______。
A.自然连接
B..交
C.投影
D..并
[解析]自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,因此根据T中元组可以判断关系R和S做的是自然连接操作,答案为A。
10.下列选项中属于面向对象设计方法主要特征的是______。
A.继承
B.自顶向下
C.模块化
D.逐步求精
[解析]面向对象设计方法的基本概念有对象、类和实例、消息、继承与多态性,因此选择A。
11.以下选项中关于程序模块化的叙述错误的是______。
A.可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序
B.把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块
C.把程序分成若干相对独立的模块,可便于编码和调试
D.可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序
[解析]采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序,所以A错误。
12.以下叙述中正确的是______。
A.C程序书写格式严格,要求一行内只能写一个语句
B.C程序书写格式自由,一个语句可以写在多行上
C.C程序中的注释只能出现在程序的开始位置和语句的后面
D.用C语言编写的程序只能放在一个程序文件中
[解析]C程序书写格式自由,A、C、D错误。
13.以下不合法的数值常量是______。
A.8.0E0.5
B.1e1
C.011
D.0xabcd
[解析]E前E后有数字,E后数字为整数,所以A错误。
14.以下关于C语言数据类型使用的叙述中错误的是______。
A.若只处理“真”和“假”两种逻辑值,应使用逻辑类型
B.若要保存带有多位小数的数据,可使用双精度类型
C.若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型
D.整数类型表示的自然数是准确无误差的
[解析]C语言不存在逻辑类型,所以A错误。
单精度float类型可提供6位有效数字,双精度double类型可提供16位有效数字,所以要保存带有多位小数的数据,要使用双精度类型,所以B选项正确。
结构体类型可以保存不同类型数据,所以C正确,整数的表示是不存在误差的,所以D选项正确。
15.设有定义:
intk=0;
以下选项的四个表达式中与其他三个表达式的值不相同的是______。
A.++k
B.k+=1
C.k++
D.k+1
[解析]k++表达式值为k的值,其余为k+1的值。
所以C错误。
16.有如下程序段:
intx=12;
double-y=3.141593;
printf("
%d%8.6f"
x,y);
其输出结果是______。
A.123.141593
B.123.141593
C.12,3.141593
D.123.1415930
[解析]x和y之间没有间隔符,%8.6f表示占据8个字符,小数点后有6位,所以答案为A。
17.已知字符A的ASCII代码值是65,字符变量c1的值是A,c2的值是D。
则执行语句printf("
%d,%d"
c1,c2-2);
的输出结果是______。
A.A,68
B.65,66
C.A,B
D.65,68
[解析]在C语言中,字符型数据在内存中的存储形式是ASCII码值。
当需要以整型格式输出字符时,输出的也是ASCII码值。
字符"
A"
和"
D"
的ASCII码值分别为65和68。
18.以下选项中,当x为大于1的奇数时,值为0的表达式是______。
A.x%2==1
B.x/2
C.x%2!
=0
D.x%2==0
[解析]x为大于1的奇数,x%2的值为1,x%2==0为假,所以选择D。
19.有以下程序
#include<stdio.h>
main()
{intx;
scanf("
%d"
&
x);
if(x<=3);
else
if(x!
=10)printf("
%d/n"
x);
}
程序运行时,输入的值在哪个范围才会有输出结果______。
A.大于3且不等于10的整数
B.不等于10的整数
C.大于3或等于10的整数
D.小于3的整数
[解析]大于3执行else语句,不等于10,就会输出x的值,所以选择A。
20.有以下程序
{inta=7;
while(a--);
a);
程序运行后的输出结果是______。
A.-1
B.0
C.1
D.7
[解析]当a为0时,a--表达式为0,条件为假,循环结束,执行判断条件后a为-1,所以选择A。
21.有以下程序
{
charb,c;
inti;
b="
a"
;
c="
for(i=0;
i<6;
i++)
if(i%2)putchar(i+b);
elseputchar(i+c);
/n"
);
A.aBcDeF
B.ABCDEF
C.AbCdEf
D.abcdef
[解析]i为奇数,输出小写字符"
加i,i为偶数,输出大写字符"
加i。
答案选择C。
22.有以下程序
inti,j,x=0;
i<2;
x++;
for(j=0;
j<=3;
j++)
if(j%2)continue;
x=%d/n"
程序执行后的输出结果是______。
A.x=8
B.x=4
C.x=6
D.x=12
[解析]本题考查的是for循环的嵌套。
外循环的循环变量i从0递增到1会循环两次,内循环的循环变量j从0递增到3会循环4次。
但是内循环中有一条if语句,每当j%2为真,即j为奇数时会跳过下面的x++;
语句,所以4次内循环只有两次执行到x++;
语句,再加上外循环中包含的两条x++;
语句,所以每次外循环会使x自增4次,两次外循环后x的值为8。
故应该选择A。
23.有以下程序
doublef(doublex);
{doublea=0;
inti;
i<30;
i+=10)a+=f((double)i);
%3.0f/n"
doublef(doublex)
{returnx*x+1;
A.401
B.503
C.500
D.1404
[解析]for循环进入循环体的i分别为0、10、20,调用f函数返回分别为1、101、401,累加为503,所以选择B。
24.若有以下函数首部
intfun(doublex[10],int*n)
则下面针对此函数的函数声明语句中正确的是______。
A.intfun(double*,