首页 - 网校 - 万题库 - 美好明天 - 直播 - 导航
您现在的位置: 考试吧 > 计算机等级考试 > 计算机二级考试 > C语言 > 模拟试题 > 正文

2017年12月计算机二级C语言考试考前预测卷(1)

来源:考试吧 2017-12-07 8:55:54 要考试,上考试吧! 万题库
“2017年12月计算机二级C语言考试考前预测卷(1)”供考生参考。更多计算机等级考试内容请访问考试吧计算机等级考试网。
第 1 页:选择题
第 3 页:程序填空题
第 4 页:程序修改题
第 5 页:程序设计题

  一、选择题(每小题1分,共40分)

  1[单选题] 有以下程序:

2017年12月计算机二级C语言考试考前预测卷(1)


  执行后的输出结果是(  )。

  A.3,5,3,5,5

  B.5,3,5,3,5

  C.3,5,3,5,3

  D.3,5,3,3,5

  参考答案:A

  参考解析:main()函数中初始化i的值为3,j的值为5,并初始化指针p指向i,指针q指向j。另外,还定义了一个二维指针r,指向q,所以*p的值是i的值3,*q的值是j的值5,**r等于*q,是j的值5,所以输出的结果是:3、5、3、5、5,答案选A。

  2[单选题] 以下叙述中错误的是( )。

  A.C程序必须由一个或一个以上的函数组成

  B.函数调用可以作为一个独立的语句存在

  C.若函数有返回值,必须通过return语句返回

  D.函数形参的值也可以传回给对应的实参

  参考答案:D

  参考解析:形参是函数定义时由用户定义的形式上1的变量,实参是函数调用时,主调函数为被调函数提供的原始1数据。在C语言中,实参向形参传送数据的方式是“值传递”。f因此D选项正确。

  3[单选题] 下列关于二叉树的叙述中,正确的是( )。

  A.叶子结点总是比度为2的结点少一个

  B.叶子结点总是比度为2的结点多一个

  C.叶子结点数是度为2的结点数的两倍

  D.度为2的结点数是度为1的结点数的两倍

  参考答案:B

  参考解析:根据二叉树的基本性质3:在任意一棵二叉树中,度为0的叶子结点总是比度为2的结点多一个。所以选择B。

  4[单选题] 有以下程序:

2017年9月计算机二级考试C语言考前预测卷(1)

  执行后的输出结果是(  )。

  A.abcd abc ab

  B.a a a

  C.abcd bcd cd

  D.a b c

  参考答案:A

  参考解析:程序初始化一个二维数组,其中每个元素都是一个字符数组,for循环中使用字符串输出函数puts()打印二维数组中的每个元素,puts()接受字符数组名当做参形数,将该字符数组存储的字符串打印出来,程序中s[0]存储的字符串是 “abcd”,s[1]存储的字符串是“abc”,s[2]存储的字符串是“ab”,所以程序输出为:abcd、abc、ab,答案选A。

  5[单选题] 有以下函数:

  

2017年9月计算机二级考试C语言考前预测卷(1)

  以下关于aaa函数功能叙述正确的是(  )。

  A.将串s复制到串t

  B.比较两个串的大小

  C.求字符串s的长度

  D.求字符串s所占字节数

  参考答案:C

  参考解析:本题重点考察的知识点while循环语句的应用。aaa()函数中,首先定义了一个字符指针t指向形参s,然后通过一个while循环让指针t不断递增,直到t指向字符串结束标识处。当t指向结束标识处时,由于后缀++运算符的原因,它还会被再递增1,所以接下来的t--;语句让它回到结束标识处。最后返回t-s,s还是指向字符串第1个字符处,而t指向了字符串结尾,故返回值为字符串的长度值。因此C选项正确。

  6[单选题] 有以下程序:

2017年9月计算机二级考试C语言考前预测卷(1)

  程序运行后的输出结果是( )。

  A.b,B,b,A

  B.b,B,B,A

  C.a,B,B,a

  D.a,B,a,B

  参考答案:A

  参考解析:本题重点考察函数的调用,首先要了解字母对应的ASCII码。例如A为65,a为97。即字母+1则可得到下一个字母。其次是函数形参和实参的问题,运行过程如下:在fun(&b,a)中,*c=‘a’,d=65。*c+1='b',d+1=66,printf(“%c,%c,”,*c,d);输出b,B,因为指针c指向地址的值为b,此时b=*c=‘b’函数返回执行printf("%c,%c、n",b,a);输出b,A,因此A选项正确。

  7[单选题] 有以下程序:

2017年9月计算机二级考试C语言考前预测卷(1)

  程序运行后的输出结果是( )。

  A.0

  B.-12

  C.-20

  D.10

  参考答案:C

  参考解析:本题考查宏定义,宏定义只是做简单的替换,所以本题中SUB(a+b)*c=(a+b)-(a+b)*c=-20,所以答案为C选项。

  8[单选题] 有以下程序:

2017年9月计算机二级考试C语言考前预测卷(1)

  程序运行后的输出结果是(  )。

  A.10

  B.11

  C.20

  D.21

  参考答案:D

  参考解析:数组data包含两个元素,元素类型为结构体s,分别为data[0],data[1],初始化时,使用4个整数10,100,20,200,分别给data[0].a,data[0].b.data[1].a,data[1].b赋值,又p.a=data[1].a,等于20,在输出之前执行自身加1操作,所以结果为21,答案选D。

  9[单选题] 有以下程序:

2017年9月计算机二级考试C语言考前预测卷(1)

  程序执行后的输出结果是( )。

  A.y=-1

  B.y=0

  C.y=1

  D.while构成无限循环

  参考答案:A

  参考解析:y--表示y使用后再自减1。所以最后一次y的值为0,条件不成立但仍要执行自减操作,y的值为-1,跳出循环。打印y的值-1。

  10[单选题] 下列函数的功能是( )。

2017年9月计算机二级考试C语言考前预测卷(1)

  A.将a所指字符串赋给b所指空间

  B.使指针b指向a所指字符串

  C.将a所指字符串和b所指字符串进行比较

  D.检查a和b所指字符串中是否有‘\0’

  参考答案:A

  参考解析:While循环条件为:(*b=*a)!='\0',执行时先把指针a所指向的字符赋给指针b所在内存单元,如果该字符不是结束标识‘\0’,执行循环体a++;b++;,指针a、b分别指向下一个字符单元。再判断循环条件,如果成立,继续把指针a所指向的字符赋给指针b所在内存单元,直到遇到结束标识为止。因此A选项正确。

  11[单选题] 有以下程序:

2017年9月计算机二级考试C语言考前预测卷(1)

  程序运行时输入:-11-220<回车>,则输出结果是(  )。

  A.1,1

  B.1,0

  C.3,-3

  D.3,0

  参考答案:C

  参考解析:分析程序结构,在do …while循环中,嵌套一个switch语句,switch语句中两个case语句分别执行break和continue,其中break语句是跳出switch语句,接着执行do…while循环体剩下的部分;而continue语句是直接进入do…while的下一个循环,由此可知每次循环,当t=0时,执行break语句,接着将z值累加x;当t=1时,执行continue语句,将y值累加x,所以当x输入-1、-2、0时,t=0,z值累加为-3;当x输入1、2时.t=1,y值累加为3,输出y、z的值分别为3、-3,故答案选C。

  12[单选题] 以下选项中叙述错误的是(  )。

  A.C程序函数中定义的自动变量,系统不自动赋确定的初值

  B.在C程序的同一函数中,各复合语句内可以定义变量,其作用域仅限本复合语句内

  C.C程序函数中定义的赋有初值的静态变量,每调用一次函数,赋一次初值

  D.C程序函数的形参不可以说明为static型变量

  参考答案:C

  参考解析:A选项描述正确,自动变量未赋初值,为随机值;B选项描述正确,变量定义除在函数开始位置外,在复合语句开始也可以;C选项描述是错误的,函数内的静态变量,只在第一次调用时候赋值,以后调用保留上次值;D选项描述也正确,形参属于局部变量,占用动态存储区,而static型变量占用静态存储区。因此C选项正确。

  13[单选题] 程序中若有以下的说明定义和语句:

2017年9月计算机二级考试C语言考前预测卷(1)

  则不能给变量t的s成员赋整数99,给num成员赋空串的语句组是(  )。

2017年9月计算机二级考试C语言考前预测卷(1)


  参考答案:A

  参考解析:结构体变量使用 “.”运算符引用结构体成员变量,结构体指针使用“->”运算符引用结构体成员变量,main函数中声明结构体STR变量t,和结构体STR指针*p,并将t的地址赋给p,所以使用P访问成员变量时,使用“->”运算符;使用* P访问成员变量时,使用“.”运算符。另外,由于成员变量num是字符数组,所以不能直接进行赋值,若要对num赋空字符串值,可以把num中第一个元素赋值为0或‘\0’,或者使用strcpy复制函数将空字符串“”复制到num中,故选项B、C、D正确,选项A错误,因此答案为A。

  14[单选题] 以下关于循环语句的叙述中正确的是(  )。

  A.do…while语句的循环体至少执行一次

  B.while语句的循环体至少执行一次

  C.for语句的循环体至少执行一次

  D.上述A、B、c说法均正确

  参考答案:A

  参考解析:while(表达式)当表达式为false时,循环体一次都不执行,故选项B、D错误;for(表达式1;表达式2;表达式3)语句,当表达式2为false时,循环体一次都不执行,故选项C错误;do-while语句循环体至少执行一次,故答案选A。

  15[单选题] 以下叙述中错误的是( )。

  A.用户定义的函数中可以没有return语句

  B.用户定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值

  C.用户定义的函数中若没有return语句,则应当定义函数为void类型

  D.函数的return语句中可以没有表达式

  参考答案:B

  参考解析:本题重点考察函数返回值的相关知识,函数的值只能通过return语句返回主调函数,在函数中允许有多个return语句,但每次调用只能有一个return语句被执行,因此只能返回一个函数值。不返回函数值的函数,可以明确定义为“空类型”,类型说明符为“void”。因此B选项正确。

  16[单选题] 以下叙述中正确的是( )。

  A.C语句必须在一行内写完

  B.C程序中的每一行只能写一条语句

  C.C语言程序中的注释必须与语句写在同一行

  D.简单C语句必须以分号结束

  参考答案:D

  参考解析:C语句可以跨行来写,但是必须以分号结束,所以A选项错误。C程序中的一行可以有多条语句,所以B选项错误。C语言中的注释语句可以与原语句放在一行也可以不放在一行,所以C选项错误。

  17[单选题] 以下不合法的数值常量是(  )。

  A.8.0E0.5

  B.1e1

  C.011

  D.0xabed

  参考答案:A

  参考解析:A选项中E后面的指数必须为整型数据,所以A错误。C选项中011表示的是八进制常量.Oxabcd表示的是十六进制常量。

  18[单选题] 有以下程序:

2017年9月计算机二级考试C语言考前预测卷(1)

  程序计算的是(  )。 .

  A.s=1!+2!+3!+4!+5!

  B.s=1+2+3+4+5

  C.s=1$2*3*4*5

  D.s=1!*2!*3!*4!*5!

  参考答案:A

  参考解析:函数fun()中的变量f是静态变量,所以只初始化一次,之后每次调用fun(),f的初值就是上一次fun()结束时的值,对于fun()函数,当传人n=1时,f=1,返回值为1;当传入n=2时,f=1×2=2,返回值为2;当传人13=3时,f=2×3=6,返回值为6;当传人n=4时,f=6×4=24,返回值为24,所以每次调用fun函数时,f变量在上一次fun函数运行结束时保留值的基础上,再与n乘积,并重新赋值给f,所以可以将f理解为记录当前的累乘值,即当main函数中i:1时,f=11=1;当main()函数i=2时,f=2!=2,当main函数中i=3时,f=3!=6……另外main函数中的S记录调用fun函数的返回值之和,所以s=1!+2!+…+i!,由于i最大值为5,所以s=1!+2!+3!+4!+5!,答案为A。

  19[单选题] 下列诜项中.能正确定义数组的语句是( )。

2017年9月计算机二级考试C语言考前预测卷(1)

  参考答案:D

  参考解析:C语言不允许定义动态数组,定义数组的大小必须为常量表达式。A选项错误,C语言中数组没有此类型的定义方法;B选项错误,定义数组应指明数组大小,如果不指明数组大小,需要给定初值的个数;C选项错误,N为变量,不能用来定义数组大小。因此D选项正确。

  20[单选题] 有以下程序:

2017年9月计算机二级考试C语言考前预测卷(1)

  程序的运行结果是(  )。

  A.123

  B.12300

  C.1

  D.321

  参考答案:A

  参考解析:首先使用fopen函数以可写方式打开文件d1.dat,返回文件指针fp,然后在for循环通过fprintf函数调用fp指针,将数组a的3个元素写入文件d1.dat中,最后再写入换行符\n,关闭文件,此时文件中的内容:“123\n”,然后调用fopen函数以只读方式打开d1.dat,返回文件指针fp指向文件的开头,再调用fscanf函数从文件中读入一个整数:123,(遇到第一个非数值字符结束),关闭文件后输出读人的整数n,结果为:123,答案为A。

1 2 3 4 5 下一页

  相关推荐:

  2017年12月计算机等级考试考前必做题汇总

  【考试吧整理】计算机等级考试各科目历年真题

  2017年12月计算机等考成绩查询入口|免费查分提醒

  2017年计算机等级考试综合查询网常见问题汇总

  计算机等级考试成绩评定流程及标准|合格证书样本及证书说明

0
收藏该文章
0
收藏该文章
文章责编:Quchangwei  
看了本文的网友还看了
文章搜索
万题库小程序
万题库小程序
·章节视频 ·章节练习
·免费真题 ·模考试题
微信扫码,立即获取!
扫码免费使用
版权声明:如果计算机等级考试网所转载内容不慎侵犯了您的权益,请与我们联系800@exam8.com,我们将会及时处理。如转载本计算机等级考试网内容,请注明出处。
Copyright © 2004- 考试吧计算机等级考试网 出版物经营许可证新出发京批字第直170033号 
京ICP证060677 京ICP备05005269号 中国科学院研究生院权威支持(北京)
在线模拟试题
考证通关杀器
考试最新资讯
一次通关技巧