31[单选题] 有以下程序:
程序运行后的输出结果是( )。
A.0
B.2
C.3
D.5
参考答案:B
参考解析:程序首先给字符数组s[]赋值为“012xy”,for循环语句的功能是遍历字符串,通过if条件语句对字符串中的小写字母计数,在符串中小写字母为2个,即n=2。因此B选项正确。
32[单选题] 在软件设计中不使用的丁具是( )。
A.系统结构图
B.PAD图
C.数据流图(DFD图)
D.程序流程图
参考答案:C
参考解析:系统结构图是对软件系统结构的总体设计的图形显示。在需求分析阶段,已经从系统开发的角度出发,把系统按功能逐次分割成层次结构,是在概要设计阶段用到的。PAD图是在详细设计阶段用到的。程序流程图是对程序流程的图形表示,在详细设计过程中用到。数据流图是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型,是在可行性研究阶段用到的而非软件设计时用到,所以选择C。
33[单选题] 在满足实体完整性约束的条件下( )。
A.一个关系中应该有一个或多个候选关键字
B.一个关系中只能有一个候选关键字
C.一个关系中必须有多个候选关键字
D.一个关系中可以没有候选关键字
参考答案:A
参考解析:实体完整性约束要求关系的主键中属性值不能为空值,所以选择A。
34[单选题] 有以下程序:
执行后的输出结果是( )。
A.12345
B.54321
C.012345
D.543210
参考答案:A
参考解析:本题考查递归函数。函数fun(a)在a>1时,递归调用fun(a-1),否则输出a的值,由于prinff()函数在递归调用之后,所以直到递归函数运行完后再执行printf()函数,所以fun(5)中首先递归调用fun(4),再递归调用fun(3)、fun(2),fun(1),最后当a=1时,输出1,接着输出2、3、4、5,所以输出结果为:1 2345,答案为A。
35[单选题] 某系统总体结构图如下图所示:
该系统总体结构图的深度是( )。
A.7
B.6
C.3
D.2
参考答案:C
参考解析:根据总体结构图可以看出该树的深度为3,比如:XY系统—功能2—功能2.1,就是最深的度数的一个表现。
36[单选题] 有以下程序:
程序运行时输入:-1 -2012<回车>,则输出结果是( )。
A.1,2
B.2,2
C.-1,1
D.-2,1
参考答案:A
参考解析:分析程序结构,在whi1e循环中,输入x的值后,若x的值大于0,将a的值累乘x,执行break语句跳出循环;若x的值小于0,将b的值累乘x,执行continue,进行下一个循环;当x的值等于0时,打印a、b的值,进入下一个循环;所以当输入-1、-2后,b累乘为2;输入0后,打印a、b的值为1,2,再输入1,a累乘跳出循环,程序运行结束;输出结果为1,2,故答案为A。
37[单选题] 有以下定义语句,编译时会出现编译错误的是( ):
A.char a='\x2d';
B.char a='\n';
C.char a='a';
D.char a="aa":
参考答案:D
参考解析:D选项中将字符串常量“aa”赋给字符变量a是错误的。
38[单选题] 若有函数定义如下:
则以下涉及上述函数的说明语句错误的( )。
A.int fun(int x,y);
B.int fun(int,int);
C.int fun(int a,int b);
D.int i,fun(int x,int y);
参考答案:A
参考解析:c语言中函数的说明形式为:类型说明符函数名(类型形参名1,类型形参名2,...);其中形参名可以直接省略,故选项B、选项C正确,选项D中,变量i和函数同时声明,正确;A选项中的说明语句中省略类型,故错误。
39[单选题] 某二叉树共有7个结点,其中叶子结点只有l个,则该二叉树的深度为(假设根结点在第1层)( )。
A.3
B.4
C.6
D.7
参考答案:D
参考解析:根据二叉树的基本性质3:在任意一棵二叉树中,多为0的叶子结点总比度为2的结点多一个,所以本题中度为2的结点为1-1=0个,所以可以知道本题目中的二叉树的每一个结点都有一个分支,所以共7个结点共7层,即度为7。
40[单选题] 有以下程序:
程序运行后的输出结果是( )。
A.t1=9 t2=4
B.t1=4 t2=9
C.t1=9 t2=9
D.t1=1 t2=4
参考答案:A
参考解析:由程序可知,main函数的for循环中i的取值为1、2、3、4。T1初值为10,t2初值为0,当i-1时,传人函数m1参数为:1、10,因为1<10,所以函数m1的返回值为2×1+1=3;传人函数m2的参数为1、0,因为1>0,所以返回值为1;即第一轮循环后,t1=3,t2=1。当i=2时,传人函数m1的参数为2、3,因为2<3,所以函数返回值为2×2+1=5;传人函数m2的参数为2、1,因为2>1,所以函数返回值为2;即第二轮循环后,t1=5,t2=2;当i=3时,传人函数m1的参数为3、5,因为3<5,所以返回值为2×3+1=7;传人函数m2的参数为3、2,因为3>2,所以返回值为3;即第三轮循环后,t1=7,t2=3;当i-4时,传人函数m1的参数为4、7,因为4<7,所以函数返回值为2x4+1=9,传人函数m2的参数为4、3,因为4>3,所以函数返回值为4,即第四轮循环后,t1=9,t2=4。故答案选A(仔细分析可以发现,对于m1函数,由于第一次1<10,导致后面每次参数x都是i,而参数y都是2×i-1,返回值都是2×i+1;同理,对于m2函数,由于第一次1>0,导致后面每次参数x都是i,而y都是i-1,返回值都是i,所以最终结果为t1=2x4+1,t2=4)。
出国留学网计算机等级考试栏目推荐: