欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    计算机二级C真题附答案.docx

    • 资源ID:87075464       资源大小:872.30KB        全文页数:90页
    • 资源格式: DOCX        下载积分:12金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    计算机二级C真题附答案.docx

    二级C语言上机考试复习资料(共60套题目)1、程序填空题给定程序中,函数fun的功能是:统计形参s所指字符串中数字手符出现的次数,并存鼓在形参t所指的变量中,晕后在主函数中输出。碱口,踞s所寤的字符串为:abcdef35adgh3kjsdfT<>输出结果为:4。果。请在程序的下划或处境入正确而内容并把下划线删除,使程序得出正确的结注意:源程序存放在考生文件考下的BLANK1.C中。不停增杼或删行,也不宿更改程序的结构!#include <stdio. h> void fun(char *s, int *t) int i, n;n=0;/* found*/ for(i=0;1!=0; i+)/* found*/ if (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的花括号中填入2、程序修改题给定程序MODIl. C中函数fun的功能是:通过某种方式实现两个变量值的交换,规定不允旨增加语句和表达式。例如类量a中的值原为8, b中的值原为3,皆运行后a中加值为3, b电的值为8。请改正座序中的第良使它熊得出正现的结界注意:不要改罚main函感不得增存或对行,也不得更改程序的结构!include <stdio. h>int fun(int *x,int y)(int t ;/*found*/ t = x ; x = y ;/*found*/ return(y);3、程序设计题#include <stdio. h>main() int aa1000, n, kvoid fun (int *a, int *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中。不替增注或删行,也不得更改程序的结构!for(i=l, j=0; i<n; 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 <stdio. h> void fun(char *s, char *p) int i, j, n, x, t;n=0;for(i=0; si!=0J ; i+) n+;for(i=l; i<n-2; i=i+2)/* found*/1;/* found*/ for(j=2-+2; j<n; j=j+2) if(st>sj) 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 <math. h>#include <stdio. h>float fun ( float num )int s ;float n, t, pi ;t=l;pi=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 <stdio. h>#include <string. h>ttdefine LEN 20void fun (char a, char b, int n) ()main()ttinclude <stdio. h>include <stdlib. h>#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(*Enter 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 data;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; i<N; i+) q=(NODE *)malloc(sizeof(NODE); q->data=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=creatlist(a);printf(*nThe original list:n);outlist (head);f un (head);printf(*nThe list after inverting :n");outlist(head);#include <stdio. h>#include <string. h>#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的功能是:计算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、程序设计题#include <stdio. h>#include <string. h>#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通其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。main () char wMN="AAAA","BBBBBBB","CC", a100;printfC/The string:n*);for(i=0; i<M; 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果。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结注意:源矍序存放在考生文件房下的BLANK1.C中。不得增杆或删行,也不得更改程序的结构!#include <stdio. h>#define N 4 void fun(int (*t)N) int i, j, x;/*found*/ for(i=0; i<_1; i+)(/*found*/ x=ti2;for (j=N-l; j>=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; i<N; i+) for(j=0; j<N; j+) printf(*%2d tij):printf(*n*);)fun(t);printf(*nThe result is:n*);for(i=0; i<N; i+) for(j=0; j<N; 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 <stdio. h>double fun( double 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中。#include <math. h>#include <stdio. h> int fun( int t)请勿改动主函薮mai通箕它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。main()/*主函数*/ int n;n=1000;printf Cn =%d, f =%dn", n, fun (n);1、程序填空题给定程序中,函数fun的功前是:判断形参s所指字的串是否是"回文" (Palindrome),若是,函数返回值为1;不是,曲数姓回值为0。"回文" 是正诺利反读都一样的字符串迷区分大小写字母)。例如,LEVE2QLevel是"回文",而LEVLEV不是"回文”。果。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结注意,源程序存放在考生文件考下的BLANK1.C中。不得增注或删行,也不得更改程序的结构!#include <stdio.h>#include <string. h>#include <ctype. h> int fun(char *s) char *lp,*rp;/*f oiind*/lp=_1; rp=s+strlen(s)-l;while(toupper(*lp)=toupper(*rp)&&(lp<rp)(/*found*/ lp+; rp _2_;/*found*/if(lp<rp)_3_;else return 1;main () char s 81;printf(Enter a string:"); scanfs);if(fun(s) printf("n"%s is aPalindrome.nn",s);else printf('n"%s" isn't aPalindrome.nn",s);)2、程序修改题求出以下分数序列的前n项之和。21给定程序MODH. C中fun函数的功能是:235813235813和值通过函数值返回main函数。例如,若n =5,则应输出:8.391667。请改正程序中的错误,根它能得出正丽的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构|return (s);)main() int n = 5 ;printf( "nThe value of function is: %lfn fun ( n );#include <stdio. h>/*found*/ fun (int n ) int a =2, b =1, c, k ;double s=0.0;for ( k =1; k <= n; k+) s = s +1.0*a/b ;/*found*/ c = a; a += b; b += c;3、程序设计题请编写函数fun,函数的功能是:将大于形参m且紧靠m的k个素数存入xx所指的数组札例如,若输入17,5,则应输出:19,23,29,31,37。的数fun中给出的语句仅阳参考。注意:部分源程序在文件PROG1. C文件中。请勿改动主函薮mai痛其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。include <stdio. h>void fun(int m, int k, int xx)(/*以下代码仅供参考*/int i, j=l, t=m+l;while(j<=k)(/*以下完成判断素数,并存放到数组XX中*/main ()printf('nPlease enter two integers:,z) scanf&m,&n );fun( m, n, zz);for( m =0; m < n ; m+) printf('%d ”, zzm);printf("n");果。include <stdio. h>include <math. h> double fun(double x) double f, t; int n;f = 1. 0 + x;/*found*/t = 1;n = 1; do n+;/* fonnd*/ t *= (-1. 0)*x/2;f += t;MO15数要易函不程方正:定次改意给频请注中此一 旨lifu低位期数的部项函值定版能为口 >功羸的位£一的嘴 缩化 。它阚第6套1、程序填空题函数fun的功能是:计算234»/(x)= l + x-+-+2!3!41(«-1)!n直到<10-6.若 x=2.5,函数值为:1.917915.n请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结注意:源程序存放在考生文件若下的BLANK1.C中。不辱增存或删行,也不律更改程序的结构!/*found*/while (3>= le_6);return f;)main () double x, y;x=2.5;y = fun(x);printf(*nThe result is :n");printf (*x=%-12.6f y=%-12.6fn”, x, y);#include <stdio. h>long fun(int x,int y, long *p ) int i;long t=l;/*found*/ for(i=l; i<y; i+)t=t*x;*p=t;/*found*/ t=t/1000;return t;在野入,:改填如意勿中括花S中钟 k crtn 输L数 婿OG函。 给PR他句 盘 tMSS 键文闲干若 &<Ina的 数囊写 函源函编 主分主你CM O*s1. lOOOOu©仅在函数fun的main () long t,r; int x, y;printf(Xnlnput x and y:");scanf&x,&y);t=fun(x, y,&r);printf(*nnx=%d, y=%d, r=%ld, last=%ldnn*, x, y, r, t );3、程序设计题请编写函数fun,其功能是:计算并输出当x<G97时下列多项式的值,fi?lJ|Sn-Sn.i|<0,000001为止。S _0.105(05-1)y,0.5(0.5-1)(0.5-2)3-一0.5(0.5-1)(05-2)(0.5-%+1)/include <stdio. h>include <math. h> double fun(double x)main () double x, s;printf(*Input x:; scanf&x);s=fun(x);printf(*s=%fn*, s);1、程序填空题函数fun的功能是:统计卡整数n的各个位上出现数字1、2、3的次数,并通过外部(全局)变量cl, c2, c3返回主函数。例如:当n=l23114350时,结果应该为: cl=3 c2=l c3=2请走程序的节划线处填入正确的内容并把下划线删除,使程序得出正确的结果。°注意:源程序存放在考生文件隽下的BLANK1.C中。不得增行或删行,也不容更改程序的结构!include <stdio. h> int cl, c2, c3; void fun(long n) cl = c2= c3=0;while (n)/* found*/ switch (1)/*found*/ case 1:cl+;2/* found*/ case 2:c2+;3case 3:c3+;)n /=10;)main () long n=123114350L;fun(n);printf("nThe result :n"); printfCn=%ld cl=%d c2=%d2、程序修改题c3=%dn”, n, cl, c2, c3);给定程用KJDI1.C中函数fun的功能是:统计一个无伤号整数史各位数字值为零的个数,制过形参传回主函数;并把该整薮中各位上最大的数空值作为函数值返回。例如,若辎入无符号整数30800,则数字值为零的个薮为3,各松上数字情为函数最大的是8。:不要改动main函数,不得增include <stdio. h>int fun(unsigned n, int *zero) int count=0, max=0, t;do t=n%10;/*found*/ if(t=0)count+;if(max<t) max=t;n=n/10;while(n);/*found*/zero=count;return max;main () unsigned n; int zero,max;printfCynlnput n(unsigned):"); scanf&n);max = fun ( n,&zero );printf(*nThe result: max=%d zero=%dn”, max, zero);3、程序设计题请编写函数fun,其功能是:计算并输出下列多项式的值:111S =1+1*21*2*31*2*3*"500您,有玉憾型落堂鲤叔后,输出为:s=l.718282。在:请勿改协)主函薮mai痛1其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include <stdio. h> double fun(int n)第8套1、程序填空题main () int n; double s;printf(*nlnput n:"); scanf(*%d*,&n);s=fun (n);printf('nns=%fnn", s);的耳数返520使为数86,上函64除位为.删各弯线中,回下即数返把倍的数并:16内3UJ -9-3.戈戈4角匕匕月89宜且3E群27人funQ物处数反整线函策划 ,位一下中低入的序1,程定高如在给行请来原一中构C土n2一1勺IK田 BL程的改下更 i 件不文也生,考行在删放或查仃序增辑源不return x;)main () unsigned long n=-l;while(n>99999999|n<0) printf (zzPlease input (0<n<100000000):"); scanf(*%ld*, &n); printf(*nThe result is: %ldn”, fun(n);include <stdio.h>unsigned long fun(unsigned long n) unsigned long x=0; int t;while (n) t=n%10;/*found*/if (t%2=_l_)/*found*/x=_2_+t;/*found*/n=_3_;2、程序修改题给定黑吗墉耀得瞥蹦辗徵麒密上为奇数的数依例如,当s中的救为:87653142时,t顿数为:7531。次取出,ze正确的结果。请改正程序中的错误,使它能用一.一一一.注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!include <stdio. h>void fun (long s, long *t) int d;long sl=l;/*found*/t = 0;while ( s > 0) d = s%10;/*found*/ if (d%2 = 0) *t = d * si + *t;编另一个函数fur它的功能是 即把礴指辐馥藉躯-rcat),1、字符si =10;)s /=10;)main () long s, t;printf (nPlease enter s:*); scanf("%ld",&s);fun(s,&t);printf(*The result is:%ldn”, t);)3、程序设计题FirstString-SecondString程序输出:.FirstStringSecondString注意:部分源程序磁性PROGL C文伸中。请勿改易)主函薮main其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include <stdio. h>void fun(char pl, char p2)(main ()printf ("Enter si and s2:n"); scanf("%s%s”, si, s2);printf("si二%sn”, si);printf("s2=%sn”, s2);printf (*Invoke fun(si, s2):n*) fun(sl, s2);printf("After invoking:; printf("%sn”, si);1、程序填空题,函数fun的功能是:在3X4的矩|才出相应信息。12134781063597袒序执行结基为,find: a22=9果。请在程序的卡划线处填入正确的内容并把下划线删除,使程序得出正确的结注意:源程序存放在考生文件旁下的BLANK1.C中。不得增拧或删行,也不编更改程序的结构ttinclude <stdio. h>#defineM3defineN4void fun(int (*a)N) int i=0, j,find=0, rmax, c, k;while(i<M)&&(!find) rmax=ai0; c=0;for(j=l; j<N; j+) if(rmax<aij)/*found*/ rmax=aij; c=_1一; find=l; k=0;while(k<M && find)/*found*/if (k!=i && akc<=rmax) find=_2 k+;)if(find) printf("find:a%d%d=%dn”, i, c, aic);/* f otind*/_3;if(!find) printf("not found!n*);)main () int xMN,i, j;printf ("Enter number for array:n/z);for(i=0; i<M; i+)for(j=0; j<N; j+) scanf&xj);printf("The array:n*);for(i=0; i<M; i+) for(j=0; j<N; j+) printf("%3d", xij); printf ("nn");fun(x);给定程序M0DI1.C中函数fun的功能是:根据整型形参m的值,计算如下公式的-出正行-暂增"应55-则能不-匕1*35使数一记,函德T!al 1-* n*可-2中中改-皿序要1若程不-,正: t如改意例请注89。也536结希哂o.的»include <stdio. h>double fun ( int m )(double y =1.0;int i ;/*found*/ for(i =2; i < m ; i+)/*found*/ y -=1/(i * i);return( y );main() int n =5;printf ("nThe result is %lfn*, fun ( n )3、程序设计题m个人的成缜存放在score数组里,请编写函数fun,它的功能是:将低于平均分的人数作为函微值返回,粒低于丰均分的分数放在below所指的数组中。例如,当score数组中的数据为:10、20、30、40、50、60

    注意事项

    本文(计算机二级C真题附答案.docx)为本站会员(无***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开