c语言作业题答案,2015年计算机二级《C语言》精选练习题及答案(13)

1[填空题] 下列给定程序中已建立一个带头结点的单向链表,链表中的各结点按结点数据域中的数据递增有序链接。函数fun的功能是:把形参X的值放入一个新结点并插入链表中,使插入后各结点数据域中的数据仍保持递增有序。

请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。

注意:部分源程序给出如下。

不得增行或删行,也不得更改程序的结构!

试题程序:

1746c0e2bcf5c80c1f2a800002b87d7f.png

0b2c25708c6f62ce883a6be8170a6c81.png

参考解析:

【参考答案】

(1)x (2)P (3)s

【考点分析】

本题考查:链表的基本操作。了解链表的基本思想和相关算法,理解有关链表插入及删除时指针移动的先后顺序问题,注意指针的保存和归位。

【解题思路】

填空l:将形参X赋值给结点的数据域。

填空2和填空3:将新的结点和原有链表中的结点进行比较。

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

A.在C程序中的八进制和十六进制,可以是浮点数

B.整型变量可以分为int型、short型、long型和un-signed型四种

C.八进制数的开头要使用英文字母0,否则不能与十进制区分开

D.英文大写字母x和英文小写字母x都可以作为二进制数字的开头字符

参考答案:B

参考解析:c程序中的实型常量只有十进制一种数制,所以A错误。八进制数以0打头。所以c错误。c语言中整数只有十进制。八进制。十六进制三种没有二进制数制,所以D错误。

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

A.N—S流程图只能描述简单的顺序结构的程序

B.程序的算法只能使用流程图来描述

C.结构化程序的三种基本结构是循环结构、选择结构、顺序结构

D.计算机可以直接处理C语言程序,不必进行任何转换

参考答案:C

参考解析:N—s流程图是可以描述循环结构。选择结构。顺序结构等多种结构的程序,所以A选项错误。程序的算法可以用流程图。伪代码。N—S结构图等方法表示,所以B选项错误。计算机只能处理二进制表示的目标程序,不能直接执行由C语言编写的源程序,所以D选项错误。

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

A.算法就是程序

B.设计算法时只需要考虑数据结构的设计

C.设计算法时只需要考虑结果的可靠性

D.以上三种说法都不对

参考答案:D

参考解析:算法是指解题方案的准确而完整的描述,算法不等于程序,也不等于计算方法,所以A错误。设计算法时不仅要考虑对数据对象的运算和操作,还要考虑算法的控制结构。

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

728fbd8356917f3324e6128239e2ac9a.png

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

A.9B.8C.7D.10

参考答案:A

参考解析:题目中静态局部变量a,在静态存储区内分配存储单元,在程序整个运行期间都不释放。所以第-次调用函数执行n+=a++;时a先与n相加在再进行自增。n的值为4,a的值为2,且a变量执行完后空间没有释放。再执行s:。+f(a)时,s的值为4,调用f(a)函数时n的返回值为n=3+2=5,且此时a的值为3了。所以s的值为9。

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

7a6bab932e3f8fd5ad2958fba13b07ad.png

则程序的输出结果是

A.4,5,6,7,B.4,7,10,13,C.4,6,8,10,D.3,5,7,9,

参考答案:C

参考解析:主函数中变量k作为for语句的循环变量,取值0、1、2、3,同时也作为实参通过调用函数f传递给形参变量m。南于变量a是全局变量,变量n是static静态变量,因此k=0时,f函数中,语句return n+m+a;即l+0+3=4;k=1时,f函数中,语句retum n+m+8;即2+1+3=6;k;2时,f函数中,语句returnn+m+a;即3+2+3=8;k=3时,f函数中,语句return n+m+a;即4+3+3=10。因此C选项正确。

7[单选题] 以下针对全局变量的叙述错误的是

A.用extern说明符可以限制全局变量的作用域

B.全局变量是在函数外部任意位置上定义的变量

C.全局变量的作用域是从定义位置开始至源文件结束

D.全局变量的生存期贯穿于整个程序的运行期间

参考答案:A

参考解析:在不同编译单位内用extern说明符来扩展全局变量的作用域,extem可以将全局变量作用域扩展到其他文件,而不是限制全局变量的作用域,答案为A选项。

8[单选题] 学生选课成绩表的关系模式是sc(S#,c#,G),其中S#为学号,c#为课号,G为成绩,检索课号为2且成绩及格的学生学号的表达式为( )。

369fbf1187048ee8224b9a628eba764d.png

参考答案:A

参考解析:表示针对属性进行的投影运算,0r表示针对元组进行的选择运算,’^’表示交运算,’V’表示并运算。要求检索结果为关系模式中的学生学号s#,首先在几种属性中选择学生学号'iTS#,其次要在其中选择满足条件的元组0r,条件是课号为2且成绩及格,即为“c#=2AG,>60”,故完整表达式为叮rs#(orc#=2AG一>60(SC))。本题选A选项。

9[单选题] 以下是正确c语言标识符的是( )。

A.&3B.#3C.jD.一3

参考答案:C

参考解析:c语言合法标识名的命名规则是:(1)标识符由字母、数字和下划线组成。(2)第一个字符不能是数字只能是字母或下划线。选项A的第一个字符为&,非法,选项B,第一个字符为#,非法,选项D,第一个字符为一,非法。答案为选项C。

10[单选题] 以下叙述中正确的是

A.if语句只能嵌套一层

B.if子句和else子句中可以是任意的合法的c语句

C.不能在else子句中再嵌套if语句

D.改变if-else语句的缩进格式,会改变程序的执行流程

参考答案:B

参考解析:A选项中,if语句的嵌套没有规定层数;C选项中,可以在else予句中再嵌套if语句;D选项中,改变if—else语句的缩进格式,不会改变程序的执行流程,需要注意if和else的配对问题。因此B选项正确。

相关推荐:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值