ImageVerifierCode 换一换
格式:DOC , 页数:24 ,大小:145KB ,
资源ID:1318120      下载积分:5000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-1318120.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(【计算机类职业资格】2018年计算机二级C语言模拟题6及答案解析.doc)为本站会员(testyield361)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

【计算机类职业资格】2018年计算机二级C语言模拟题6及答案解析.doc

1、2018 年计算机二级 C 语言模拟题 6 及答案解析(总分:100.00,做题时间:120 分钟)一、选择题(总题数:40,分数:40.00)1.下列关于栈叙述正确的是( )。(分数:1.00)A.栈顶元素最先能被删除B.桟顶元素最后才能被删除C.桟底元素永远不能被删除D.桟底元素最先能被删除2.下列叙述中正确的是( )。(分数:1.00)A.在栈中,栈中元素随找底指针与栈顶指针的变化而动态变化B.在栈中,栈顶指针不变,栈中元素随桟底指针的变化而动态变化C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D.在桟中,栈中元素不会随栈底指针与栈顶指针的变化而动态变化3.某二叉树共有 7

2、 个结点,其中叶子结点只有 1 个,则该二叉树的深度为(假设根结点在第 1 层)( )。(分数:1.00)A.3B.4C.6D.74.软件按功能可以分为应用软件、系统软件和支撑软件(工具软件),下面属于应用软件的是( )。(分数:1.00)A.学生成绩管理系统B.C 语言编译程序C.UNIX 操作系统D.数据库管理系统5.结构化程序所要求的基本结构不包括( )。(分数:1.00)A.顺序结构B.GOTO 跳转C.选择(分支)结构D.重复(循环)结构6.下面描述中错误的是( )。(分数:1.00)A.系统总体结构图支持软件系统的详细设计B.软件设计是将软件需求转换为软件表示的过程C.数据结构与数

3、据库设计是软件设计的任务之一D.PAD 图是软件详细设计的表示工具7.负责数据库中查询操作的数据库语言是( )。(分数:1.00)A.数据定义语言B.数据管理语言C.数据操纵语言D.数据控制语言8.名教师可讲授多门课程,一门课程可由多名教师讲授。则实体教师和课程间的联系是( )。(分数:1.00)A.1:1 联系B.1:m 联系C.m:1 联系D.m:n 联系9.有三个关系 R、S 和 T 如下:则由关系 R 和 S 得到关系 T 的操作是( )。(分数:1.00)A.自然连接B.并C.交D.差10.定义无符号整数类为 UInt,下面可以作为类 UInt 实例化值的是( )。(分数:1.00)

4、A.-369B.369C.0.369D.整数集合1,2,3,4,511.以下叙述中错误的是( )。(分数:1.00)A.算法正确的程序可以有零个输出B.算法正确的程序最终一定会结束C.算法正确的程序可以有零个输入D.算法正确的程序对于相同的输入一定有相同的结果12.以下叙述中正确的是( )。(分数:1.00)A.简单 C 语句必须以分号结束B.C 程序中的毎一行只能写一条语句C.C 语言程序中的注释必须与语句写在同一行D.C 语句必须在一行内写完13.以下选项中关于 C 语言常量的叙述错误的是( )。(分数:1.00)A.常量可分为数值型常量和非数值型常量B.常量分为整型常量、实型常量、字符常

5、量和字符串常量C.经常被使用的变量可以定义成常量D.所谓常量,是指在程序运行过程中,其值不能被改变的量14.以下选项中,不合法的 C 语言用户标识符是( )。(分数:1.00)A.a-bB.AaBcC.a_bD._115.若变量均已被正确定义并赋值,以下合法的 C 语言赋值语句是( )。(分数:1.00)A.x=n%2.5;B.x=y=5;C.x+n=i;D.x=5=4+1;16.(分数:1.00)A.87 和 6.0B.876 和 543.0C.87 和 543.0D.76 和 543.017.有以下定义语句,编译时会出现编译错误的是( )。(分数:1.00)A.char a=x2d;B.c

6、har a=n;C.char a=a;D.char a=“aa“;18.当变量 c 的值不为 2、4、6 时,值也为“真”的表达式是( )。(分数:1.00)A.(c=2 else y=sqrt(-x);B.y=sqrt(x);if(x=0) y=sqrt(x);if(x=0 x :-x);20.有以下程序程序运行后的输出结果是( )。(分数:1.00)A.y=-1B.y=0C.y=1D.while 构成无限循环21.有以下程序程序运行后的输出结果是( )。(分数:1.00)A.32B.24C.5D.4022.有以下程序运行时,若输入 1 2 3 4 5 0,则输出结果是( )。(分数:1.0

7、0)A.66666B.66656C.6566456D.666665623.若各选项中所用变量已正确定义,函数 fun 中通过 return 语句返回一个函数值,以下选项中错误的程序是( )。(分数:1.00)A.B.C.D.24.若有定义语句int year=2009, *p-以下不能使变量 year 中的值增至 2010 的语句是( )。(分数:1.00)A.*p+=1;B.(*p)+;C.+(*p);D.*p+;25.若有定义语句in a , b , c , *p=接着执行以下选项中的语句,则能正确执行的语句是( )。(分数:1.00)A.scanf(“%d%d%d“,a,b,c);B.s

8、canf(“%d“,p);C.scanf(“%d“,a,b,c);D.scanf(“%d“,26.以下错误的定义语句是( )。(分数:1.00)A.int x4=1,2,3,1,2,3,1,2,3,1,2,3;B.int x43=1,2,3,1,2,3,1,2,3,1,2,3;C.int x3=0,1,1,2,3;D.int x3=1,2,3,4;27.有以下程序程序运行后的输出结果是( )。(分数:1.00)A.7 5 1B.7 5 3C.3 6 9D.3 5 728.有以下程序程序运行后的输出结果是( )。(分数:1.00)A.1,2,3,4,9,8,7,6,5,0,B.0,9,8,7,6

9、,5,1,2,3,4,C.0,9,8,7,6,5,4,3,2,1,D.1,2,3,4,5,6,7,8,9,0,29.有以下程序(strcat 函数用以连接两个字符串)程序运行后的输出结果是( )。(分数:1.00)A.ABCDIJKB.ABCDE0FG0IJKC.IJKD.EFGIJK30.有以下程序段(分数:1.00)A.Lili num=B.name=LiliC.LiliD.name=Lili num=100131.有以下程序 程序运行后的输出结果是( )。(分数:1.00)A.zB.0C.元素 ch5的地址D.字符 y 的地址32.有以下程序程序运行后的输出结果是( )。(分数:1.00

10、)A.0B.2C.3D.533.有以下程序执行程序时,给变量 x 输入 10,程序的输出结果是( )。(分数:1.00)A.55B.54C.65D.4534.有以下程序 程序运行后的输出结果是( )。 (分数:1.00)A.1,1B.1,2C.2,3D.3,335.若有以下语句typedef struct TT char c; int a4; CIN;则下面叙述中正确的是( )。(分数:1.00)A.CIN 是 struct TT 类型的变量B.TT 是 struct 类型的变量C.可以用 TT 定义结构体变量D.可以用 CIN 定义结构体变量36.有以下程序程序运行后的输出结果是( )。(分

11、数:1.00)A.2,3B.4,1C.3,4D.1,237.有以下程序程序运行后的输出结果是( )。(分数:1.00)A.0B.-12C.-20D.1038.有以下程序程序运行后的输出结果是( )。(分数:1.00)A.8B.5C.6D.239.下列关于 C 语言文件的叙述中正确的是( )。(分数:1.00)A.文件由结构序列组成,可以构成二进制文件或文本文件B.文件由数据序列组成,可以构成二进制文件或文本文件C.文件由一系列数据依次排列组成,只能构成二进制文件D.文件由字符序列组成,其类型只能是文本文件40.有以下程序程序运行后的输出结果是( )。(分数:1.00)A.1,2,3,0,0,1

12、,2,3,0,0,B.1,2,3,1,2,3,0,0,0,0,C.123,0,0,0,0,123,0,0,0,0,D.1,2,3,0,0,0,0,0,0,0,二、程序填空题(总题数:1,分数:20.00)函数 fun 的功能是:统计所有小于等于 n(n2)的素数的个数,素数的个数作为函数值返回。 请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的 BLANK1.C 中。不得增行或删行,也不得更改程序的结构!(分数:20)(1)(分数:5)填空项 1:_(2)(分数:5)填空项 1:_(3)(分数:10)填空项 1:_三、程序改错题(总题数:1

13、,分数:20.00)数列中,第一项值为 3,后一项都比前一项的值增 5;给定程序 MODI1.C 中函数 fun 的功能是:计算前 n(4=2 else y=sqrt(-x);B.y=sqrt(x);if(x=0) y=sqrt(x);if(x=0 x :-x);解析:应该先判断 x 是正数还是负数,然后再调用 sqrt 函数,B 选项开始没有判 断,所以 B 错误。20.有以下程序程序运行后的输出结果是( )。(分数:1.00)A.y=-1 B.y=0C.y=1D.while 构成无限循环解析:当 y 为 0 时,y-表达式为 0,条件为假,循环结束,执行判断条件后 y 为-1,所以选择 A

14、。21.有以下程序程序运行后的输出结果是( )。(分数:1.00)A.32 B.24C.5D.40解析:本题考查了自增运算符。自增运算符“+”分为前缀和后缀两种形式。两 种形式的作用效果是一样的,都是使运算分量的值加 1,但是它们的表达式的值不一样,前缀形式表达式的 值为运算分量加 1 之后的值,而后缀形式表达式的值为运算分量加 1 之前的值。题目中使用了一个 for 循环, 循环变量 i 从 1 递增到 40。在循环体中有两条嵌套的 i 储句,首先判断 i+%5=0,即判断 i+的值(i 加 1 之前的 值)是否能被 5 整除(判断后 i 被加 1),然后再判断+i 的值(i 加 1 之后的

15、值)是否能被 8 整除(判断后 i 被加 1),若两个条件都满足了,就输出 i 的值,只有 i=30 时,满足 i+%5=0,此时 i=31, +i%8=0 成立,此时 i=32。22.有以下程序运行时,若输入 1 2 3 4 5 0,则输出结果是( )。(分数:1.00)A.66666B.66656C.6566456 D.6666656解析:第一次循环输出 65;然后 s 接收到 2,第二次循环输出 6; s 接收到 3,第三次循环输出 64;接收到 4,第四次循环输出 5;接收到 5,第五次循环输出 6;接收到 0,结束循环,所以答 案为 C。23.若各选项中所用变量已正确定义,函数 fu

16、n 中通过 return 语句返回一个函数值,以下选项中错误的程序是( )。(分数:1.00)A.B.C.D.解析:在函数调用前,需要定义或声明,A 选项错误。24.若有定义语句int year=2009, *p-以下不能使变量 year 中的值增至 2010 的语句是( )。(分数:1.00)A.*p+=1;B.(*p)+;C.+(*p);D.*p+;解析:1+优先级高于*,*p+值为 year 下一个变量的值(如果有的话),不能满足 题意,所以选择 D。25.若有定义语句in a , b , c , *p=接着执行以下选项中的语句,则能正确执行的语句是( )。(分数:1.00)A.scan

17、f(“%d%d%d“,a,b,c);B.scanf(“%d“,p); C.scanf(“%d“,a,b,c);D.scanf(“%d“,解析:scanf 中参数列表,需为地址,B 符合题意,所以选择 B。26.以下错误的定义语句是( )。(分数:1.00)A.int x4=1,2,3,1,2,3,1,2,3,1,2,3;B.int x43=1,2,3,1,2,3,1,2,3,1,2,3;C.int x3=0,1,1,2,3;D.int x3=1,2,3,4;解析:二维数组定义行数可以省略,列数不能省略,所以答案选择 A。27.有以下程序程序运行后的输出结果是( )。(分数:1.00)A.7 5

18、 1B.7 5 3C.3 6 9D.3 5 7 解析:for 分别输出 t20、t11和 t02,对应值分别为 3、5、7,答案选择 D。28.有以下程序程序运行后的输出结果是( )。(分数:1.00)A.1,2,3,4,9,8,7,6,5,0, B.0,9,8,7,6,5,1,2,3,4,C.0,9,8,7,6,5,4,3,2,1,D.1,2,3,4,5,6,7,8,9,0,解析:在本题中,主函数在调用 fun()函数进行排序时,传递的参数是 c+4 和 6, fun()函数实现的功能是将数组c 的第 5 个元素开始的 6 个元素依次进行从大到小的顺序排列。排序之后,数组 c 的内容变为1,

19、2,3,4,9,8,7,6,5,0。29.有以下程序(strcat 函数用以连接两个字符串)程序运行后的输出结果是( )。(分数:1.00)A.ABCDIJK B.ABCDE0FG0IJKC.IJKD.EFGIJK解析:strcat 函数从,0开始往后链接,所以结果为 A 。30.有以下程序段(分数:1.00)A.Lili num=B.name=LiliC.Lili D.name=Lili num=1001解析:scanf 中 name 得到 Lili,num 得到 1001,所以结果选择 C 。31.有以下程序 程序运行后的输出结果是( )。(分数:1.00)A.z B.0C.元素 ch5的

20、地址D.字符 y 的地址解析:main 函数输出字符串第 6 个元素对应的数据,所以答案为 A 。32.有以下程序程序运行后的输出结果是( )。(分数:1.00)A.0B.2 C.3D.5解析:for 循环是统计字符串中小写字符的个数,所以输出结果为 2。33.有以下程序执行程序时,给变量 x 输入 10,程序的输出结果是( )。(分数:1.00)A.55 B.54C.65D.45解析:本题考査的是递归算法的分析。一个直接或间接地调用自身的算法称为递归算法。在一个递归算法中,至少要包含一个初始值和一个递归关系。本题的 fun()函数在 n 等于 1 时返回 1, 而在其余情况下返回n+fun(

21、n-1),所以本题的递归算法可以这样来表示:fun(n)=1 (n=1)(初始值)fun(n)=n+fun(n-1) (n - 1)(递归关系)此时不难看出,该递归算法实现的是计算 1+2+3+n,而且 n 必须大于 0,否则会陷入死循环。故题目 输出的结果是 1+2+3+.+10=55,应该选择 A。34.有以下程序 程序运行后的输出结果是( )。 (分数:1.00)A.1,1B.1,2 C.2,3D.3,3解析:fun(+n)返回值为 1,fun(n+)因为 fun 函数内 n 为 static 类型,仍保持原值 1,函数返回值为 2,所以答案选择 B。35.若有以下语句typedef s

22、truct TT char c; int a4; CIN;则下面叙述中正确的是( )。(分数:1.00)A.CIN 是 struct TT 类型的变量B.TT 是 struct 类型的变量C.可以用 TT 定义结构体变量D.可以用 CIN 定义结构体变量 解析:CIN 使用 typedef 定义的类型名,可以用来定义结构体变量,所以选择 D。36.有以下程序程序运行后的输出结果是( )。(分数:1.00)A.2,3 B.4,1C.3,4D.1,2解析:p-x 值为 1,P-y 值为 2,前置自增表达式分别为 2、3,所以选择 A。 37.有以下程序程序运行后的输出结果是( )。(分数:1.00

23、)A.0B.-12C.-20 D.10解析:SUB(a+b)*c 展开后为(2+3)-(2+3)*5,值为-20,所以答案选择 C。38.有以下程序程序运行后的输出结果是( )。(分数:1.00)A.8 B.5C.6D.2解析:a 左移 2 位后值为 8,所以答案选择 A。39.下列关于 C 语言文件的叙述中正确的是( )。(分数:1.00)A.文件由结构序列组成,可以构成二进制文件或文本文件B.文件由数据序列组成,可以构成二进制文件或文本文件 C.文件由一系列数据依次排列组成,只能构成二进制文件D.文件由字符序列组成,其类型只能是文本文件解析:文件有二进制文件和文本文件,里面的数据与类型无关

24、,所以选择 B 。40.有以下程序程序运行后的输出结果是( )。(分数:1.00)A.1,2,3,0,0,1,2,3,0,0, B.1,2,3,1,2,3,0,0,0,0,C.123,0,0,0,0,123,0,0,0,0,D.1,2,3,0,0,0,0,0,0,0,解析:fwrite 函数将数组 a 写入文件,写入两遍,读出后为选项 A 的值,所以选择 A。二、程序填空题(总题数:1,分数:20.00)函数 fun 的功能是:统计所有小于等于 n(n2)的素数的个数,素数的个数作为函数值返回。 请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹

25、下的 BLANK1.C 中。不得增行或删行,也不得更改程序的结构!(分数:20)(1)(分数:5)填空项 1:_ (正确答案:j=2)解析:j 的初始化要从 2 开始,因为要判断一个数是否为素数,即将其除以从 2 开始的数字,看有没有 被整除的。(2)(分数:5)填空项 1:_ (正确答案:i )解析:如果碰到有个数字 j 可以被 i 整除,那么表示这个数不是素数,要用 break 直接结束循环,这个 时候的 j 肯定小于 i 。(3)(分数:10)填空项 1:_ (正确答案:j)解析:j=i 表示前面 if(i%j=0)没有成功,所以会循环执行 for(j=2 ; j=i,这样可 以知道该数

26、字 i 就是素数。三、程序改错题(总题数:1,分数:20.00)数列中,第一项值为 3,后一项都比前一项的值增 5;给定程序 MODI1.C 中函数 fun 的功能是:计算前 n(4n50)项的累加和;每累加一次把被 4 除后余 2 的当前累加值放入数组中,符合此条件的累加值的个数作为函数值返回主函数。例如,当 n 的值为 20 时,该数列为 3, 8, 13,18, 23, 28,93, 98。符合此条件的累加值应为 42, 126,366,570, 1010。请改正函数 fun 中指定部位的错误,使它能得出正确的结果。注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构!(

27、分数:20.00)_正确答案:(1) sum=j=0;(2) if(sum%4=2)解析:(1)将变量 sum 和 j 同时赋值为 0。(2)这里混淆了 “=”与“=”的区别,“=”是比较运算符,“=”是赋值运算符四、程序设计题(总题数:1,分数:20.00)请编写函数 fun,其功能是:计算并输出下列多项式的值:例如,在主函数中从键盘给 n 输入 8 后,输出为:s=0.662872。注意:要求 n 的值大于 1 但不大于 100。部分源程序在文件 PROG1.C 中。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。(分数:20.00)_正确答案:()解析:对于求多项式值的题目,一般都使用循环语句来累加计算多项式的通项。本题中多项式的通项为 1/(2n-1)-1/2n,循环变量的取值范围为 1n。注意,存放累加和的变量 s 要定义为实型,累加时要进行类型转换。

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1