《国家二级C语言机试选择题模拟试卷79_真题(含答案与解析)交互.docx》由会员分享,可在线阅读,更多相关《国家二级C语言机试选择题模拟试卷79_真题(含答案与解析)交互.docx(13页珍藏版)》请在第一文库网上搜索。
1、国家二级C语言机试(选择题)模拟试卷79(总分80,做题时间90分钟)1.选择题1.下列关于栈和队列的描述中,正确的是()0I|SSS_SING1E_SE1A栈是先进先出B队列是先进后出C队列允许在队头删除元素D栈在栈顶删除元素分值:2答案:D解析:栈实际也是线性表,只不过是一种特殊的线性表。栈是只能在表的一端进行插入和删除运算的线性表,通常称插入、删除的这一端为栈顶,另一端为栈底。队列是只允许在一端删除,在另一端插入的顺序表,允许删除的一端叫做队头,允许插入的一端叫做队尾。2.已知二叉树后序遍历序列是CDABE,中序遍历序列是CADEB,它的前序遍历序列是()。ISSS_S1NG1E_SE1
2、AABCDEBECABDCEACDBDCDEAB分值:2答案:C血析:由于后序遍历的最后一个元素为E,所以E为根结点,所以它的前序遍历的首个元素为E,故排除A和D选项。由于中序遍历中,元素B在元素根结点E的后面,所以B为二叉树的右子树,并且该二叉树右子树只有一个元素,所以前序遍历的最后一个元素应为B,故选项C为正确选项,即该二叉树的前序遍历序列是EACDB。3.在数据流图中,带有箭头的线段表示的是()。ISSSSING1ESE1A控制流B数据流C模块调用D事件驱动分值:2答案:B解至:数据流图中带箭头的线段表示数据流,沿箭头方向传递数据的通道,一般在旁边标注数据流名。4.结构化程序设计的3种结
3、构是()。ISSSSING1ESE1A顺序结构,分支结构,跳转结构B顺序结构,选择结构,循环结构C分支结构,选择结构,循环结构D分支结构,跳转结构,循环结构分值:2答案:B解瓦:程序设计语言仅仅使用顺序、选择和重复(循环)三种基本控制结构就足以表达出各种其他形式结构的程序设计方法。遵循程序结构化的设计原则,按结构化程序设计方法设计出的程序易于理解、使用和维护;可以提高编程工作的效率,降低软件的开发成本。5.下列方法中,不属于软件调试方法的是()oISSS_SING1E_SE1A回溯法B强行排错法C集成测试法D原因排除法分值:2答案:C而析:软件调试主要采用以下三种方法:强行排错法:作为传统的调
4、试方法,其过程可概括为设置断点、程序暂停、观察程序状态、继续运行程序。回溯法:该方法适合于小规模程序的排错、即一旦发现了错误,先分析错误征兆,确定最先发现“症状”的位置。原因排除法:原因排除法是通过演绎和归纳,以及二分法来实现。6.下列选项中,不属于模块间耦合的是()。ISSS_SING1E_SE1A内容耦合B异构耦合C控制耦合D数据耦合分值:2答案:B解析:耦合可以分为下列几种,它们之间的耦合度由高到低排列:内容耦合一一若一个模块直接访问另一模块的内容,则这两个模块称为内容耦合。公共耦合一一若一组模块都访问同一全局数据结构,则称为公共耦合。外部耦合一一若一组模块都访问同一全局数据项,则称为外
5、部耦合。控制耦合一一若一-模块明显地把开关量、名字等信息送入另一模块,控制另一模块的功能,则称为控制耦合。标记耦合一一若两个以上的模块都需要其余某一数据结构的子结构时,不使用其余全局变量的方式而全使用记录传递的方式,这样的耦合称为标记耦合。数据耦合一一若一个模块访问另一个模块,被访问模块的输入和输出都是数据项参数,则这两个模块为数据耦合。非直接耦合一一若两个模块没有直接关系,它们之间的联系完全是通过程序的控制和调用来实现的,则称这两个模块为非直接耦合,这样的耦合独立性最强。7.下列特征中不是面向对象方法的主要特征的是()0ISSS_SING1E_SE1A多态性B标识惟一性C封装性D耦合性分值:
6、2答案:D品析:面向对象设计方法与面向过程设计方法有本质的不同,其基本原理是:使用现实世界的概念抽象地思考问题从而自然地解决问题。其特点包括:标识惟一性、多态性、封装性、模块独立性、继承和多态性好。8.在数据库设计中,将E-R图转换成关系数据模型的过程属于()0ISSS_SING1ESE1A需求分析阶段B概念设计阶段C逻辑设计阶段D物理设计阶段分值:2答案:C解析:逻辑结构设计的任务:概念结构是各种数据模型的共同基础,为了能够用某一DBMS实现用户需求,还必须将概念结构进一步转化为相应的数据模型,这正是数据库逻辑结构设计所要完成的任务。它包括从E-R图向关系模式转换和逻辑模式规范化及调整、实现
7、。9.在一棵二叉树上,第5层的结点数最多是()0ISSS_SING1E_SE1A8B9C15D16分值:2答案:D解析:根据二叉树的性质:二叉树第i(i21)层上至多有2m个结点。得到第5层的结点数最多是16个。10.下列有关数据库的描述,正确的是()。ISSS_S1NG1E_SE1A数据库设计是指设计数据库管理系统B数据库技术的根本目标是要解决数据共享的问题C数据库是一个独立的系统,不需要操作系统的支持D数据库系统中,数据的物理结构必须与逻辑结构一致分值:2答案:B解析:数据库设计的目的实质上是设计出满足实际应用需求的实际关系模型。数据库技术的主要目的是有效地管理和存取大量的数据资源,包括:
8、提高数据的共享性,使多个用户能够同时访问数据库中的数据;减小数据的冗余,以提高数据的一致性和完整性;提供数据与应用程序的独立性,从而减少应用程序的开发和维护代价。11.以下关于C语言的叙述中正确的是()0ISSS_SING1E_SE1A预处理命令通常位于函数体外面,但也可以位于函数体中间BC语言中的变量定义须在其他语句之前C在C语言程序的书写中,一个语句必须单占一行D一个C语言源程序可以由一个或多个源文件组成,每个源文件可由自己的main函数分值:2答案:A解析:源程序中可以有预处理命令(inc1ude命令仅为其中的一种)。C语言中的变量可以在使用之前的任何位置进行定义。C语言程序的书写中,多
9、个语句可以位于一行,但为了增强可读性,一般每行只有一条语句。一个C语言源程序可以由一个或多个源文件组成,但仅可以有一个main函数。12.下列叙述中错误的是()。IISSS_SING1E_SE1A用户所定义的标识符允许使用关键字B用户所定义的标识符应尽量做到“见名知意”C用户所定义的标识符必须以字母或下划线开头D用户定义的标识符中,大、小写字母代表不同标识分值:2答案:A遍析:在C语言中,合法标识符的命名规则是:标识符可以由字母、数字和下划线组成,并且第一个字符必须为字母或下划线,凡是要求标识符的地方都必须按此规则命名。在C语言的标识符中,大写字母和小写字母被认为是两个不同的字符。在选择标识符
10、时,应注意做到“见名知义”,即选择具有一定含义的英文单词或汉语拼音作为标识符,以增加程序的可读性。13.下列选项中可作为C语言合法常量的是()。ISSS_S1NG1E_SE1A-80B-080C-8e1.0D-80.Oe分值:2答案:A解析:所谓常量是指在程序运行的过程中,其值不能被改变的量。在C语言中,有整型常量、实型常量、字符常量和字符串常量等类型。选项B中是以O开头,表示一个八进制数,而八进制数的取值范围是O7,所以“-080”错误;在C语言中e后面的指数必须是整数,因此选项C和D也不正确。14.下列定义变量的语句中错误的是()oIISSS_SING1E_SE1Aint_int;Bdou
11、b1eint;CcharFor;Df1oatUS$;分值:2答案:1)解析:C语言规定,变量的标识符只能由字母、数字和下划线3种字符组成,且首字符必须为字母或下划线。在C语言中大写字母和小写字母被认为是两个不同的字符。选项A定义的变量标识符_int和选项B定义的变量标识符_int与C语言的关键字int是不同的,是正确的变量标识。选项C定义的变量标识符For与C语言中的关键字for是两个不同的标识符,所以选项C是正确的,而选项D包含有特殊字符$,因而其不符合C语言的变量命名规定。15.下列关于函数的叙述中正确的是()OISSS_S1NG1E_SE1A每个函数都可以被其他函数调用(包括main函数
12、)B每个函数都可以被单独编译C每个函数都可以单独运行D在一个函数内部可以定义另一个函数分值:2答案:B而析:在C语言中,函数定义是平行的,函数不能嵌套定义,即函数之间没有从属关系。虽然函数之间可以相互调用,但main。函数不能被调用,选项A错误;C程序从IIIain()函数开始执行,当main()函数执行完毕时,整个程序就结束了。C程序的执行必须从IIIain()函数开始,选项C选项错误;函数不能嵌套定义,选项D错误。16.当a=1、b=2C=3、d=4时,执行下面程序段后,X的值是()。if(ab)if(cd)x=1;e1seif(ac)if(bd)x=2;e1sex=3;e1sex=6;e
13、1sex=7;ISSS_S1NG1E_SE1A1B6C3D2分值:2答案:A解析:本题考查的是if-e1se语句。第一个if语句,先判断条件,发现aVb条件成立,执行下面的语句。第二个if语句,先判断条件,发现CVd条件成立,执行下面的语句x=1。17.以下程序的输出结果是()0ftinc1udemain()inta=4,b=3,c=2fd=1;printf(,%d,ab?a:dc?d:b);IISSS_SING1E_SE1A1B3C2D4分值:2答案:A解析:条件表达式的格式为:a?b:c,它的功能是:当a为真时,表达式的值等于b的值;当a为假时,表达式的值等于C的值。因为条件运算符的结合方
14、向为“自右向左”。因此,当表达式中嵌套使用条件表达式时,应先计算右边的条件表达式,再计算左边的条件表达式。题中应先计算“dc?d:b”的“dc”关系表达式的值,因为d=1c=2为真,所以取第一个表达式的值,即d的值作为整个表达式的值。接着计算aab?a:d,wa=4b=3w为假,取第二个表达式的值,即d的值作为整个表达式的值。18.有以下程序ftinc1udemain()intb33=0,12,0,1,2,0,1,2,i,j,t=0;for(i=0;i=i;j)t+=bij;printf(,%dn,t);程序运行后的输出结果是()。ISSS_SING1E_SE1A4B3C8D9分值:2答案:C解析:这道题主要考查的是二维数组的有关知识。在两层for循环语句中,累加上三角元素,所以程序执行的过程为t=bO0+b01+b02+b11+b+b=8”。19.以下程序:ftinc1udemain()charstr10;scanf(,%s,&str);printf(,%snf,str);运行上面的程序,输入字符串“howareyou”,则程序的执行结果是()。ISSS_SING1E_SE1AhowBhowareyouChDhowareyou分值:2答案:A解析:当从键盘输入“howareyou”时,由于SCanf输入函数的特点是遇到空格时结束读入字符,因此,该程序只将h