- 相关推荐
计算机二级C语言上机操作模拟试题及答案
在学习和工作中,我们都可能会接触到试题,试题是用于考试的题目,要求按照标准回答。那么问题来了,一份好的试题是什么样的呢?下面是小编为大家收集的计算机二级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)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的花括号中填入你编写的若干语句。
试题程序:
参考解析:
【参考答案】
【考点分析】
本题考查:如何判断非素数;循环判断结构;数组的引用。
【解题思路】
题目要求将1一m之间的非素数存入数组中,应使用循环判断结构。循环语句用来遍历l一m之间的每个数,判断语句用来判断该数是否为素数,若不是素数,则将其存入数组中。本题是考查一个数是否为素数的简单延伸,只要掌握了判断素数的方法,问题便能顺利解决。
【解题宝典】
判定一个数是否为素数,即判断该数是否除了能被l和它本身整除外,不能被任何数整除。
代码实现如下:
此语句需要熟记,很多判断素数的题目可通过此法解决。
计算机二级C语言上机操作模拟试题及答案 2
1: 第1题请编写函数fun,其功能使:将两个两位正整数a b合并形成一个整数放在c中。合并的方式使:将a数的十位和个位数依次放在c数的百位和个位上,b数的十位和个位数依次放在c数的千位和十位上。
答案:
void fun(int a,int b,long *c)
{*c=(b/10)*1000+(a/10)*100+(b%10)*10+a%10;}
2: 第2题请编写一个函数fun,它的功能使:计算n门课程的平均分,计算结果作为函数值返回。
答案:
float fun(float *a,int n)
{float ave=0.0;
int i;
for(i=0;i
ave+=a;
ave/=n;
return ave;}
3: 第3题假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能使:将字符串尾部的*号全部删除,前面和中间的*号不删除。
答案:
void fun(char *a)
{int i=0;
char *p,*q;
p=q=a;
while(*p)
p++;
p--;
while(*p==‘*’)
p--;
while(q<=p)
{a=*q;
i++;
q++;}
a=‘’;}
4: 第4题请编写函数fun,其功能是:将两个两位数的正整数a b合并形成一个整数放在c中,合并的方式是:将a数的十位和个位数依次放在c的个位和百位上,b数的十位和个位数依次放在c数的千位和十位上。
答案:
void fun(int a,int b,long *c)
{c=(b/10)*1000+(a%10)*100+(b%10)*10+a/10;}
5: 第5题 n名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun,它的功能是:求出平均分,由函数值返回。
答案:
double fun(strec *h)
{double aver=0.0;
while(h!=null)
{aver+=h->s;
hy=h->next;}
aver/=n;
return aver;}
6: 第6题请编写函数fun,计算并输出给定10个数的'方差。
答案:
double fun(double x[10])
{int i,j;
double s=0.0,s1=0.0;
for(i=0;i<10;i++)
s1+=x;
s1/=10;
for(j=0;j<10;j++)
s+=(x[j]-s1)*(x[j]-s1);
s/=10;
s=pow(s,0.5);
return s;}
7: 第7题请编写函数fun,其功能是:将两个两位数的正整数a b合并形成一个整数放在c 中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的个位和百位上。
答案:
void fun(int a,int b,long *c)
{*c=(a/10)*1000+(a%10)*10+(b%10)*100+b/10;}
【计算机二级C语言上机操作模拟试题及答案】相关文章:
C语言笔试题目及答案03-26
计算机二级JAVA冲刺试题及答案02-14
2016计算机二级JAVA冲刺试题及答案02-21
计算机二级Java备考冲刺试题及答案02-14
