国家二级C语言机试(选择题)模拟试卷327
选择题
1.数据的存储结构是指(D)
A. 存储在外存中的数据
B. 数据所占的存储空间量
C. 数据在计算机中的顺序存储方式
D. 数据的逻辑结构在计算机中的表示
解析:在对数据进行处理时,各数据元素在计算机中的存储关系,即为数据的存储结构。
2.一棵二叉树中共有80个叶子结点与70个度为1的结点,则该二叉树中的总结点数为( )。(B)
A. 219
B. 229
C. 230
D. 231
解析:根据二叉树的性质,度为0的结点(即叶子结点)总是比度为2的结点多一个,叶子结点为80,度为2的结点为79,所以总结点数为:80+70+79=229,选B。
3.一棵二叉树的前序遍历结果是ABCEDF,中序遍历结果是CBAEDF,则其后序遍历的结果是( )。(B)
A. DBACEF
B. CBEFDlA
C. FDAEBC
D. DFABEC
解析:由于该二叉树的前序遍历结果是ABCEDF,显然A结点为根结点,所以后序遍历时A结点是最后遍历的,其后序遍历的结果为CBEFDA。
4.以下关于逻辑运算符两侧运算对象的叙述中正确的是(C)
A. 只能是整数0或非0整数
B. 可以是结构体类型的数据
C. 可以是任意合法的表达式
D. 只能是整数0或1
解析:逻辑运算符两侧的运算对象可以是任意合法的表达式。逻辑表达式的运算结果或者为1(“真”),或者为0(“假”)。
5.设变量均已正确定义,若要通过scanf(\\(C)
A. 10□X20□Y
B. 10□X20□Y
C. 10X 20Y
D. 10□X□20□Y
解析:在使用scanf函数进行输入数据时,输入的数据之间必须用空格、回车符、制表符(Tab键)等问隔符隔开,但是空格为合法的字符型数据的输入。而按照格式符”%d%c%d%c”说明,数值型数据和字符数据输入之间不要加入空格间隔,而字符型数据和数值型数据的输入却可以加入任意的空格,回车和跳格。
6.以下叙述中正确的是(A)
A. 在scanf函数中的格式控制字符串是为了输入数据用的,不会输出到屏幕上
B. 在使用scanf函数输入整数或实数时,输入数据之间只能用空格来分隔
C. 在printf函数中,各个输出项只能是变量
D. 使用printf函数无法输出百分号%
解析:scanf函数中的格式控制字符串是为了输入数据用的,无论其中有什么字符,也不会输出到屏幕上,因此若想在屏幕上输出提示信息,应该首先使用printf函数输出,选项A)正确;在使用scanf函数输入整数或实数时,输入数据之间可以用空格、跳格、回车来分隔,选项B)错误;printf输出项不但可以为变量,还可以表达式或者常量,选项C)错误:如果要输出“%”,可以在格式控制中用“%%”表示,将输出一个“%”,选项D)错误。
7.层次型、网状型和关系型数据库划分原则是(D)
A. 记录长度
B. 文件的大小
C. 联系的复杂程度
D. 数据之间的联系方式
解析:根据数据之间的联系方式,可以把数据库分为层次型、网状型和关系型数据库,它们是根据数据之间的联系方式来划分的。
8.下列叙述中正确的是(A)
A. 对象标识具有唯一性
B. 属性是对象的动态属性
C. 任何对象都必须有多态性
D. 对象是对象属性和方法的封装体
解析:每个对象都有自身唯一的标识,通过这种标识,可找到相应的对象。在对象的整个生命期中,它的标识都不改变,不同的对象不能有相同的标识。
9.有以下程序:
#include<stdio.h>
main()
{
int a=1,b=2,e=3,d=0;
if(a==1 && b++==2)
if(b!=2||c–!=3)
printf(’’%d,%d,%d\n’’,a,b,cv);
else printf(’’%d,%d,%d\n’’,a,b,c);
else printf(’’%d,%d,%d\n’’,a,b,c);
}
程序的运行结果是( )。(B)
A. 1,3,2
B. 1,3,3
C. 1,2,3
D. 3,2,1
解析:else总是和最近的if配对,所以进入第一个if语句中进行条件判断时,因为是逻辑与操作,需要两边运算对象的值均为非零值才为真,所以需要逐个执行判断的结果为1。进入第二个if语句条件判断,因为b!=2条件成立,所以整个条件表达式的值为真,不再执行逻辑或的第二个运算对象(c–!=3)c的值不变,也不再执行第一个else语句。打印a的值1,b的值3,c的值3。
10.下面属于系统软件的是(B)
A. 浏览器
B. 数据库管理系统
C. 人事管理系统
D. 天气预报的app
解析:系统软件是指控制和协调计算机及外部设备,支持应用软什开发和运行的系统,是无需用户干预的各种程序的集合,主要功能是调度,监控和维护计算机系统;负责管理计算机系统中各种独立的硬件,使得它们可以协调工作。有代表性的系统软件有:操作系统、语言处理程序、数据库管理和辅助程序。
11.C语言中char类型数据占字节数为( )。(C)
A. 3
B. 4
C. 1
D. 2
解析:char类型数据占1个字节。
12.以下选项中作为C语言合法常量的是(A)
A. -80
B. -080
C. -8e1.0
D. -80.0e
解析:本题考查C语言中的常量,C语言中字母e或E之前必须有数字,且e或E后面的指数必须为整数。选项A)表示负数-80;选项B)中以数字0开始表示的是八进制数,八进制数数字范围是从0-7,不包括8;选项C)是一个指数浮点,字母e后面应该是整型指数:选项D)中字母e后面没有整数,不满足c规范。
13.有以下程序
#include<stdio.h>
intflintx)
{
inty;
iflx=011x=1)return(3);
y=x*x-f(x-2);
returny;
}
main( )
{
intz;
z=f(3);printf(’’%d\\
’’,z);
}
程序的运行结果是(C)
A. 9
B. 0
C. 6
D. 8
解析:主函数调用f( )函数,将实参3传递给x,进行if条件语句的判断不成立,接着执行y=3+3.f(1),再执行f(1),而f(1)满足if条件语句,所以f(1)的值为3,代入y=3*3。f(11=9-3=6。
14.以下定义数组的语句中错误的是
D
解析:在选项D的数组定义中,赋值号左边定义了一个2行4列的二维数组,而在右边定义了一个3行2列的二维数组。
15.软件集成测试不采用(B)<
本文档预览:3600字符,共12041字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载