全国c语言二级考试题库选择题,全国计算机等级考试二级C语言真题库之选择题...

《全国计算机等级考试二级C语言真题库之选择题》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级C语言真题库之选择题(11页珍藏版)》请在人人文库网上搜索。

1、全国计算机等级考试等级考试真题库之选择题(16)1.下列叙述中正确的是A) 程序执行的效率与数据的存储结构密切相关B) 程序执行的效率只取决于程序的控制结构C) 程序执行的效率只取决于所处理的数据量D) 以上说法均错误参考答案:A【解析】程序执行的效率与数据的存储结构、数据的逻辑结构、程序的控制结构、所处理的数据量等有关。2.下列与队列结构有关联的是A) 函数的递归调用B) 数组元素的引用C) 多重循环的执行D) 先到先服务的作业调度参考答案:D【解析】队列的修改是依先进先出的原则进行的,D正确。3.A) DYBEAFCZXB) YDEBFZXCAC) ABDYECFXZD) ABCDEFXY。

2、Z参考答案:C【解析】前序遍历是指在访问根结点、遍历左子树与遍历右子树这三者中,首先访问根结点,然后遍历左子树,最后遍历右子树;并且,在遍历左右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树。前序遍历描述为:若二叉树为空,则执行空操作。否则:访问根结点;前序遍历左子树;前序遍历右子树,C正确。4.一个栈的初始状态为空。现将元素1,2,3,A,B,C依次入栈,然后再依次出栈,则元素出栈的顺序是A) 1,2,3,A,B,CB) C,B,A,1,2,3C) C,B,A,3,2,1D) 1,2,3,C,B,A参考答案:C【解析】栈的修改是按后进先出的原则进行的,所以顺序应与入栈顺序相反,故选。

3、C。5.下面属于白盒测试方法的是A) 等价类划分法B) 逻辑覆盖C) 边界值分析法D) 错误推测法参考答案:B【解析】白盒测试法主要有逻辑覆盖、基本路径测试等。逻辑覆盖测试包括语句覆盖、路径覆盖、判定覆盖、条件覆盖、判断-条件覆盖,选择B。其余为黑盒测试法。6.下面对对象概念描述正确的是A) 对象间的通信靠消息传递B) 对象是名字和方法的封装体C) 任何对象必须有继承性D) 对象的多态性是指一个对象有多个操作参考答案:A【解析】对象之间进行通信的构造叫做消息,A正确。多态性是指同一个操作可以是不同对象的行为,D错误。对象不一定必须有继承性,C错误。封装性是指从外面看只能看到对象的外部特征,而不。

4、知道也无须知道数据的具体结构以及实现操作,B错误。7.软件设计中模块划分应遵循的准则是A) 低内聚低耦合B) 高耦合高内聚C) 高内聚低耦合D) 以上说法均错误参考答案:C【解析】根据软件设计原理提出如下优化准则: 划分模块时,尽量做到高内聚、低耦合,保持模块相对独立性,并以此原则优化初始的软件结构。 一个模块的作用范围应在其控制范围之内,且判定所在的模块应与受其影响的模块在层次上尽量靠近。 软件结构的深度、宽度、扇入、扇出应适当。 模块的大小要适中。C正确。8.下面描述中不属于数据库系统特点的是A) 数据共享B) 数据完整性C) 数据冗余度高D) 数据独立性高参考答案:C【解析】数据库系统的。

5、特点为高共享、低冗余、独立性高、具有完整性等,C错误。9.数据库设计过程不包括A) 概念设计B) 逻辑设计C) 物理设计D) 算法设计参考答案:D【解析】数据库设计过程主要包括需求分析、概念结构设计、逻辑结构分析、数据库物理设计、数据库实施、数据库运行和维护阶段。答案为D选项。10.A) 自然连接B) 交C) 投影D) 并参考答案:A【解析】关系R和关系S有公共域,关系T是通过公共域的等值进行连接的结果,符合自然连接,选A。11.以下叙述中正确的是A) 程序必须包含所有三种基本结构才能成为一种算法B) 我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令C) 如果算法非常复杂,则需要使。

6、用三种基本结构之外的语句结构,才能准确表达D) 只有简单算法才能在有限的操作步骤之后结束参考答案:B【解析】C语言程序可以不包含三种基本结构,也可以包含其中的一种或多种,所以A错误三种基本结构可以表示任何复杂的算法,所以C错误正确的算法,不管是简单算法还是复杂算法都可以在有限的操作步骤之后结束,这是算法的有穷性,所以D错误12.以下叙述中正确的是A) 在算法设计时,可以把复杂任务分解成一些简单的子任务B) 在C语言程序设计中,所有函数必须保存在一个源文件中C) 只要包含了三种基本结构的算法就是结构化程序D) 结构化程序必须包含所有的三种基本结构,缺一不可参考答案:A【解析】C语言的程序中,函数。

7、不一定都放在同一个源文件中,可以分别放在不同源文件中,通过#include命令来引用,所以B错误结构化程序可以包含三种基本结构中的一种或几种,所以C,D错误13.以下叙述中正确的是A) 只能在函数体内定义变量,其他地方不允许定义变量B) 常量的类型不能从字面形式上区分,需要根据类型名来决定C) 预定义的标识符是C语言关键字的一种,不能另作它用D) 整型常量和实型常量都是数值型常量参考答案:D【解析】变量可以定义在函数体外也可以定义在函数体内,所以A错误常量的类型可以从字面形式上区分,比如1为整型常量,1.0为实型常量,a为字符型常量,所以B错误预定义的标识符不是C语言的关键字,所以C错误14.。

8、以下叙述中正确的是A) 在C程序中的八进制和十六进制,可以是浮点数B) 整型变量可以分为int型、short型、long型和unsigned型四种C) 八进制数的开头要使用英文字母o,否则不能与十进制区分开D) 英文大写字母X和英文小写字母x都可以作为二进制数字的开头字符参考答案:B【解析】C程序中的实型常量只有十进制一种数制,所以A错误八进制数以0打头,所以C错误C语言中整数只有十进制八进制十六进制三种没有二进制数制,所以D错误15.以下叙述中正确的是A) 在scanf函数中的格式控制字符串是为了输入数据用的,不会输出到屏幕上B) 在使用scanf函数输入整数或实数时,输入数据之间只能用空格。

9、来分隔C) 在printf函数中,各个输出项只能是变量D) 使用printf函数无法输出百分号%参考答案:A【解析】scanf函数中的格式控制字符串是为了输入数据用的,无论其中有什么字符,也不会输出到屏幕上,所以A正确scanf()的格式控制串可以使用其他非空白字符,如逗号,但在输入时必须输入这些字符,以保证匹配就可以,所以B错误Printf函数可以输出常量也可以输出变量,所以C错误Prinf函数可以用%来输出百分号%,所以D错误16.以下叙述中正确的是A) 在scanf函数的格式串中,必须有与输入项一一对应的格式转换说明符B) 只能在printf函数中指定输入数据的宽度,而不能在scanf函。

10、数中指定输入数据占的宽度C) scanf函数中的字符串,是提示程序员的,输入数据时不必管它D) 复合语句也被称为语句块,它至少要包含两条语句参考答案:A【解析】在printf和scanf函数中都可以指定数据的宽度,所以B错误scanf()的格式控制串可以使用其他非空白字符,如逗号,但在输入时必须输入这些字符,以保证匹配,所以C错误复合语句可以由任意多条语句构成,可以使一条也可以没有,所以D错误17.以下叙述中正确的是A) 逻辑或(即运算符|)的运算级别比算术运算要高B) C语言的关系表达式:00)&(x0 并且x b的结果是假D) 是非法的参考答案:C【解析】A选项中,0表示结束;B选项中,字。

11、符常量是用单引号括起来的一个字符; D选项中,是双引号符。因此C选项正确。22.以下叙述中正确的是A) 字符变量在定义时不能赋初值B) 字符常量可以参与任何整数运算C) 同一英文字母的大写和小写形式代表的是同一个字符常量D) 转义字符用符号开头参考答案:B【解析】A选项中,字符变量在定义时可以赋初值; C选项中,同一英文字母的大写和小写形式代表的是不同的字符常量;D选项中,转义字符以反斜线开头的。因此B选项正确。23.以下叙述中正确的是A) 函数名允许用数字开头B) 函数调用时,不必区分函数名称的大小写C) 调用函数时,函数名必须与被调用的函数名完全一致D) 在函数体中只能出现一次return。

12、语句参考答案:C【解析】B选项中,函数调用时,函数名称是需要区分大小写的;A选项中,函数名不允许以数字开头;D选项中,在函数中允许有多个return语句,但每次调用只能有一个return 语句被执行。因此C选项正确。24.以下叙述中正确的是A) 如果p是指针变量,则&p是不合法的表达式B) 如果p是指针变量,则*p表示变量p的地址值C) 在对指针进行加、减算术运算时,数字1表示1个存储单元的长度D) 如果p是指针变量,则*p+1和*(p+1)的效果是一样的参考答案:C【解析】B选项中,如果p是指针变量,则*p表示变量p所指向的地址的值;A选项中,如果p是指针变量,则&p表示变量p的地址;D选项。

13、中,如果p是指针变量,*p+1表示将p所指的值加上1,而*(p+1)表示的是先将指针右移一位再取所指向变量的值。因此C选项正确。25.以下叙述中正确的是A) 基类型不同的指针变量可以相互混用B) 函数的类型不能是指针类型C) 函数的形参类型不能是指针类型D) 设有指针变量为 double *p,则 p+1 将指针p移动8个字节参考答案:D【解析】B选项中,所谓函数类型是指函数返回值的类型。在语言中允许一个函数的返回值是一个指针(即地址),这种返回指针值的函数称为指针型函数;C选项中,函数的参数不仅可以是整型、实型、字符型等数据,还可以是指针类型;A选项中,虽然不同基类型的指针变量占用字节数是相。

14、同的,但是不能混用。因此D选项正确。26.如果定义float a10, x;则以下叙述中正确的是A) 语句 a = &x; 是非法的B) 表达式 a+1 是非法的C) 三个表达式 a1、*(a+1)、*&a1表示的意思完全不同D) 表达式*&a1是非法的,应该写成 *(&(a1)参考答案:A【解析】B选项中,表达式a+1不是非法的;C选项中, *(a+1)即指a1;D选项中,*&a1不是非法的。因此A选项正确。27.有以下程序#include main() int a = 2,4,6,8 , *p=a, i;for( i=0; ia与p+-a都是合语法的表达式,但二者不等价B) 语句 +p-a。

15、; 的效果是使p增1C) 语句 +p-a; 的效果是使成员a增1D) 语句 *p-s+; 等价于 (*p)-s+;参考答案:C【解析】本题考查结构体变量的引用,+p-a的效果是使成员a增1,p+-a不合法,*p-s+为字符e,与(*p)-s+不等价。39.下面关于位运算符的叙述,正确的是A) |表示按位或的运算B) #表示按位异或的运算C) &表示按位与的运算D) 表示按位异或的运算参考答案:C【解析】本题考查位运算。为按位异或,|为按位或,表示按位取反。所以C选项正确。40.下面关于EOF的叙述,正确的是A) EOF的值等于0B) EOF是在库函数文件中定义的符号常量C) 文本文件和二进制文件都可以用EOF作为文件结束标志D) 对于文本文件,fgetc函数读入最后一个字符时,返回值是EOF参考答案:B【解析】在C语言中,或更精确地说成C标准函数库中表示文件结束符(end of file)。在while循环中以EOF作为文件结束标志,这种以EOF作为文件结束标志的文件,必须是文本文件。在文本文件中,数据都是以字符的ASCII代码值的形式存放。我们知道,ASCII代码值的范围是0255,不可能出现-1,因此可以用EOF作为文件结束标志。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值