2009年4月全国计算机等级二级C笔试考前练习习题(30)计算机二级考试
文章作者 100test 发表时间 2009:04:10 01:29:27
来源 100Test.Com百考试题网
2009年4月,全国计算机等级二级C考试你准备好了没?考计算机等级二级C语言考试的朋友可以多关注一下百考试题为大家整理的2009年4月,全国计算机等级二级C语言考前练习!希望对大家的备考有好的帮助!百考试题祝各位考个好成绩!大家每天都来练习哦!不断的加强巩固!
(1)在先左后右的原则下,根据访问根结点的次序,二叉树的遍历可以分为三种:前序遍历、【1】遍历和后序遍历。
答案:【1】中序
评析:在先左后右的原则下,根据访问根结点的次序,二叉树的遍历可以分为三种:前序遍历、中序遍历和后序遍历。
前序遍历是指在访问根结点、遍历左子树与遍历右子树这三者中,首先访问根结点,然后遍历左子树,最后遍历右子树;并且遍历左、右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树。
中序遍历指在访问根结点、遍历左子树与遍历右子树这三者中,首先遍历左子树,然后访问根结点,最后遍历右子树;并且遍历左、右子树时,仍然先遍历左子树,然后访问根结点,最后遍历右子树。
后序遍历指在访问根结点、遍历左子树与遍历右子树这三者中,首先遍历右子树,然后访问根结点,最后遍历左子树;并且遍历左、右子树时,仍然先遍历右子树,然后访问根结点,最后遍历左子树。
(2)结构化程序 设计 方法的主要原则可以概括为自顶向下、逐步求精、【2】和限制使用goto语句。
答案:【2】模块化
评析:结构化程序设计方法的主要原则可以概括为自项向下、逐步求精、模块化和限制使用goto语句。
自顶向下:程序设计时,应先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标。不要一开始就过多追求众多的细节,先从最上层总目标开始设计,逐步使问题具体化。
逐步求精:对复杂问题,应设计一些子目标作过度,逐步细化。
模块化:一个复杂问题,肯定是由若干稍简单的问题构成。模块化是把程序要解决的总目标分解为分目标,再进一步分解为具体的小目标,把每个小目标称为一个模块。
限制使用goto语句。
(3)软件测试是保证软件质量的重要手段,而软件测试的主要和重要的测试方法是通过测试数据和【3】 的设计来实现。
答案:【3】测试实例
评析:进行软件测试时,应精心设计测试实例和选择测试数据,以对系统进行全面测试。
(4)数据库系统的三级模式分别为【4】模式、内部级模式与外部级模式。
答案:【4】概念 或 概念级
评析:数据库系统在其内部具有三级模式及二级映射,三级模式分别是概念级模式、内部级模式和外部级模式。
概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户(应用)公共数据视图。
内模式又称物理模式,它给出了数据库物理存储结构与物理存取方法,如数据存储的文件结构、索引、集簇及hash等存取方式与存取路径,内模式的物理性主要体现在 操作系统 及文件级上,.它还未深入到设备级上(如磁盘及磁盘操作)。
外模式也称子模式或用户模式,它是用户的数据视图,也就是用户所见到的数据模式,它由概念模式推导面出。
(5)数据字典是各类数据描述的集合,它通常包括5个部分,即数据项、数据结构、数据流、【5】和处理过程。
答案:【5】数据存储
评析:数据字典是各类数据描述的集合,它通常包括5个部分,即数据项,是数据的最小单位;数据结构,是若干数据项有意义的集合;数据流,可以是数据项,也可以是数据结构,表示某一处理过程的输入或输出;数据存储,处理过程中存取的数据,常常是手工凭证、手工文档或计算机文件;处理过程。
(6)下面程序的输出是【6】。
main()
{int arr[10],i,k=O:
for(i=0;i<.10;i )
arr[i]=i;
for(I=1;i<.4;i )
k =arr[I] i;
printf("%d\n",k);}
答案:【6】12
评析:本题通过第一个for循环将数组arr[O]-arr[9]分别赋值为0-9,通过第二个for循环的三次循环累加,求出结果为12,具体分析如下:
i=l:k=0 arr[1] l即k=2:
i=2:k=2 arr[2] 2即k=6:
i=3:k=6 arr[3] 3即k=12;
(7)若a=10,b=20,则表达式!(a<.b)的值是【7】。
答案:【7】0
评析:已知a=10,b=20,所以逻辑表达式a<.b的值为true,即为1,在这个表达式前面有一个逻辑运算符!,表示反操作,所以整个语句的值应当为false,即为0。
(8)有以下程序:
int fa(int x){return x*x;}
int fb(int x){return x*x*x;}
int f(int(*f1)(),int(*f2)(),int x)
{return f2(X)-n(x);}
main()
{int i;i=f(fa,fb,2);printf("%d\n",i);}
程序运行后,输出结果是【8】。
答案:【8】4
评析:在主函数中调用函数f,函数f有三个参数,形参f1与f2分别是两个指向函数的指针。在f中执行r2(x)-f1(x),实际上是执行了fb(2).fa(2),故执行i=(fa,fb,2)后i的值为2^3-2^2=4。
(9)下面程序的输出是【9】。
main()
{enum em{eml=3,em2=1,em3};
char*aa[]={"AA","BB","CC","DD"};
primf("%s%s%s\n",aa[eml],aa[em2],aa[em3]);
}
答案:【9】DDBBCC
评析:c语言对枚举的定义规定:在枚举中声明的各个枚举元素,如果没有明确指出某个枚举元素的值,它的上一个元素存在并有明确值的情况下,这个枚举元素的值为其上一个元素的值 1。
在本题中,没有明确说明枚举元素em3的值,则em3=em2 l=1 l=2,进而可知,在printf()打印函数中,要打印的数组元素是aa[3]、aa[1]、aa[2],因此最后的打印结果应当为"DDBBCC"。
(10)若想通过以下输入语句使a=5.0,b=4,c=3,则输入数据的形式应该是【10】。
int b,c;float a;
scanf("%£%d,c=%d",&.a,&.b,&.c)
答案:【10】5.0,4,c=3