文档详情

计算机二级C语言上机操作模拟试题及答案.docx

发布:2025-04-08约2.84千字共6页下载文档
文本预览下载声明

计算机二级C语言上机操作模拟试题及答案

计算机二级C语言上机操作模拟试题及答案1

一、程序填空题

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

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

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

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

试题程序:

参考解析:

【参考答案】

(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函数,不得增行或删行,也不得更改程序的.结构!

试题程序:

参考解析:

【参考答案】

(1)voidfun(char*a)

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

【考点分析】

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

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

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

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

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

【解题思路】

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

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

三、程序设计题

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

例如,若输入17,则应输出:46891012141516。

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

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

试题程序:

参考解析:

【参考答案】

【考点分析】

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

【解题思路】

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

【解题宝典】

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

代码实现如下:

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

计算机二级C语言上机操作模拟试题及答案2

1:第1题请编写函数fun,其功能使:将两个两位正整数ab合并形成一个整数放在c中。合并的方式使:将a数的十位和个位数依次放在c数的百位和个位上,b数的十位和个位数依次放在c数的千位和十位上。

答案:

voidfun(inta,intb,long*c)

{*c=(b/10)*1000+(a/10)*100+(b%10)*10+a%10;}

2:第2题请编写一个函数fun,它的功能使:计算n门课程的平均分,计算结果作为函数值返回。

答案:

floatfun(float*a,intn)

{floatave=0.0;

inti;

for(i=0;i

ave+=a;

ave/=n;

returnave;}

3:第3题假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能使:将字符串尾部的*号全部删除,前面和中间的*号不删除。

答案:

voidfun(char*a)

{inti=0;

char*p,*q;

p=q=a;

while(*p)

p++;

p--;

while(*p==‘*’)

p--;

while(q=p)

显示全部
相似文档