




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2018年计算机二级C语言模拟题2(总分:100.00,做题时间:120分钟)一、选择题(每题1分,共40分)(总题数:40,分数:40.00)1. 一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C D E依次入栈,然后再依次出栈,则元素岀栈的顺序是()。(分数:1.00 )A. 12345ABCDEB. EDCBA54321 VC. ABCDE12345D. 54321EDCBA解析:栈按后进先岀的原则组织数据,因此入栈最晚的最先岀栈,因此本题答案为B)。2. 下列叙述中正确的是()。(分数:1.00 )A. 循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B. 在循环队
2、列中,只需要队头指针就能反映队列中元素的动态变化情况C. 在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D. 循环队列中元素的个数由队头指针和队尾指针共同决定V解析:循环队列有队头和队尾两个指针,但是循环队列仍是线性结构,因此A)错误;在循环队列中需要队头与队尾两个指针来共同反映队列中元素的动态变化情况,因此B)与C)错误,故本题答案为 D)。3. 在长度为n的有序线性表中进行二分法查找,最坏情况下需要比较的次数是()。(分数:1.00 )A. 0(n)B. 0(n2)qnM-rC. VisD. 解析:当有序线性表为顺序存储时才能用二分法查找。可以证明的是,对于长度为n的有序线性
3、表,在最坏情况下,二分法查找只需要比较log 2n次,而顺序查找需要比较 n次,因此本题答案为 C)。4. 数据流图中带有箭头的线段表示的是()。(分数:1.00 )A. 控制流B. 事件驱动C. 模块调用D. 数据流 V解析:数据流图中带箭头的线段表示的是数据流,即沿箭头方向传送数据的通道,一般在旁边标注数据流 的名称,因此本题答案为 D)。5. 下列叙述中正确的是()。(分数:1.00 )A. 顺序存储结构的存储空间一定是连续的,链式存储结构的存储空间不一定是连续的VB. 顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C. 顺序存储结构能存储有序表,链式存储结构不能存储有序表D.
4、 链式存储结构比顺序存储结构节省存储空间解析:链式存储结构既可以针对线性结构也可以针对非线性结构,因此B)与C)错误。链式存储结构中每个结点都由数据域与指针域两部分组成,增加了存储空间,因此D)错误。本题答案为 A)。6. 在软件开发中,需求分析阶段可以使用的工具是()。(分数:1.00)A. N-S 图B. DFD 图 VC. PAD 图D. 程序流程图解析:在需求分析阶段可以使用的工具有数据流图(DFD图),数据字典(DD),判定树与判定表,因此本题答案为B)。7. 一间宿舍可住多名学生,则实体宿舍和学生之间的联系是()。(分数:1.00 )A. 一对一B. 一对多 VC. 多对一D. 多
5、对多解析:因为一间宿舍可以住多名学生即多名学生住在一间宿舍中,但一名学生只能住一间宿舍,所以实体宿舍和学生之间是一对多的关系,因此本题答案为B)。8. 在面向对象方法中,不属于“对象”基本特点的是()。(分数:1.00 )A. 一致性 VB. 分类性C. 多态性D. 标识唯一性解析:在面向对象方法中,对象的基本特点包括:标识唯一性、分类性、多态性、封装性、模块独立性好。一致性不属于对象的基本特点,因此本题答案为A ) o9. 在数据管理技术发展的三个阶段中,数据共享最好的是()。(分数:1.00 )A. 人工管理阶段B. 文件系统阶段C. 数据库系统阶段VD. 三个阶段相同解析:数据管理技术发
6、展至今经历了三个阶段:人工管理阶段、文件系统阶段和数据库系统阶段。其中最 后一个阶段结构简单,逻辑性强物理性少,使用方便,在各方面的表现都最好,一直占据数据库领域的主 导地位,因此本题答案为 C) o10. 有三个关系R、S和T如下:由关系R和S通过运算得到关系T,则所使用的运算为()(分数:1.00 )A. 笛卡尔积VB. 交C併D.自然连接解析:自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,因此根据关系T中的有序组可知关系 R与S进行的是自然连接操作,故本题答案为D)。11. 以下叙述中错误的是()。(分数:1.00 )A.
7、 使用三种基本结构构成的程序只能解决简单问题VB. 结构化程序由顺序、分支、循环三种基本结构组成C. C语言是一种结构化程序设计语言D. 结构化程序设计提倡模块化的设计方法解析:使用顺序、选择(分支)、循环 3种基本结构构成的程序可以解决所有问题,而不只是解决简单问 题,因此A)选项错误。12. 以下四个程序中,完全正确的是()。(分数:1.00 )A.VB.C.D.解析:A)选项中,“ mainO函数后面不能加分号。C语言中注释语句的注释方法是:/*注释内容*/或/注释一行,且“/* 和“ */不能嵌套使用,因此C)错误。D)选项中预编译命令“ include 前缺少“#”号。因此选择 B
8、) 13. C源程序中不能表示的数制是(分数:1.00 )A. 十进制B. 八进制C. 二进制 VD. 十六进制八进制和十六进制等形式表示,但不包括二进制,因此选择C) ( )解析:在C语言中整型常量可以用十进制、14. 以下选项中,能用作用户标识符的是(分数:1.00 )A. _0_VB. 8_8C. voidD. unsigned解析:C语言中标识符由字母、下画线或数字组成,且开头必须是字母或下画线。另外,关键字不能作为标识符。B)选项中以数字8开头,所以错误。C)与D)中用的是关键字void与unsigned,因此错误。故本题 答案为A) 15. 若有定义语句“ int x=10 ;,则
9、表达式“x-=x+x”的值为()(分数:1.00)A. 10B. -20C. 0D. -10V解析:算术运算符“ +”的优先级高于-=,且-=的结合方向为自右向左,因此表达式“x -=x+x”可以表不成“ x=x-(x+x)=10-(10+10)=-10”,所以选择 D)。16. 有以下程序程序运行后的输岀结果是()。(分数:1.00 )A. 1,2VB. 1,0C. 3,2D. 0,0解析:首先打印“ b=a+b=l+0=l ”的值1,此时已给b赋值为1。然后打印“ a=2*b=2*l=2 ”的值 2。因此结 果是“1, 2”。17. 有以下程序若想通过键盘输入,使得 al的值为12, a2
10、的值为34, cl的值为字符a, c2的值为字符b,程序输出结果 是12 , a,34,b则正确的输入格式是()(代表空格字符)。(分数:1.00 )A. 12 口 a 口 34 口 bB. 12a34b VC. 12, a, 34, bD. 12 口 a34 口 b解析:在输入多个数据时,如果格式控制串中没有非格式字符,则认为所有输入的字符均为有效字符。因 此应按选项B)的顺序输人数据。18. 若变量已正确定义,在“ if(w)printf(” dn , k); ”中,以下不可替代 w的是()。(分数:1.00 )A. a=b+cB. ch=getchar()C. ab+c VD. a+解析
11、:选项C)是非法的表达式,C语言中没有“ ”运算符。19. 有以下程序程序运行后的输岀结果是()(分数:1.00 )A. a=10 b=50 c=10VB. a=10 b=50 c=30C. a=10 b=30 c=10D. a=50 b=30 c=50解析:本题中ab的条件不满足,因此不执行逗号表达式“ a=b, b=C;”的操作,而是执行“ c=a”的操作, 即c的值为10。故本题答案为 A)。20. 下列叙述中正确的是()。(分数:1.00)A. 在switch 语句中,不一定使用 break语句 VB. 在switch 语句中,必须使用 defaultC. break语句必须与swit
12、ch语句中的case配对使用D. break语句只能用于switch语句解析:default语句在switch语句中可以省略,因此 B)错误;switch语句中并非每个case后都需要使用 break语句,因此C)错误;break语句还可以用于for等循环结构中,因此 D)错误。故本题答案为 A)。21. 以下不构成无限循环的语句或语句组是()。(分数:1.00 )A.B.FjClii F rC.drawnD.解析:选项B)中do后面的语句只执行了一次便结束了循环;A)选项中条件while(l)永远成立,因此是死循环;C)选项中n的值为10,而循环体为空语句,所以while(n)永远为真,进入
13、死循环;D)选项中for语句第二个表达式为空,因此没有判定条件,进入死循环。因此本题答案为B)。22. 有以下程序程序运行后的输岀结果是()(分数:1.00 )A. 3 VB. 5C. 7D. 9解析:向switch语句块传送参数后,编译器会先寻找匹配的case语句块,找到后就执行该语句块,遇到break跳出;如果没有匹配的语句块,则执行 default语句块。case与default没有顺序之分。因此第一 次循环k的值为1,执行c+=k,c的值为1,再执行case2后的语句C+,c的值为2,遇到break语句跳 岀循环;第二次循环 k的值为2,执行case2后面的语句C+,c的值为3,跳岀循
14、环。故本题答案为A)。23. 有以下程序程序运行后的输岀结果是()(分数:1.00 )A. 8B. 10C. 9 VD. 7解析:调用“ f(a,b) ”函数返回3,调用“f(a,c) ”函数返回6,因此外层调用“ f(f(a,b),f(a,c);”,即调用“ f(3,6) ”函数返回9,故本题答案为C)。24. 若有定义语句“ double x, y,*px,*py ;,执行了“ px=& x; py=&y;”之后,正确的输入语句是 ( )。(分数:1.00 )A. scanf(%lf%le, px, py) ; VB. scanf(%f%f&x ,& y);C. scan(%f%f ,x,
15、y);D. scanf(%lf%lf,x,y);解析:因为x、y都是double型数据,所以输入时的格式字符应为%fl,所以B)与C)错误。D)选项中“scanf(%lf%lf, x,y); ” 应为“ scanf(%lf%lf , &x,&y);。故本题答案为A)。25. 若有定义语句“ double a,*p=&a;”,以下叙述中错误的是()。(分数:1.00 )A. 定义语句中,B. 定义语句中的C. 定义语句中的D. 定义语句中的解析:在变量定义26.以下定义数组的语句中错误的是*p=&a提把变量a的地址作为初值赋给指针变量 *号是一个说明符P只能存放double类型变量的地址*号是一
16、个间址运算符;double a,*P=&a; ”中,(V*号是一个指针运算符,)。而非间址运算符,因此D)错误。(分数:1.00 )A. int num= 1,2,3,4,5,6 ;B. int num3= 1,2,3,4,5,6 ;C. int num24= 1,2,3,4,5,6 ;VD. int num4=l,2,3,4,5,6;解析:C)选项中定义的数组为2行4列,而赋值时赋成了 3行,因此出错27. 有以下程序|;尸笛程序运行后的输岀结果是()(分数:1.00)A. 1,2,3,4,5,6,7,8,9,0,VB. 2,1,4,3,6,5,8,7,0,9,C. 0,9,8,7,6,5,
17、4,3,2,1,D. 0,1,2,3,4,5,6,7,8,9,解析:函数调用中发生的数据传递是单向的,即只能把实参的值传递给形参,而不能把形参的值反向地传递给实参。因此在函数调用过程中,形参的值发生改变,而实参中的值不会变化,所以数组c中的元素的值并没有变化,故选择A)。28. 有以下程序当执行上述程序段,从键盘上输入55566 7777123后,y的值为()(分数:1.00 )A. 566.0VB. 55566.0C. 7777.0D. 566777.0解析:本题考査的是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中,其中的格式命令可以说明最大域宽。在百分号()与格式码之
18、间的整数用于限制从对应域读入的最大字符数。因此j的值为55,y的值为566.0,字符数组name的值为7777123。故本题答案为 A)。29. 有以下程序若运行时输入:2 4 6回车,则输出结果为()(分数:1.00 )A. 2 0 0B. 2 0 4VC. 2 4 0D. 2 4 6解析:本题中输入的3个数据2、4、6分别赋给了 x00、xl0和x20。x0l仍为初始时的0,因此打印输出时的结果为B)选项。30. 下列语句组中,正确的是()。(分数:1.00 )A. char *s;s= ” Olympic; VB. char s7;s=” Olympic”;C. char *s;s=”
19、Olympic” ;D. char s7;s=” Olympic” ;解析:字符型指针变量可以用选项A)的赋值方法“ char*S;S= ” Olympic”; ”,选项 C)的写法“char*s,s=Olympic;”是错误的。字符数组可以在定义的时候初始化“ chars=Olympic; ”或者“CharS=Olympic; ”都是正确的,但是不可以在定义字符数组后,对数组名赋值(数组名是常量,代 表数组首地址)。所以选项B)和选项D)都是错误的。对于本例,选项B)、D)中字符数组s的大小至少为8,才能存放下字符串(字符串的末尾都有结束标志0)。31. 有以下程序(字符 a的ASCII码值
20、为97)go程序运行后的输岀结果是()(分数:1.00 )A. abcB. 789C. 7890 VD. 979899解析:因为小写字符 a、h、c的ASCII码的值分别为97、98、99,而在“do.while ”循环语句中,每次 对字符的ASCII码的值取余数并输出,所以分别输出7、& 9,选项B)正确。32. 有以下函数该函数的功能是((分数:1.00)A. 计算s所指字符串占用内存字节的个数B. 比较两个字符串的大小C. 计算s所指字符串的长度VD. 将s所指字符串复制到字符串t中解析:首先“ char*s ”接受一个字符型数组的首地址并将这个首地址赋给另一个字符型指针“char*t,
21、While(*t+) ”不断循环,直到 *t为0,再将t-1 ,这时字符指针t指向字符串的最后一个字 符,又因为s指向字符数组的首地址即字符串的首地址,所以“return(t - S)”便是返回字符数组中字符串的长度p故本题答案为C)。33. 设有如下函数定义若执行调用语句” n=fum(3); ”,则函数 fun总共被调用的次数是()。(分数:1.00 )A. 3 VB. 2C. 4D. 5解析:首先调用“ n=fun(3) ”,3被当作参数传递进去,进行了第一次调用,3被当作参数传进去后,程序会执行语句“ else return fun(k-1)+1 ”进行第二次调用,参数是 3-1也就是
22、2,2被当作参数传进去后,程序会执行语句“ else return fun(k -1)+1 ”进行第三次调用,参数是 2-1也就是1,1被当作参数传进去 后,程序会执行语句“ else if(k=l)return1 ”不再递归调用,因此最终结果为3次,选项A)正确。34. 有以下程序程序运行后的输岀结果是()。(分数:1.00 )A. 9 VB. 8C. 7D. 10解析:题目中定义的静态局部变量a,在静态存储区内分配存储单元,在程序整个运行期间都不释放。因此第一次调用函数执行“ n+=a+时,a先与n相加再进行自增运算。n的值为4,a的值为2,且a变量执 行完后空间没有释放。再执行“ s=s
23、+f(A) ”时,s的值为4,调用f(A)函数时,n的返回值为“ n=3+2=5, 此时a的值为3,所以s的值为9,选项A)正确。35. 设有定义:则以下赋值语句中错误的是()(分数:1.00 )A. data2.real=datal.unreal;B. data2=datal;C. data2.real=datal.real;D. data2=(2,6);V解析:选项中可以在声明变量的同时为data2赋值,但是“ data2=(2,6) ”应写作“ data2=2,6 ”,因此选择D)。36. 有以下程序程序运行后的输岀结果是()(分数:1.00 )A. Zhao,m,85,90, Qian
24、,f,95,92VB. Zhao,m,85,90, Zhao,m,85,90C. Qian,f,95,92, Qian,f,95,92D. Qian,f,95,92, Zhao,m,85,90解析:本题考査的是函数调用时的参数传递问题。程序在调用函数时,传给函数f的参数只是结构变量 c在栈中的一个拷贝,函数f做的所有操作只是针对这个数据拷贝进行的修改,这些都不会影响变量 c的值。因此本题答案为A)。37. 有以下程序I rlCiTF+dI程序运行后的输岀结果是()。(分数:1.00 )A. 10,9,8,7,6,5,4,3,2,1,B. 1,2,3,4,5,6,7,8,9,10,VC. 2,3
25、,1,6,8,7,5,4,10,9,D. 10,9,8,7,6,1,2,3,4,5,解析:本题的子函数f的功能是对结构体变量s中第二个成员数组中所有的数据进行从小到大的冒泡排序,因此结果是B)。38. 以下关于宏的叙述中正确的是()。(分数:1.00 )A. 宏替换没有数据类型限制VB. 宏定义必须位于源程序中所有语句之前C. 宏名必须用大写字母表示D. 宏调用比函数调用耗费时间解析:宏定义写在函数的花括号外边,作用域为其后的程序,通常在文件的最开头,因此B)选项中宏定义必须位于源程序中所有语句之前是错误的。宏名一般用大写,但不是必须用大写,因此C)选项错误。宏展开不占运行时间,只占编译时间,函数调用占运行时间(分配内存、保留现场、值传递、返回值),因此D)选项错误。39. 设有以下语句执行后,C的值为()。(分数:1.00 )A. 8B. 7C
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 司机担保协议合同
- 零售连锁店经营模式创新与数字化升级解决方案
- 园林绿化工程设计合同
- 汇流箱施工方案
- 委托物业管理电梯协议书
- 解决方案优化提案书
- 个人民间借贷合同书
- 咨询服务委托合同协议书
- 外墙保温吊篮施工方案
- 特色廊架施工方案
- 不良资产项目律师法律尽调报告(模板)
- 2023年人力资源和社会保障部公开招聘工作人员笔试参考题库(共500题)答案详解版
- 高级技校电气自动化设备安装与维修教学计划
- 《长征之战役》课件
- 心电监护操作评分标准
- 保健品概念及分类
- 水土保持监理实施细则
- 自体血液回收机使用(精京3000P型)课件
- 非法捕捞水产品罪
- 中铝中州矿业有限公司禹州市方山铝土矿矿山地质环境保护和土地复垦方案
- 浆渣自分离立式磨浆机设计-毕业设计
评论
0/150
提交评论