
全国计算机等级考试c语言套题5.doc
10页一、选择题((1)~(10)每小题 2 分,(11)~(50)每小题 1 分,共 60 分)下列各题 A)、B)、C)、 D)四个选项中,只有一个选项是正确的,请将正确选项涂写 在答题卡相应位置上,答在试卷上不得分1)算法一般都可以用________控制结构组合而成A) 循环、分支、递归 B)顺序、循环、嵌套C)循环、递归、选择 D)顺序、选择、循环答案:D评析:算法的控制结构给出了算法的基本框架,不仅决定了算法中各操作的执行顺序,也直接反映了算法的设计是否符合结构化原则一个算法一般都可以用顺序、选择、循环三种基本控制结构组合而成2)数据的存储结构是指________A) 数据所占的存储空间量B)数据的逻辑结构在计算机中的表示C)数据在计算机中的顺序存储方式D) 存储在外存中的数据答案:B评析:数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构3)设有下列二叉树:对此二叉树中序遍历的结果为________A)ABCDEF B)DBEAFC C)ABDECF D)DEBFCA答案:B评析:中序遍历是指首先遍历左子树,然后访问根结点,最后遍历右子树;并且在遍历左、右子树时,仍然先遍历左子树,然后访问根结点,最后遍历右子树的一种二叉树遍历算法。
4)在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送________ A) 调用语句 B)命令 C)口令 D) 消息答案:D评析:面向对象的世界是通过对象与对象间彼此的相互合作来推动的,对象间的这种相互合作需要一个机制协助进行,这样的机制称为消息消息是一个实例与另一个实例之间传递的信息,它请求对象执行某一处理或回答某一要求的信息,它统一了数据流和控制流5)检查软件产品是否符合需求定义的过程称为________ A) 确认测试 B)集成测试 C)验证测试 D) 验收测试答案:A评析:确认测试的任务是验证软件的功能和性能及其他特性是否满足了需求规格说明中的确定的各种需求,以及软件配置是否完全、正确6)下列工具中为需求分析常用工具的是________A)PAD B)PFD C)N-S D)DFD答案:D评析:常见的需求分析方法有:结构化分析方法和面向对象的分析方法结构化分析的常用工具有:数据流图(DFD)、数据字典(DD)、判定树和判定表等7)下面不属于软件设计原则的是________A) 抽象 B)模块化 C)自底向上 D) 信息隐蔽答案:C评析:在软件设计过程中,必须遵循软件工程的基本原则:这些原则包括抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可靠性。
8)索引属于_________A) 模式 B)内模式 C)外模式 D) 概念模式答案:B评析:内模式(Internal Schema)又称物理模式(Physical Schema),它给出了数据库物理存储结构与物理存取方法,如数据存储的文件结构、索引、集簇及 hash 等存取方式与存取路径9)在关系数据库中,用来表示实体之间联系的是_________ A) 树结构 B)网结构 C)线性表 D) 二维表答案:D评析:在关系数据库中,用二维表来表示实体之间联系10)将 E-R 图转换到关系模式时,实体与联系都可以表示成 _________A) 属性 B)关系 C) 键 D) 域答案:B评析:关系是由若干个不同的元组所组成,因此关系可视为元组的集合,将 E-R 图转换到关系模式时,实体与联系都可以表示成关系11)有如下程序main(){char ch[2][5]={"6937","8254"} ,*p[2] ;int I,j,s=0 ;for(I=O;i'\0' ;j+=2)s=10*s+(p[i][j].'0');printf("%d\n",s) ;}该程序的输出结果是_________。
A)69825 B)63825 C)6385 D)693825答案:C评析:本题"ch[2][5]={"6937","8254"}" 用于 2 行 5 列的二维数组初始化,ch[O][0]-ch[O][4]的值分别为:6,9,3,7,\0;ch[1][0]-ch[1][4] 的值分别为: 8,2,5,4,\0;第一个 for 循环用于将数组指针分别指向二给数组的第一行和第二行;第二个 for 嵌套循环用于取出 p[O][0],p[O][2],p[1][0],p[1][2] 四个存储单元的数组成一个四位数进行输出12)以下叙述不正确的是_________A) 分号是 C 语言的必要组成部分B)C 程序的注释可以写在句的后面C)函数是 C 程序的基本单位D) 主函数的名字不一定用 main 表示答案:D评析:c 语言的程序是由主函数 main()开始运行,由主函数来调用其他函数,所以 D是错误的13)若变量已正确定义并赋值,下面符合 c 语言的表达式是_________A)a :_b+1 B)a=b=c+2 C)int 18.5%3 D)a=a+7=c+b答案:B评析:选项 A 和 c 一望而知其错:对于表达式 a=a+7=c+b(答案 D),是先执行赋值表达式 a+7=c+b,再把这个表达式的值赋给 a,显然,表达式 a+7=c+b 非法,因为赋值表达式的左侧不能为常量或表达式。
14)C 语言运算对象必须是整型的运算符是 _________A) %= B)/ C)= D),则输出结果为________main(){int m,n;printf("Enter m,n:");scanf("%d %dt. ,&m,&n);while(mI-n){while(m>n)re-=n,while(n>m)n-=m;}printf("m= %d\n",m);}A)m=3 B)m=2 C)m=l D)m=O答案:C评析:分析程序可知,该程序实现的功能是对数 m,n 求其最大公约数在本题中 m与 n 的值分别为 65 与 14,其最大公约数为 1,故其输出结果为 m=l (21)能正确表示逻辑关系:""a≥10 或 a≤0"" 的 C 语言表达式是________A)a>=10 or a=0 I a=10&&a=10 ll ay?x:y;} { int z;z=x>y?x:y;return z;}C)max(intx,inty) D)intmax(intx,inty){int z; {return x>y?x:y;}z=x>y?x:y;return(z);}答案:B评析:在 c 语言中,不可以在函数的参数声明列表中用一个类型名指定多个参数。
故选项 B 是错误的 其正确的表示方式应为int max(int x,int y){……}或int max(x , y)int x,y;{……}。












