计算机二级C上机考试题库及答案,2016年计算机二级C语言上机操作试题及答案(3)...

一、程序填空题

1下列给定程序中已建立了一个带头结点的单向链表,在main函数中将多次调用fun函数,每调用一次,输出链表尾部结点中的数据,并释放该结点,使链表缩短。

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

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

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

试题程序:

26f09a6f7afcf476e8a8f665c9a419f6.png

b461942979cd546199e9cf2f258353af.png

参考解析:

【参考答案】

(1)next (2)t->data (3)t

【考点分析】

本题考查:链表数据结构,结点的表示方法,掌握链表数据结构的基本思想;释放内存空间函数free0

【解题思路】

填空1:因为是链表操作,所以要使t逐一往后移动,语句为t=t一>next;。

填空2:输出链表结点的数据域,即t一>data。

填空3:使用free函数将t所指向的内存空间释放。释放内存空间函数free的调用形式为:free(void*P);。功能:释放P所指向的一块内存空间,P是一个任意类型的指针变量,它指向被释放区域的首地址。被释放区是由malloc或calloc函数所分配的区域。

二、程序改错题

2下列给定程序中函数fun的功能是:将字符串中的字符逆序输出,但不改变字符串中的内容。

例如,若字符串为“abcd”,则应输出:“dcba”。

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

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!

试题程序:

98b21a7ebc3c313df337c04360ce8ddc.png

参考解析:

【参考答案】

(1)void fun(char*a)

(2)prinff(”%e”,*a);

【考点分析】

本题考查:函数定义,本题为有参函数定义。printf函数,其一般形式为prinf(“格式控制字符串”,输出表列)。

“%d”表示按十进制整型输出;

“%ld”表示按十进制长整型输出;

“%C”表示按字符型输出。

非格式字符串在输出时原样输出,起提示作用。

【解题思路】

(1)定义函数时形参的类型要与调用函数中实参的类型一致,主函数中fun传递的是字符串s的首地址,所以此处形参应为指针类型。

(2)根据prinf函数格式,很容易找到错误之处。

三、程序设计题

3编写函数fun,其功能是:将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k返回。

例如,若输入17,则应输出:4 6 8 9 10 12 14 15 16。

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

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

试题程序:

5ebad75f6fc7f8cbb5e5174a33620b7e.png

参考解析:

【参考答案】

276df93a95420731e6b7320bb4f28e0b.png

81519a2d1534b2acb0dd41dbde719bb2.png

【考点分析】

本题考查:如何判断非素数;循环判断结构;数组的引用。

【解题思路】

题目要求将1一m之间的非素数存入数组中,应使用循环判断结构。循环语句用来遍历l一m之间的每个数,判断语句用来判断该数是否为素数,若不是素数,则将其存入数组中。本题是考查一个数是否为素数的简单延伸,只要掌握了判断素数的方法,问题便能顺利解决。

【解题宝典】

判定一个数是否为素数,即判断该数是否除了能被l和它本身整除外,不能被任何数整除。

代码实现如下:

f133f50a6c192649e0d1c40eb2453e40.png

此语句需要熟记,很多判断素数的题目可通过此法解决。

相关推荐:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值