计算机二级C真题附答案.docx
《计算机二级C真题附答案.docx》由会员分享,可在线阅读,更多相关《计算机二级C真题附答案.docx(90页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、二级C语言上机考试复习资料(共60套题目)1、程序填空题给定程序中,函数fun的功能是:统计形参s所指字符串中数字手符出现的次数,并存鼓在形参t所指的变量中,晕后在主函数中输出。碱口,踞s所寤的字符串为:abcdef35adgh3kjsdfT输出结果为:4。果。请在程序的下划或处境入正确而内容并把下划线删除,使程序得出正确的结注意:源程序存放在考生文件考下的BLANK1.C中。不停增杼或删行,也不宿更改程序的结构!#include void fun(char *s, int *t) int i, n;n=0;/* found*/ for(i=0;1!=0; i+)/* found*/ if (
2、si=,0*&si=2) n+;/*found*/main () char s80=*abcdef35adgh3kjsdf7*;int t;printf(z/nThe original stringis :%sn*,s);fun(s,&t);printf (*nThe result is :%dn, t);main ()(int a = 3, b = 8 ;printf(%d %dn”, a, b) b = fun (&a, b);printf(*%d %dn”, a, b)同数匕匕匕二4口一写7数:改若编革意勿的您的注请写o所10在霰%f 1分主语曹干口 臀1节a泰。源函包仅在函数fun的花
3、括号中填入2、程序修改题给定程序MODIl. C中函数fun的功能是:通过某种方式实现两个变量值的交换,规定不允旨增加语句和表达式。例如类量a中的值原为8, b中的值原为3,皆运行后a中加值为3, b电的值为8。请改正座序中的第良使它熊得出正现的结界注意:不要改罚main函感不得增存或对行,也不得更改程序的结构!include int fun(int *x,int y)(int t ;/*found*/ t = x ; x = y ;/*found*/ return(y);3、程序设计题#include main() int aa1000, n, kvoid fun (int *a, int
4、*n)fun ( aa, &n );for ( k = 0 ; k n ; k+ )if(k + 1) % 10 = 0) printf(*n*);else printf(%5d”, aak);1,程序填空题给定程序中,函数fun的功能是:对形参s所指字等串中下标为奇数的毛符挨 ASCII码大小递增描序,并将排序后下标为奇数芮字若取出,存入形参p所指字簪数组中,戒成一个新串。S参s矫箱的字符串为:baawrskjghzlicda,执行后p所指字符数组中的下划卷处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件考下的BLANK1.C中。不替增注或删行,也不得更改程序
5、的结构!for(i=l, j=0; in; i=i+2, j+) pj=si;/ * f otind* /pj=一3一;)main () char s80=*baawrskjghzlicda*, p50;printf(*nThe original stringis : %sn*, s);fun(s, p);printf(*nThe result is : %sn”,p);#include void fun(char *s, char *p) int i, j, n, x, t;n=0;for(i=0; si!=0J ; i+) n+;for(i=l; in-2; i=i+2)/* found*
6、/1;/* found*/ for(j=2-+2; jsj) t=j;if(t!=i) x=si; si=st; st=x:2、程序修改题给定程JfMODIl.C中函数fun的功能是:用下面的公式求兀的近似值,直到最后一项两生对值小于指定的数(参致num ) TJjt:冗111=1_+4357例如,提匠运行后输入0.0001,则程序掩出3.1414。请改正相冰中黄错黑,使它能救出正狮的建果。注意:不要改动main函数,术得增存或删行,也不得更改程序的结构!#include #include float fun ( float num )int s ;float n, t, pi ;t=l;pi
7、=0;n=l; s =1/*found*/ while(t = num)pi = pi + t ;n = n +2;/*found*/t = s % n)pi = pi *4;main () float nl, n2;printf(Enter a float number:) scanf &nl);n2= fun(nl);printf (*%6.4fn*, n2);个主符声中指定下标讲放走b萨旨的数组9y 例姐籁牙注经邕,orld, 注意:部分源理宜存十性请勿改动主函数其它函数中的任何内容,仅在函数fun的花括号中填入 你编写的若干语句。#include #include ttdefine L
8、EN 20void fun (char a, char b, int n) ()main()ttinclude include #define N 5return pi ;3、程序设计题请编写一个函数void fun (char at, char b口,int n),其功能是:删除一-勺字修其中a指向原字符串,删除指定字符后的字将串存中存放指定的下卷。.二,.然后输入3,则调用该函数后的结果为:Word。:司5源程序在文件PR0GLC市。 char strlLEN, str2LEN;int n ;printf(Enter the string:n);gets(strl);printf(*Ent
9、er the index of the char deleted:);scanf &n);fun(strl, str2, n);printf(The new string is:%sn”, str2);1、程序填空题给定程序中,函数fun的功能是将带头结点的单向链表逆置。即若原链表中从头至尾结点数据域依次为:2、4、6、8、10,逆置后,从头至熹吉点数据域依次为:10,8,6、4、2,请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件隽下的BLANK1.C中。不得增杆或删行,也不得更改程序的结构!typedef struct node int da
10、ta;struct node *next; NODE;void fun(NODE *h) NODE *p,*q,*r;/* found*/P = h-_l_;/* found*/if (p=2) return;q = p-next;p-next = NULL;while (q) r = q-next; q-next = p;/*found*/P = q;q =_3_;h-next = p;)NODE *creatlist(int a) NODE *h,*p,*q;int i;h =(NODE *)malloc(sizeof(NODE);h-next = NULL;for(i=0; idata=
11、ai;q-next = NULL;if (h-next = NULL) h-next = p = q; else p-next = q; p = q;return h;void outlist(NODE *h) NODE *p;p = h-next;if (p=NULL) printf(The list is NULL!n); else printf C*nHead );do printf(一%d”, p-data); p=p-next; while(p!=NULL);printf (*-Endn*);main () NODE *head;int aN=2,4,6,8,10);head=cre
12、atlist(a);printf(*nThe original list:n);outlist (head);f un (head);printf(*nThe list after inverting :n);outlist(head);#include #include #define N 80 int fun(char *s, char *t) int n;char *p , *r;n=0; while ( *s ) p=s;/*found*/ r=p;while(*r) if(*r=*p) r+; p+; else break;2、程序修改题给定程序MODIl.C中函数fun的功能是:计
13、算s所指字符串中含有t所指字符串的数目,笄柞为函数值返回。请改正函数fun中指定部位的展使它熊得出现的结果。注意:不要改动main函数,不存诣行或对行,也术得更改程序的结构!/*found*/if(*r=0)n+;s+;return n;)main () char aN, bN; int m;printf (z/nPlease enter string a :; gets (a);printf (z/nPlease enter substring b :;gets( b );m=fun(a, b);printf (*nThe result is : m =%dn*, m);3、程序设计题#in
14、clude #include #defineM3#def ineN20void fun(char aMN, char *b) (/*以下代码仅供参考*/int i; *b=0;请编写函数fu%函数的功能是:将放在字符串数组里的H个字符串(每串的长度不超过N),按顺庠合并组成一个新的字符串。函数fun由给出的语句仅供参考。嗣如,字臂串数组中的6字符串为AAAABBBBBBBCC则合并后的字符串的内容应是:AAAABBBBBBBCCo提示:strcat (a, b)的坊能是将字符串b复制到字符串a的串尾上,成为一个新串。注意:部分源程序在文件PR0G1.C中。请勿改办主函薮mai通其它函数中的任何
15、内容,仅在函数fun的花括号中填入你编写的若干语句。main () char wMN=AAAA,BBBBBBB,CC, a100;printfC/The string:n*);for(i=0; iM; i+)puts(wi);printf (n);fun(w, a);printf(The A string:n);printf (%s”, a);printf(nn);1、程序填空题给定程序史,函数fun的功能是:将NXN矩阵中元素的值按列右移1个位置,右边被移出矩阵的元素绕回左或。例如,N=3,有下列矩阵123456789计算结果为312645978果。请在程序的下划线处填入正确的内容并把下划线
16、删除,使程序得出正确的结注意:源矍序存放在考生文件房下的BLANK1.C中。不得增杆或删行,也不得更改程序的结构!#include #define N 4 void fun(int (*t)N) int i, j, x;/*found*/ for(i=0; i=l; j) tij=tij-1;/*found*/ ti3=x;)main () inttN=21,12,13,24,25,16,47,38,29,11,32,54,42,21,33, 10, i, j;printf(The original array:n);for(i=0; iN; i+) for(j=0; jN; j+) prin
17、tf(*%2d tij):printf(*n*);)fun(t);printf(*nThe result is:n*);for(i=0; iN; i+) for(j=0; jN; j+) printf(%2d tij); printf(*n*);)2、程序修改题呆得更改程序的结构!承kXlt 十卯诟沃 注意8不要改动main给定程序MODI1.C中函数fun的功能是:计算并输出下列级数的前N项之和Sn,直到Sn+i大于q为止,q的值通过形参传入。234 N +1NH +123 N例如,若q的值为:50.0,则函数值为:49.394948。#include double fun( double
18、q ) int n; double s, t;n =2;s =2.0;while (s=q)(t=s;/*f otind*/ s=s+(n+l)/n;n+;printf(n二%dn, n);/*f ourid*/ return s;)main ()(printf(%fn”, fun (50);3、程序设计题编写函数fun,它的功能是:求Fibonacci数列中大于t的最小的一个数,结果由函数放回。其中Fibonacci数列F(n)的定义为:F(0)=0, F=1F (n) F (n1)+F(n-2)例如:当t =1000时,函数值为:1597。隹意:部分源矍序在文件PR0GLC中。#inclu
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 二级 真题附 答案
限制150内