国家二级(C语言)机试模拟试卷124
(总分86, 做题时间90分钟)
1. 选择题
1.
下列数据结构中,能用二分法进行查的是( )。
A 无序线性表
B 线性链表
C 二叉链表
D 顺序存储的有序表
分值: 2
答案:D
解析:二分法查只适用于顺序存储的有序表,表中的元素按值从小到大排列。
2.
下列叙述中,不属于设计准则的是( )。z型钢c型钢生产厂家
A 提高模块独立性
潮州特斯拉失控事件B 使模块的作用域在该模块的控制域中
C 设计成多入口、多出口模块
D 设计功能可预测的模块
分值: 2jsonobject获取key对应的值
答案:C
解析:大量软件设计表明,以下的设计准则是可以借鉴为设计的指导和对软件结构图进行优化,这些准则是:提高模块独立性;模块规模适中:深度、宽度、扇出和扇入适当;使模块的作用域在该模块的控制域中;应减少模块的接口和界面的复杂性;设计成单入口、单出口的模块;设计功能可预测的馍块。
3.
下列队列的描述中,正确的是( )。
A 队列属于非线性表
B 队列在队尾删除数据
C 队列按“先进后出”进行数据操作
D 队列按“先进先出”进行数据操作
分值: 2
答案:D
解析:队列是只允许在一端删除,在另一端插入的顺序表,允许删除的一端叫做队头,允许插入的一端叫做队尾。队列的操作数是依据先进先出的原则进行的。因此队列亦称作先进先出的线性表,或后进后出的线性表。
4.
对下列二叉树进行前序遍历的结果为( )。
A ABCDEFGH
B ABDGEHCF
C GDBEHACF
D GDHEBFCA
分值: 2
答案:B
解析:遍历就是不重复地访问二叉树的所有结点。二叉树遍历的方法有3种:前序遍历、中序遍历和后序遍历。记住3种遍历的顺序:①前序,访问根→按前序遍历左子树→按前序遍历右子树;②中序,按中序遍历左子树→访问根→按中序遍历右子树;③后序,按后序遍历左子树→按后序遍历右子树→访问根。所以对该二叉树的中序遍历结果为ABDGEHCF。
5.
对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是( )。
A 冒泡排序为n(n一1)/2
B 简单插入排序为n
C 希尔排序为n
D 快速排序为n/2
分值: 2
答案:A
解析:在最坏情况下,冒泡排序所需要的比较次数为n(n—1)/2;简单插入排序所需要的比较次数为n(n-1)/2;希尔排序所需要的比较次数为O(n 1.5 );堆排序所需要的比较次数为O(nlog 2 n)。
canonical6.
为了使模块尽可能独立,要求( )。
A 内聚程度要尽量高,耦合程度要尽量强
B 内聚程度要尽量高,耦合程度要尽量弱
C 内聚程度要尽量低,耦合程度要尽量弱
D 内聚程度要尽量低,耦合程度要尽量强log4j2文档
分值: 2
答案:B
解析:模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。耦合性与内聚性是模块独立性的两个定性标准,耦合与内聚是相互关联的。在程序结构中,各模块的内聚性越强,则耦合性越弱。一般较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。
7.
下列选项中不属于软件生命周期开发阶段任务的是( )。
A 软件测试
B 概要设计
C 软件维护
D 详细设计
分值: 2
答案:C
解析:软件生命周期分为软件定义、软件开发及软件运行维护三个阶段,其中开发阶段包括概要设计、详细设计、实现和测试。
8.
数据独立性是数据库技术的重要特点之一。所谓数据独立性是指( )。
A 数据与程序独立存放
B 不同的数据被存放在不同的文件中
C 不同的数据只能被对应的应用程序所使用
D 以上三种说法都不对
分值: 2
答案:D
解析:数据独立性是数据与程序间的互不依赖性,即数据库中数据独立于应用程序而不依赖于应用程序。所以选项A),选项B)和选项C)都不正确。
9.
在学校中,“班级”与“学生”两个实体集之间的联系属于( )关系。
A 一对一
B 一对多
C 多对一
D 多对多
分值: 2
答案:B
解析:一个班可以有多名学生,而一名学生只能属于一个班级,所以“班级”与“学生”两个实体集之间的联系属于一对多关系。
10.
软件调试的目的是( )。
A 发现错误
B 改善软件的性能
C 改正错误
D 验证软件的正确性
分值: 2
答案:C
解析:在对程序进行了成功的测试之后将进入程序调试,程序调试的任务是诊断和改正程序中的错误。
11.
C语言源程序名的后缀是( )。
A .exe
B .C
C .obj
D .cp
分值: 2
答案:B
解析:由C语言构成的指令序列称为C源程序,源程序文件的后缀为“.c”。源程序经过C编译程序编译生成后缀为“.obj”的二进制文件(称为目标文件),然后由称为“连接程序”(Link)的软件把目标文件与C语言提供的各种库函数连接起求,生成后缀为“.exe”的可执行文件。
12.
若函数中有定义语句:int a;,则( )。
A 系统将自动给a赋初值0
B 这时a中的值是和随机数
C 系统将自动给a赋初值-1
D 这a中无任何值
分值: 2
答案:B
解析:本题考查变量赋值基本概念。在声明一个变量后,如果未显式的埘其进行赋值,则它的值是一个随机值。
13.
以下选项中,合法的一组C语言数值常量是( )。
A 028 .5e-3 -0xf
B 12 OXa23 4.5e0
C 177 4c1.5 Oabc
D 0x8A 10,000 3.e5
分值: 2
答案:B
解析:八进制数开头必须是数字“0”,其数字包括0~7,而在选项A)中,028是错误的。浮点数据的指数形式表示常量中,C语言规定字母e或E之前必颈要有数字,且e或E之后的指数必颈为整数,而选项C)中4e1.5是错误的。在选项D)中,整型数据10,000的表示形式是错误的。所以今题的答案为选项B)。
14.
下列语句组中,不正确的是( )。
A char*s;s="Olympic";
B char s[]="Olympic";
C char*s;s={"Olympic"};
D char s[]={"Olympic"};
冒泡排序代码c语言 分值: 2
答案:C
解析:S是一个字符指针变量,s代表其地址,C将字符串赋给地址,因此选项C)错误。
15.
若在定义语句:int a,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是( )。
A scanf("%d",a,b,c);
B scanf("%d%d%d",a,b,c);
C scanf("%d",p);
D scanf("%d",&p);
分值: 2
答案:C
解析:程序语句“int a,b,c,*p=&c;”定义了3个整型变量a,b,c和一个整型指针变量p,并且把变量c的地址赋给p。scanf函数的一般形式为“scanf("格式控制字符串",地址列表)”,其中的地址列表应当是存放输入数据变量的地址。
16.
有以下程序,其中%u表示按无符号整数输出( )。 main() {unsigned int x=0xFFFF;/*x的初值为十六进制数*/ printf("%u\n",x); }程序运行后的输出结果是( )。
A -1
B 65535
C 32767
D 0xFFFF
分值: 2
答案:B
解析:因为%u表示按无符号整数输出,而x用十六进制表示为0xFFFF,所以输出无符号整
数的最大值65535。
17.
设变量x和y均已正确定义并赋值,以下if语句中,在编译时将产生错误信息的是( )。
A if(x++);
B if(x>y&&y!=0);
C if(x>y)x--else y++;
D if(y<0){;}else x++;
分值: 2
答案:C
解析:选项C)中,if(x>y)后而的“x--”是一个表达式而不是一个语句,所以在编译时会产生错误信息。
18.
以下选项中,当x为大于1的奇数时,值为0的表达式为( )。
A x%2==1
B x/2
C x%2!=0
D x%2==0
分值: 2
答案:D
解析:当x为大于1的奇数时,x对2求余的结果为1,不为0,所以选项D)中表达式的值为0。
19.
若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为( )。
A 4
B 16
C 32
D 52
分值: 2
答案:C
解析:本题考查逗号表达式的运用。x=(i=4,i=16,k=32)中的i=4,j=16,k=32构成一个逗号表达式,整个表达式的值取最后一项的值,即32,所以x的值为32。
20.
在下列选项中,没有构成死循环的是( )。
A int i=100; while(1) { i=i0+1; if(i>100)break; }
B for(;;);
C int k=10000; do{k++;}while(k>10000);
D int s=36; while(s)--s;
分值: 2
答案:D
解析:选项D)中,首先定义的变量s的值为36,因为语句--s;所以当s=0时循环会结束;选项A)由于while(1)永远成立,循环构成死循环;选项B)中for循环没有使循环结束的限定条件,也构成死循环;选项C)中由于k永远大于10000,所以循环无法停止。
21.
在printf的格式字符中,e格式字符的作用是( )。
A 以十六进制无符号形式输出整数
B 以带符号的十进制形式输出整数
C 以指数形式输出实数
D 以字符形式输出,凡只输出一个字符
分值: 2
答案:C
解析:本题考查printf函数的格式。格式字符“c”或者“E”都表示以指数形式输出单精度或双精度数。
22.
以下选项中正确的语句组是( )。
A char s[];s="HELLO!";
B char*s;s={"HELLO!"};
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论