国家二级C语言机试(选择题)模拟试卷297
选择题
1.算法的时间复杂度是指(D)
A. 算法的执行时间
B. 算法所处理的数据量
C. 算法程序中的语句或指令条数
D. 算法在执行过程中所需要的基本运算次数
解析:算法的时间复杂度,是指执行算法所需要的计算工作量。算法的工作量可以用算法在执行过程中所需基本运算的执行次数来度量。
2.下列关于栈的叙述正确的是(B)
A. 栈按“先进先出”组织数据
B. 栈按“先进后出”组织数据
C. 只能在栈底插入数据
D. 不能删除数据
解析:栈是限定在一端进行插入和删除的线性表,允许进行插入和删除元素的一端称为栈顶,另一端称为栈底。栈是按照“先进后出”的原则组织数据的。
3.以下叙述中正确的是(D)
A. 程序必须包含所有三种基本结构才能成为一种算法
B. 如果算法非常复杂,则需要使用三种基本结构之外的语句结构,才能准确表达
C. 只有简单算法才能在有限的操作步骤之后结束
D. 我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令
解析:C语句构成了函数,函数构成的程序,经过编译转换成二进制代码后可以运行,算法是指为解决某个特定问题而采取的确定且有限的步骤,可以利用代码来捕述算法,而算法+数据结构才是程序,结构化的程序由顺序结构、循环结构和选择结构三种基本结构组成。由这三种基本结构组成的算法可以解决任何复杂的问题,反之则不一定,所有算法必须在有限步骤后结束。
4.下面不属于结构化程序设计原则的是( )。(D)
A. 逐步求精
B. 自顶向下
C. 模块化
D. 可继承性
解析:结构化程序设计方法的原则包括:自顶向下、逐步求精、模块化、限制使用goto语句。可继承性是面向对象方法的特点。
5.有以下程序:
#include
int fun(int n)
{
if(1n
return fun(n一1)+n;
else
return 0;
}
main()
{
prinff(“%d\n”,fun(3));
}
程序的运行结果是( )。(C)
A. 4
B. 5
C. 6
D. 7
解析:fun函数是一个递归函数,n=3,返回f(3—1)+3=f(2)+3=f(1)+2+3=f(0)+1+2+3=0+6=6。
6.C语言中double类型数据占字节数为(C)
A. 4
B. 12
C. 8
D. 16
解析:double类型所占字节为8。
7.表达式:(int)((double)9/2).9%2的值是(C)
A. 0
B. 4
C. 3
D. 5
解析:这个表达式的计算过程为,首先求出9除以2的商等于4,再把其强制转化为实型数据为4.0,然后再强制转4,减去9对2求余数1,得到其结果等于3。
8.下列各排序法中,最坏情况下的时间复杂度最低的是(A)
A. 堆排序
B. 快速排序
C. 希尔排序
D. 冒泡排序
解析:堆排序法,最坏情况需要O(nlog2n)次比较。相比以上几种“除希尔排序法外”,堆排序法的时间复杂度最小,故选项A正确。
9.若a是数值类型,则逻辑表达式(a==1)‖(a!=1)的值是(C)
A. 0
B. 2
C. 1
D. 不知道a的值,不能确定
解析:在逻辑表达式中。a‖b,只有在a跟b都为0时,表达式的结果才为0。在题中所给的表达式中a要么等于1,要么不等于1.肯定会有一方的值不为真,表达式值为1。
10.下列选项中不属于面向对象程序设计特征的是(C)
A. 继承性
B. 多态性
C. 类比性
D. 封装性
解析:面向对象程序设计的三个主要特征是:封装性、继承性和多态性。封装性即只需知道数据的取值范围和可以对该数据施加的操作,而无需知道数据的具体结构以及实现操作的算法。继承性是指使用已有的类定义作为基础建立新类的定义技术。对象根据所接受的消息而做出动作,同样的消息被不同的对象接受时可导致完全不同的行动,该现象称为多态性。
11.数据库技术的根本目标是要解决数据的(B)
A. 存储问题
B. 共享问题
C. 安全问题
D. 保护问题
解析:数据库中的数据具有“集成”、“共享”之特点,即数据库集中了各种应用的数据,进行统一地构造与存储,而使它们能被不同的应用程序所使用。因而数据库技术的根本目标是解决数据的共享问题。
12.有以下程序
main(){
int a=3;
do{
printf(\\(B)
A. 1,
B. 1,-2,
C. 3,0,
D. 1,0
解析:循环体执行两次。首先输出a=1.然后判断表达式!(–a),a为0,循环条件表达式值为1,执行第二次循环体,输出a=-2。判断循环条件表达式值为0,循环退出。
13.以下程序段中的变量已正确定义:
for(i=0;i<4;i++,i++)
for(k=1;k<3;k++);
prinff(\\(C)
A. **
B. ****
C. *
D. ********
解析:由于内层循环for(k=1;k<3;k++)后面直接跟了空语句“;”,所以在循环内部什么操作也不做,跳出外层循环后执行打印语句,所以打印了一个“*”,选择C选项。
14.在数据库系统中,用户所见的数据模式为(B)
A. 概念模式
B. 外模式
C. 内模式
D. 物理模式
解析:用户所见到的数据模式是外模式也称用户模式。它是用户的数据视图,它由概念模式导出。一个概念模式可以有若干个外模式,每个用户只关心与它有关的外模式,这样不仅可以屏蔽大量无关信息,而且有利于数据维护。
15.对于一个正常运行的C程序,以下叙述中正确的是(C)
A. 程序的执行总是从main函数开始,在程序的最后一个函数中结束
B. 程序的执行总是从程序的第一个函数开始, 在main函数结束
C. 程序的执行总是从main函数开始
D. 程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束
解析:任何一个C程序都是从主函数main开始,至主函数main结束,所以选择C选项。
16.若有定义语句int b=2;,则表达式(b<<2)/(3||b)的值是( )。(B)
A. 4
B. 8
C. 0
D. 2
解析:2的二进制数为010,左移两位后的二进制数为01000,转成二制数为8,(3||2)为真即1,8/1=8,所以结果为8。
17.以下叙述中正确的是(C)
A. 字符变量在定义时不能赋初值
B. 同一英文字母的大写和小写形式代表的是同一个
本文档预览:3600字符,共10821字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载