试题 百分网手机站

9月计算机二级C语言程序设计习题及答案

时间:2020-09-04 11:31:56 试题 我要投稿

2017年9月计算机二级C语言程序设计习题及答案

  2017年计算机二级考试马上就要开始了,你准备好了吗?下面是小编为大家带来的计算机二级C语言程序设计习题,欢迎阅读。

  习题一:

  1[单选题] 设有定义:int x,Y,z;,且各变量已赋正整数值,则以下能正确表示代数式‘

  的C语言表达式是( )。

  A.…1.…0/x。/y,/zB.1/x * Y * zC.1/(x * Y * z)D.1/x/y/(double)z

  参考答案:A

  参考解析:代数表达式1/(X·Y·z)是小数,转为cf语言的表达式必须是小数。A选项由于l.0为浮点数,计算结1果自动转换为浮点数,故A选项正确。选项B,C,D的表达式均为0。答案为A选项。

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

  A.用户自己定义的函数只能调用库函数

  B.实用的C语言源程序总是由一个或多个函数组成

  C.不同函数的形式参数不能使用相同名称的标识符

  D.在C语言的函数内部,可以定义局部嵌套函数

  参考答案:B

  参考解析:A选项中,”用户自己定义的函数只能调用库函数”描述是不正确的,也可以调用自定义函数;C选项中,对于不同函数的形式参数可以使用相同名称的标识符;D选项中,关于函数的定义不可以嵌套,但函数的调用可以嵌套。因此B选项正确。

  3[单选题] 以下关于C语言数据类型使用的叙述中错误的是( )。

  A.若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型

  B.若要保存带有多位小数的数据,可使用双精度类型

  C.若只处理“真”和“假”两种逻辑值,应使用逻辑类型

  D.整数类型表示的自然数是准确无误差的

  参考答案:C

  参考解析:C语言中没有逻辑类型,所以c错误。若要保存带有多位小数的数据,可以用单精度类型也可以用双精度类型。处理包含不同类型的相关数据可以定义为结构体类型。整数类型可以无误差的表示自然数。

  4[单选题] 下面选项中关于编译预处理的叙述正确的是

  A.预处理命令行必须使用分号结尾

  B.凡是以#号开头的行,都被称为编译预处理命令行

  C.预处理命令行不能出现在程序的最后一行

  D.预处理命令行的作用域是到最近的函数结束处

  参考答案:B

  参考解析:本题考查预编译的预编译处理命令行,预处理命令行不能以分号结尾,所以A选项错误,预处理命令行可以出现在程序的最后一行,预处理命令行作用域是整个文件。

  5[单选题] 有以下程序

  2016年计算机二级《C语言》基础练习题及答案(10)

  程序的输出结果是

  A.0B.1C.9D.10

  参考答案:B

  参考解析:本题考查宏定义,宏定义只是做个简单的替换。执行SQR(k+m)/SQR(k+m)=k+m*k+m/k+m}k+m=15/2,a/=SQR(k+m)/SQR(k+1TI)的结果为1,选项B正确。

  6[单选题] 设--X树共有150个结点,其中度为l的结点有l0个,则该---X树中的叶子结点数为( )。

  A.71B.70C.69D.不可能有这样的二叉树

  参考答案:D

  参考解析:在树结构中,一个结点所拥有的后件个数称为该结点的度,所有结点中最大的度称为树的度。对任何一棵二叉树,度为0的结点总是比度为2的结点多一个。如果有一棵二叉树,结点总数为l50,假设度为0的结点个数为n,则有n+10+n一1=150,n=70.5,由于结点个数必须是整数,所以不可能有题目中这样的二叉树。故选择D选项。

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

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

  A.2.3B.1,3C.1,4D.1,2

  参考答案:B

  参考解析:在f(int+P,int 4 q)函数中,执行P=P+1是将P所对应的地址加1,而0 q=+q+1是将q所指向的n的地址所对应的值加1,所以m的得知所对应的值没有变,而n的.值则为3了。因此B选项正确。

  8[单选题] 以下选项中,能用作用户标识符的是( )。

  A.-0-B.8-;8C.voidD.unsigned

  参考答案:A

  参考解析:C语言中标识符由字母、下划线、数字组成,且开头必须是字母或下划线。另外,关键字不能作为标识符。8中以数字8开头,所以错误。c与D中用的是关键字void与unsigned,所以错误。

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

  A.表达式sizeof(FILE*)==sizeof(int*)的值为真

  B.文件指针的值是一个整数,它的值一定小于文件字节数

  C.文件指针的值是所指文件的当前读取位置

  D.使用fscanf函数可以向任意类型的文件中写入任意数量的字符

  参考答案:A

  参考解析:

  slzeof(FILE})=4,因为file·为指针,指针的大小4,sizeof(int·)=4,理由同前面。文件指针的值是地址,是一个16进制的数,它的值不一定小于文件字节数,因此选项8错误。文件指针是所指文件的当前读取位置,而不是文件指针的值因此选项C错误。mgscanf(FILE-stream,constchar}format,[argument…]fmanf函数可以向任意类型的文件,写入任意数量不能超过系统的缓冲区,写文件先写入缓冲区,最后一起写入文件,因此选项D错误。答案为A选项。

  10[简答题]下列给定程序中函数fun的功能是:将tt所指字符串中的小写字母全部改为对应的大写字母,其他字符不变。

  例如,若输入“Ab,cD”,则输出“AB,CD”。

  请改正程序中的错误,使它能得出正确的结果。

  注意:部分源程序在文件MODIl.C中,不得增行或删行,也不得更改程序的结构!

  习题二:

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

  2016年计算机二级《C语言》基础练习题及答案(11)

  以上程序执行后abc.dat文件的内容是( )。

  A.China

  B.Chinang

  C.ChinaBeijing

  D.BeijingChina

  参考答案:B

  参考解析:本题考查文件操作函数,fwrite和rewind函数,题目中先是将s2字符串写入adc.dat中,然后将写指针回到文件开头,然后写入sl字符串,那么sl字符串就将前5个字符覆盖,所以最终结果为Chinan9,选项B正确。

  2[单选题] 如果定义

  float a[10],x;

  则以下叙述中正确的是

  A.语句a=&x;是非法的B.表达式a+1是非法的C.三个表达式a[1]、*(a+1)、*&a[1]表示的意思完全不同D.表达式,&a[1]是非法的,应该写成+(&(a[1]))

  参考答案:A

  参考解析:B选项中,表达式a+1不是非法的;C选项中,*(a+1)即指a[1];D选项中,*&a[1]不是非法的。因此A选项正确。

  3[单选题] 有以下程序(strcpy为字符串复制函数,streat为字符串连接函数)

  2016年计算机二级《C语言》基础练习题及答案(11)

  程序运行后的输出结果是

  A.a12xyzB.bc2yzC.a2yzD.12yz

  参考答案:C

  参考解析:本题考查字符串处理函数strcpy和streat,执行完strcpy(a+1,b+2);后,a变为a2,执行完strcat(a,c+1)后,a变为a2yz,所以答案为C选项。第3题 笔记记录我的笔记(0) | 精选笔记(3)选择笔记标签:试题内容(2)答案解析(1)

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

  A.''表示字符O

  B."a"表示一个字符常量

  C.表达式:'a'>'b'的结果是”假”

  D.'"'是非法的

  参考答案:C

  参考解析:A选项中,''表示结束;B选项中,字符常量是用单引号括起来的一个字符;D选项中,'"'是双引号符。因此C选项正确。

  5[单选题] 有以下程序

  2016年计算机二级《C语言》基础练习题及答案(11)

  程序运行后的输出结果是

  A.34756B.5745C.5795D.35745

  参考答案:B

  参考解析:本题主要考查do…while语句,执行fun函数后,a数组里面的元素变为35745,输出后四个字符,所以结果为5745。选项B正确。

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

  2016年计算机二级《C语言》基础练习题及答案(11)

  则程序的输出结果是

  A.abedB.ABEJC.abejD.ABCD

  参考答案:C

  参考解析:若有以下程序

  该题目首先初始化变量a和b,通过for循环语句使a取值为0、1、2、3,f函数的功能是将a*a+'a'的值返回给b,即b为a…b e j。最后通过字符输出函数put)将b输出。因此C选项正确。

  7[单选题] 下列关于数据库设计的叙述中,正确的是( )。

  A.在需求分析阶段建立数据字典

  B.在概念设计阶段建立数据字典

  C.在逻辑设计阶段建立数据字典

  D.在物理设计阶段建立数据字典

  参考答案:A

  参考解析:数据字典是在需求分析阶段建立,在数据库设计过程中不断修改、充实和完善的。

  8[单选题] 软件设计中划分模块的一个准则是( )。

  A.低内聚低耦合B.高内聚低耦合C.低内聚高耦合D.高内聚高耦台

  参考答案:B

  参考解析:一般较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。

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

  2016年计算机二级《C语言》基础练习题及答案(11)

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

  A.Zhao,m,85,90B.Qian,m,85,90C.Zhao,f,95,92D.Qian,f,95,92

  参考答案:D

  参考解析:本题考查结构体的相关操作以及传值、传址的区别,该题中调用f函数后,会生成参数C的一个副本,而不会改变c的值,所以c值维持原值,选项D正确。

  10[单选题] 在一个C源程序文件中所定义的全局变量,其作用域为( )。

  A.由具体定义位置和extem说明来决定范围

  B.所在程序的全部范围

  C.所在函数的全部范围

  D.所在文件的全部范围

  参考答案:A

  参考解析:全局变量的作用域是从声明处到文件的结束。所以选择A)。

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

  2016年计算机二级《C语言》基础练习题及答案(11)

  参考答案:B

  参考解析:第一次执行外循环,i的值为3,第一次执行内循环j的值为1,j<=2条件成立,打印i+j的值,即4;第二次执行内循环J的值为2,j<=2条件成立,打印i+j的值,即5;再判断条件不成立,打印回车换行符,跳出内循环。第二次执行外循环,i的值为2,内循环的执行同第一次一样,所以打印3和4,打印回车换行,结束内循环。第三次执行外循环i的值为1,同理内循环中打印2和3,打印回车换行符,结束内循环。

  12[单选题] 有以下程序段:

  2016年计算机二级《C语言》基础练习题及答案(11)

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

  A.a=10 b=50 C=30

  B.a=10 b=50 c=10

  C.a=10 b=30 c=10

  D.a=50 b=30 c:50

  参考答案:B

  参考解析:本题中a>b的条件不满足,所以不执行逗号表达式a=b,b=c;的操作,而是执行c=a操作,即c的值勾10。

  13[单选题] 若有C语言表达式2+3*4+7/3,以下选项中叙述正确的执行顺序是

  A.先执行3*4得12,再执行2+12得14,再执行7/3得2,最后执行14+2得16

  B.先执行3*4得12,再执行7/3得2.5,最后执行2+12+2.5得16.5

  C.先执行7/3得2,再执行3*4得12,再执行12+2得l4,最后执行2+14得l6

  D.先执行2+3得5,再执行5*4得20,再执行20+7得27,最后执行27/3得9

  参考答案:A

  参考解析:首先,在c语言中,乘除法优先级要高于加减法,其次,除法运算符"/"两边参加运算对象都是整数,运算结果要取整,故排除B,D选项;C语言中。因为“*”和“/”都满足从左到右的运算规则,故应先计算3*4=12。因此c排除,答案为A选项。

  14[单选题]

  2016年计算机二级《C语言》基础练习题及答案(11)

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

  A.7B.0C.3D.8

  参考答案:C

  参考解析:题意统计字符s中阿拉伯数字的个数。char s[]=’012xy8s34f4w2’;元素是字符型。~0=48;而’’=0;因此可以计算出’、0’之前阿拉伯数字的个数,由字符串s可知,有3个阿拉伯数字。答案为C选项。

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

  A.c语言规定必须用main作为主函数名,程序将从此开始执行

  B.可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行

  C.c语言程序将从源程序中第一个函数开始执行、

  D.main的各种大小写拼写形式都可以作为主函数名,如MAIN,Main等

  参考答案:A

  参考解析:C语言中的主函数只能是main()函数,不能任意指定,所以B选项错误。C语言从主函数main()开始,到主函数main()结束,所以C选项错误。主函数必须写成小写的main,不能混淆大小写,所以D选项错误。

  16[单选题] 设变量已正确定义并赋值,以下正确的表达式是( )。

  A.X=Y+z+5,++YB.int(15.8%5)C.X=Y*5=X+ZD.X=25%5.0

  参考答案:A

  参考解析:B与D选项中取模运算符%的左右两个操作数均应为整数,所以B、D错误。c选项中不能将X+Y的值赋给表达式Y*5,所以c错误。

  17[单选题] 设文件指针fp已定义,执行语句fp=fopen(”61e”,”W”);后,以下针对文本文件file操作叙述的选项中正确的是( )。

  A.只能写不能读

  B.写操作结束后可以从头开始读

  C.可以在原有内容后追加写

  D.可以随意读和写

  参考答案:A

  参考解析:考查文件操作函数fopen的基础知识, 以”W”方式打开文件,只能写不能读。选项A正确。

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

  2016年计算机二级《C语言》基础练习题及答案(11)

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

  A.y=OS)y=一1B.0C.y=1D.while构成无限循环

  参考答案:B

  参考解析:执行Y一一直到值为0,由于Y一一是先用再减,所以退出循环时,y的值为一l。

  19[单选题] 设Z.X树中 共有31个结点,其中的结点值互不相同。如果该二叉树的后序序列与中序序列相同,该二叉树的深度为( )。

  A.31B.16C.17D.5

  参考答案:A

  参考解析:二叉树遍历可以分为3种:黄序遍历(访问根结点在访问左子树和访问右子树之前)、中序童历(访问根结点在访问左子树和访问右子树两者之问)、后序童历(访问根结点在访问左子树和访问右子树之后)。由结点售互不相同而后序序列与中序序列相同,可知该二叉树所有的结点都没有右子树,所以31个结点的二叉树深度为31:故选A选项。

  20[简答题]学生记录由学号和成绩组成,N名学生的数据已放入主函数中的结构体数组中,请编写函数fun,其功能是:把分数最低的学生数据放入b所指的数组中,注意:分数最低的学生可能不止一个,函数返回分数最低的学生人数:

  注意:部分源程序在文件PROGl.C中。

  请勿改动主函数main和其他函数中的任何内容,仅在函数flm的花括号中填入你编写的若干语句。

  2016年计算机二级《C语言》基础练习题及答案(11)

  参考解析:

  2016年计算机二级《C语言》基础练习题及答案(11)

  【考点分析】

  本题考查:查找结构体数组中的最小数据,需要通过for循环语句和if条件语句来完成。

  【解题思路】

  本题中第一个循环语句的作用是遍历数组求出最低分数,第二个循环语句的作用是将数组中的元素与最低分比较,查找是否存在与最低分相等的成绩。


【2017年9月计算机二级C语言程序设计习题及答案】相关文章:

2017年9月计算机二级C语言程序设计练习题及答案08-27

2017年9月计算机二级C语言程序设计习题08-25

2017年9月计算机二级C语言程序设计备考题及答案08-30

2017年9月计算机二级C语言程序设计练习题08-27

计算机二级C语言程序设计试题及答案09-12

2017年9月计算机二级C语言章节练习题及答案08-29

计算机二级考试C语言程序设计试题及答案09-13

2017年9月计算机二级C语言基础试题及答案09-29

计算机二级C语言练习题及答案10-04