国家二级C语言机试(选择题)模拟试卷326
选择题
1.在数据库系统的内部结构体系中,索引属于( )。(B)
A. 模式
B. 内模式
C. 外模式
D. 概念模式
解析:内模式又称物理模式,它给出了数据库物理存储结构与物理存取方法,如数据存储的文件结构、索引、集簇及hash等存取方式与存取路径,内模式的物理性主要体现在操作系统及文件级上,它还未深入到设备级上(如磁盘及磁盘操作)。
2.设顺序表的长度为16,对该表进行简单插入排序。在最坏情况下需要的比较次数为( )。(A)
A. 120
B. 60
C. 30
D. 15
解析:简单插入排序在最坏情况下,即初始排序序列是逆序的情况下,比较次数为n(n-1)/2,移动次数为n(n-1)/2。本题中n=16,16×(16-1)÷2=8÷15=120。
3.有以下程序:
#include<stdio.h>
int fun(int x,int y)
{if(x!=y)return(y);
else retum((x+y)/2);
}
main()
{ int a=4,b=5,c=6;
printf(’’%d\n’’,fun(2*a,fun(b,c)));
}
程序运行后的输出结果是( )。(B)
A. 3
B. 6
C. 8
D. 12
解析:fun(b,c)即fun(5,6),5!=6,所以返回6;fun(2*a,6)即fun(8,6),8!=6,所以返回6。
4.若变量已正确定义,以下选项中非法的表达式是(C)
A. a!=4‖’b’
B. ’a’%4
C. ’a’=1/2*(x=y=20,x*3)
D. ’A’+32
解析:赋值表达式左边应为变量,选项C)中左边为字符常量,因此非法,其余表达式均为合法的表达式。
5.构成计算机软件的是( )。(D)
A. 源代码
B. 程序和数据
C. 程序和文档
D. 程序、数据及相关文档
解析:计算机软件的定义为:与计算机系统的操作有关的计算机程序、规程、规则,以及可能有的文件、文档及数据。答案选D。
6.设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号、课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为( )。(C)
A. 课号,成绩
B. 学号,成绩
C. 学号,课号
D. 学号,姓名,成绩
解析:关键字是指属性或属性的组合,其值能够唯一地标识一个元组,而在SC中学号和课号的组合可以对元组进行唯一的标识。
7.带链栈空的条件是(A)
A. top=bottom=NULL
B. top=-1且bottom=NULL
C. top=NULL且bottom-1
D. top=bottom=-1
解析:栈的链式存储结构称为链栈。在链栈中,只会出现栈空和非空两种状态。当栈为空时,有top=bottom=NULL;当栈非空时,top指向链表的第一个结点(栈顶)。所以选项A正确。
8.以下关于C语言函数参数传递方式的叙述中正确的是( )。(A)
A. 数据只能从实参单向传递给形参
B. 数据可以在实参和形参之间双向传递
C. 数据只能从形参单向传递给实参
D. C语言的函数参数既可以从实参单向传递给形参,也可以在实参和形参之间双向传递,可视情况选择使用
解析:数据只能由实参单向传递给形参称为“值传递”,而不能由形参传回来给实参,A选项正确;数组名、指针等作参数,实参传递给形参地是地址值,这样形参和实参就指向同一段内存单元,在函数体内对形参数据的改变也将影响到实参。实参和形参之间不可双向传递,BD选项错误。数据不能从形参传递给实参,C选项错误。
9.内聚性是对模块功能强度的衡量,下列选项中,内聚性较弱的是( )。(B)
A. 顺序内聚
B. 偶然内聚
C. 时间内聚
D. 逻辑内聚
解析:内聚是从功能角度来衡量模块的联系,它描述的是模块内的功能联系。内聚有如下种类,它们之间的内聚度由弱到强排列:
偶然内聚一一模块中的代码无法定义其不同功能的调用。但它使该模块能执行不同的功能,这种模块为巧合强度模块。
逻辑内聚一一这种模块把几种相关的功能组合在一起,每次被调用时,由传送给模块的参数来确定该模块应完成那一种功能。
时间内聚一一这种模块顺序完成一类相关功能,比如初始化模块,它顺序地为变量置初值。
过程内聚一一如果一个模块内的处理元素是相关的,而且必须以特定次序执行,则称为过程内聚。
通信内聚一一这种模块除了具有过程内聚的特点外,还有另外一种关系,即它的所有功能都通过使用公用数据而发生关系。
顺序内聚一一如果一个模块内各个处理元素和同一个功能密切相关,而且这些处理必须顺序执行,处理元素的输出数据作为下一个处理元素的输入数据,则称为顺序内聚。
功能内聚一一如果一个模块包括为完成某一具体任务所必需的所有成分,或者说模块中所有成分结合起来是为了完成一个具体的任务,此模块则为功能内聚模块。
10.设循环队列的存储空间为Q(1:50),初始状态为front=rear=50。经过一系列正常的操作后,front-1=rear。为了在该队列中寻找值最大的元素,在最坏情况下需要的比较次数为(C)
A. 0
B. 1
C. 48
D. 49
解析:
11.下列叙述中正确的是(A)
A. 软件过程是把输入转化为输出的一组彼此相关的资源和活动
B. 软件过程是软件开发过程
C. 软件过程是软件维护过程
D. 软件过程是软件开发过程和软件维护过程
解析:软件过程是指软件整个生命周期,从需求获取,需求分析,设计,实现,测试,发布和维护一个过程模型。一个软件过程定义了软件开发中采用的方法,但软件过程还包含该过程中应用的技术——技术方法和自动化工具。过程定义一个框架,为有效交付软件工程技术,这个框架必须创建。软件过程构成了软件项目管理控制的基础,并且创建了一个环境以便于技术方法的采用、工作产品(模型、文档、报告、表格等)的产生、里程碑的创建、质量的保证、正常变更的正确管理。
12.有以下程序:
#include<stdio.h>
#define N 4
void fun(int a[][N])
{
int i;
for(i=0;i<N;i+ +)
a[0][i]+ =a[N—1][N—1—i];
}
void main( )
int x[N][N]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},i;
fun(x);
for(i=0;i<N;i+ +)
printf(″%d″,x[i][i]);
printf(″\n″);
}
程序运行后的输出结果是( )。(A)
本文档预览:3600字符,共11855字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载