国家二级C语言机试(选择题)模拟试卷580
选择题
1.I/0方式中使计算机系统并行工作程度最高的是( )。(D)
A. DMA
B. 程序查询
C. 程序中断
D. 通道控制
解析:Ⅰ/0方式包括程序查询、程序中断、直接存储器存取(DMA)和通道控制等。通道控制方式可以做到一个通道控制多台设备与内存进行数据交换,因而,通道控制方式进一步减轻了CPU的工作负担,增加了计算机系统的并行工作程度。故本题答案为D选项。
2.下列叙述中正确的是( )。(B)
A. 算法就是计算方法
B. 程序可以作为算法的一种描述方法
C. 算法设计只需考虑得到计算结果
D. 算法设计可以忽略算法的运算时间
解析:算法是指对解题方案的准确而完整的描述,算法不等于数学上的计算方法,也不等于程序。算法设计需要考虑可行性、确定性、有穷性与足够的情报,不能只考虑计算结果。算法设计的有穷性是指操作步骤有限且能在有限时间内完成,如果一个算法执行耗费的时间太长,即使最终得出了正确结果,也没有意义。算法在实现时需要用具体的程序设计语言描述,所以程序可以作为算法的一种描述方法。故本题答案为B选项。
3.某带链栈的初始状态为top=bottom=NULL,经过一系列正常的入栈与出栈操作后,top=bottom=20。该栈中的元素个数为( )。(B)
A. 0
B. 1
C. 20
D. 不确定
解析:带链栈就是用一个单链表来表示的栈。栈中的每一个元素对应链表中的一个节点。栈为空时,头指针和尾指针都为NULL;栈中只有一个元素时,头指针和尾指针都指向这个元素。故本题答案为B选项。
4.在长度为n的顺序表中查找一个元素,假设需要查找的元素有一半的机会在表中,并且元素出现在表中每个位置上的可能性是相同的,则平均需要比较的次数大约为( )。(B)
A. n
B. 3n/4
C. n/2
D. n/4
解析:在顺序表中查找,在最好情况下,第1个元素就是要查找的元素,则比较次数为1;在最坏情况下,最后一个元素才是要查找的元素,则比较次数为n。这是找到元素的情况。如果没有找到元素,则要比较n次。因此,平均需要比较的次数为:找到元素的情况×1/2+未找到元素的情况×1/2=(1+2+…
5.软件生命周期是指( )。(D)
A. 软件的运行和维护
B. 软件的需求分析、设计与实现
C. 软件的实现和维护
D. 软件产品从提出、实现、使用、维护到停止使用的过程
解析:通常,将软件产品从提出、实现、使用、维护到停止使用的过程称为软件生命周期。也就是说,软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。故本题答案为D选项。
6.使用白盒测试方法时,设计测试用例应根据( )。(A)
A. 程序的内部逻辑
B. 程序的复杂结构
C. 程序的功能
D. 使用说明书
解析:自盒测试又称为结构测试或逻辑驱动测试,它允许测试人员利用程序内部的逻辑结构和有关信息来设计或选择测试用例,对程序所有的逻辑路径进行测试。故本题答案为A选项。
7.在学校里,教师可以讲授不同的课程,同一课程也可由不同教师讲授,则实体教师与实体课程之间的联系是( )。(D)
A. 一对多
B. 一对一
C. 多对一
D. 多对多
解析:一个教师可以讲授不同的课程,同一课程也可由不同教师讲授,则实体教师与实体课程之间的联系是多对多。故本题答案为D选项。
8.关系模型中的关系模式至少应是( )。(A)
A. 1NF
B. 2NF
C. 3NF
D. BCNF
解析:关系数据库中的关系是要满足一定要求的,满足不同程度要求的为不同的范式。满足最低要求的叫第一范式,简称1NF。在满足第一范式的基础上,进一步满足更多要求的则是第二范式,简称2NF。然后在满足第二范式的基础上,还可以再满足第三范式,简称3NF,以此类推。
对于关系模式,若其中的每个属性都已不能再分为简单项,则它属于第一范式。
若某个关系R为第一范式,并且R中每一个非主属性完全依赖于R的某个候选键,则称其为第二范式。第二范式消除了非主属性对主键的部分依赖。
如果关系R是第二范式,并且每个非主属性都不传递依赖于R的候选键,则称R为第三范式(传递依赖:在关系模式中,如果Y→X,X→A,且X不决定Y和A不属于X,那么Y→A是传递依赖)。
比第三范式更高级的BC范式(简称BCNF),它要求所有属性都不传递依赖于关系的任何候选键。故本题答案为A选项。
9.以下选项中不合法的标识符是( )。(A)
A. &a
B. FOR
C. print
D. _00
解析:C语言的标识符由字母、数字、下划线组成,且第1个字符必须是字母或下划线。另外,关键字不能作为标识符。因为C语言中区分大小写,所以B选项中的\\
10.以下叙述中正确的是( )。(B)
A. C语言编译系统对标识符的长度没有规定
B. C语言标识符的规定长度因系统而异
C. C语言规定标识符长度最多允许16个字符,超长报错
D. C语言规定以下划线开头的标识符长度必须大于1
解析:对于标识符的长度(一个标识符允许的字符个数),C语言编译系统是有规定的,即标识符的前若干个字符有效,超过的字符将不被识别。不同的C语言编译系统所规定的标识符有效长度是不同的。故本题答案为B选项。
11.若有定义\\(B)
A. a=x<>y
B. a%(int)(x—y)
C. (a*y)%b
D. y=x+y=x
解析:C语言中没有\\
12.算术运算符和圆括号有不同的运算优先级,对于表达式\\(B)
A. 先执行\\
B. 先执行\\
C. 先执行\\
D. 先执行\\
解析:题干中的表达式,圆括号的优先级最高,乘法运算符次之,加法运算符最低。同优先级中,加法运算符的结合性从左向右结合,所以题干中的表达式执行顺序是:先执行\\
13.若有定义\\(A)
A. scanf(\\
B. scanf(\\
C. scanf(\\
D. scanf(\\
解析:scanf是格式输入函数,其中双引号之间的内容是格式控制字符串,后面是输入参数列表。输入参数列表中各项都必须是变量地址,所以C选项错误;在scanf函数的格式控制字符前,可以加入一个正整数指定输入数据所占的宽度,但不可以对实数指定小数位的宽度,所以B、D选项错误。A选项是正确的,按照A选项的输入格式,12345赋值给变量a,空格赋值给变量ch,678910.36赋值给变量d。故本题答案为A选项。
14.以下程序段中,与语句\\(B)
A.
B.
C.
D.
解析:条件表达式的含义是:如果表达式1成立,结果为表达
本文档预览:3600字符,共6692字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载