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