下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

2018年9月计算机二级C语言考试巩固练习题(12)

作者:课课家教育     来源: http://www.kokojia.com点击数:730发布时间: 2018-07-15 19:43:50

标签: 计算机二级C语言试题计算机二级C语言题库计算机二级C语言练习题计算机二级C语言真题二级C语言

软考,您想通过吗?一次通过才是硬道理

  对于备考计算机二级C语言考试的考生可以多做试题,一方面了解往年考试题型,一方面熟悉往年考点。今天课课家小编给大家准备了2018年9月计算机二级C语言考试巩固练习题(12),供考生们练习。

  点击查看:2018年9月计算机二级C语言考试巩固练习题汇总

  1、程序中已构成如下图所示的不带头结点的单向链表结构,指针变量s、p、q均已正确定义,并用于指向链表结点,指针变量s总是作为指针指向链表的第一个结点。 

  若有以下程序段:  

 

  该程序段实现的功能是(  )。

  A.删除尾结点

  B.尾结点成为首结点

  C.删除首结点

  D.首结点成为尾结点

  参考答案:D

  参考解析: 本题考查链表的操作,本题中首先是s指向了它的下个结点,题目中说明了s总是指向链表的第一个结点,然后while循环找到链表的最后一个元素,然后最后一个元素指向了之前链表的头结点,之前头结点指向了空结点,所以本题实现的功能是使首结点成为尾结点。选项D正确。

  2、下列选项中不属于结构化程序设计原则的是(  )。

  A.可封装

  B.自顶向下

  C.模块化

  D.逐步求精

  参考答案:A

  参考解析: 结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用goto语句,所以选择A。

  3、有以下程序:

  

 

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

  A.China

  B.Chinang

  C.ChinaBeijing

  D.BeijingChina

  参考答案:B

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

  4、设有定义:

  struct complex

  { int real,unreal;}data1={1,8},data2;

  则以下赋值语句中错误的是(  )。

  A.data2=(2,6);

  B.data2=data1;

  C.data2.real=data1.real;

  D.data2.real=data1.unreal;

  参考答案:A

  参考解析: A选项中可以在声明变量的同事为data2赋值,但是data2=(2,6);应写作data2={2,6}。所以选择A。

  5、有以下程序(注:字符a的ASCII码值为97):

  

 

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

  A.789

  B.abc

  C.7890

  D.979899

  参考答案:A

  参考解析:因为小写字符a,b,c的ASCII码值分别为97,98,99,而在do while循环语句中,每次对字符的ASCII码值取余数并输出,所以分别输出7,8,9。

  6、有以下程序:

  

 

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

  A.7

  B.10

  C.8

  D.9

  参考答案:D

  参考解析: 调用f(a,b)函数返回3,调用f(a,c)函数返回6,所以外层调用f(f(a,b),f(a,c));即调用f(3,6)函数返回9。

  7、以下四个程序中,完全正确的是(  )。

  

 

  参考答案:B

  参考解析: C语言中注释语句的注释方法是:/*注释内容*/或//注释一行。所以A与C错误,D选项中预编译命令indade前丢掉了”#”号。所以选择B。

  8、下列叙述中正确的是(  )。

  A.在switch语句中,不一定使用break语句

  B.在switch语句中必须使用default

  C.break语句必须与switch语句中的case配对使用

  D.break语句只能用于switch语句

  参考答案:A

  参考解析: default语句在switch语句中可以省略,所以B错误;switch语句中并非每个case后都需要使用break语句,所以C错误;break语句还可以用于for等循环结构中,所以D错误。

  9、有以下程序:

  

 

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

  A.7

  B.5

  C.3

  D.9

  参考答案:C

  参考解析: 向switch语句块传送参数后,编译器会先寻找匹配的case语句块,找到后就执行该语句块,遇到break跳出;如果没有匹配的语句块,则执行default语句块。case与default没有顺序之分。所以第一次循环k的值为1,执行c+=k,c的值为l,再执行case 2后的语句c++,c的值为2,遇到break语句跳出循环;第二次循环k的值为2,执行case 2后面的语句c++,c的值为3,跳出循环。

  10、以下关于typedef的叙述错误的是(  )。

  A.用typedef可以增加新类型

  B.typedef只是将已存在的类型用一个新的名字来代替

  C.用typedef可以为各种类型说明一个新名,但不能用来为变量说明一个新名

  D.用typedef为类型说明一个新名,通常可以增加程序的可读性

  参考答案:A

  参考解析: typedef并不是增加了新类型,而是用一个新名字替代已存在的类型,不能为变量说明一个新名,使用typedef可以增强程序的可移植性。所以A选项错误。

     课课家教育,拥有十年计算机等级考试培训经验,课课家教育一直坚持自主研发,将丰富的计算机等级考试培训经验有效融入教程研发过程,自成体系的计算机等级考试视频教程计算机等级考试培训教材计算机等级考试在线题库,使考生的学习更具系统性,辅导更具针对性。想要报考2018年计算机等级考试的考生现在就可以开始备考了,报名课课家计算机等级各科目考试赠送:辅导教材、历年真题、考前冲剌资料、在线模拟测试题库、老师专属答疑指导等,保障学员顺利通过考试。

  >>>>>>点击进入计算机等级考试专题

赞(28)
踩(0)
分享到:
推荐查看
华为认证网络工程师 HCIE直播课视频教程