二级C语言题库-填空题.docx

上传人:文*** 文档编号:68226805 上传时间:2022-12-27 格式:DOCX 页数:125 大小:102.44KB
返回 下载 相关 举报
二级C语言题库-填空题.docx_第1页
第1页 / 共125页
二级C语言题库-填空题.docx_第2页
第2页 / 共125页
点击查看更多>>
资源描述

《二级C语言题库-填空题.docx》由会员分享,可在线阅读,更多相关《二级C语言题库-填空题.docx(125页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、1.下列给定程序中,函数fun的功能是计算如下公式直到,并且把计算结果作为函数值返回。例如,若形参e的值为le-3,则函数返回值为0.551690。请在下划线处填入正确的 内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include double fun(double e) int i, k; double s, t, x;s=0; k=l; i=2;/*found* Ix=_l_/4;/*found* /while(x _2_ e) s=s+k*x;k=k* (-1);t=2*i;/*found* * Ii+;re

2、turn s;main()(3) (t+1)2 .下列给定程序中,函数fun的功能是:计算如下公式前n项的和并作为函数值返回。例如,当形参n的值为10时,函数返回值为9.612558.请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include double fun(int n) int i; double s, t;/*found* * Is= 1 /*found* Ifor(i=l; i=2; i+) t=2.0*i;/*nd * Is=s+(2.0*i-l)*(2.0*i+l)/_3_;r

3、eturn s;main() int n=-l;while(n0): ); scanf(%d,&n); printf(nThe result is: %fn,fun(n);【参考答案】 0(2) n (3) (t*t)3 .给定程序中,函数fun的功能是:统计形参s所指的字符串中数字字符出现的次数, 并存放在形参t所指的变量中,最后在主函数中输出。例如,若形参s所指的字符串为 abcdef35adgh3kjsdf7 ,则输出结果为 4。请在下划线处填入正确内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include

4、void fun(char *s, int *t) int i, n;n=0;/*found* Ifor(i=0;1!=0; i+) /*found* /if(si=O&si= 2) n+;/* fo und* I3;main() char s80=abcdef35adgh3kjsdf7;int t;printf(nThe original string is : %sn,s);fun(s,&t);printf(nThe result is : %dn,t);【参考答案】 si (2) 9(3)*t=n4 .下列给定程序中,函数fun的功能是:把形参a所指数组中的奇数按原顺序依次存放到a0、a

5、l, a2中,把偶数从数组中删除,奇数个数通过函数值返回。例如:若a所指数组中的数据最初排列为:9、1、4、2、3、6、5、8、7 ,删除偶数后 a所指数组中的数据为:9、1、3、5、7,返回值为5。请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果.注意:部分源程序在文件BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include #define N 9 int fun(int a, int n) int i,j;j = 0;for (i=0; in; i+) /* *fou nd* Iif (ai%2=-1)/*nd * Iaj = ai; -2一;/*found

6、* /return3 main() int bN=9,1,4,2,3,6,5,8,7, i, n;printf(nThe original data :n);for (i=0; iN; i+) printf(%4d , bi);printf(n);n = fun(b, N);printf(nThe number of odd : %d n, n);printf(nThe odd number :n);for (i=0; in; i+) printf(%4d , bi);【参考答案】(1)1(2)j+(3)j5 .下列给定程序中,函数fun的功能是:将形参n中,各位上为偶数的数取出,并按原 来从

7、高位到低位相反的顺序组成一个新数,作为函数值返回。例如,输入一个整数27638496 ,函数返回值为648620请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include unsigned long fun(unsigned long n) unsigned long x=0; int t;while(n)t=n%10;/*found * Iif(t%2=1) /*found* Ix=2+t;/*nd * In=3;return x;main() unsigned long n=-l;whil

8、e(n99999999|n0) printf(Please input(0n100000000): ); scanf(%ld,&n); printf(nThe result is: %ldn,fun(n);第5页第5页【参考答案】(1)0(2) 10*x ( 3 ) n/106 .下列给定程序中,函数fun的功能是:把形参a所指数组中的最小值放在元素a0中, 接着把a所指数组中的最大值放在al元素中;再把a所指数组元素中的次小值放在 a2中,把a所指数组元素中的次大值放在a3,以此类推。例如,若a所指数组中的数据最初排列为:9、1、4、2、3、6、5、8、7 ;则按规则移 动后,数据排列为:1

9、、9、2、8、3、7、4、6、5。形参n中存放a所指数组中数据的 个数。规定fun函数中的max存放当前所找的最大值,px存放当前所找最大值的下标。请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件BLANK1.C中。不得增行或删行,也不行更改程序的结构!# include #define N 9 void fun(int a, int n) int i,j, max, min, px, pn, t;for (i=0; in-l; i+=2)/* *fou nd*!max = min =1px = pn = i;for0=i+l; jn; j+) /*fou

10、nd * Iif (max3)if (pn != i) t = ai; ai = min; apn = t;if (px = i) px =pn;)if (px != i+l) t = ai+l; ai+l = max; apx = t; )main() int bN=9,l,4,2,3,6,5,8,7, i;printf(nThe original data :n);for (i=0; iN; i+) printf(%4d , bi);printf(n);fun(b, N);printf(nThe data after moving :n);for (i=0; iN; i+) printf(

11、%4d , bi);printf(n);【参考答案】 ai (2) aU (3) aj7 .下列给定程序中,函数fun的功能是进行数字字符转换。若形参ch中是数字字符。 9,则将0转换成9 , T转换成8,2转换成79转换成。;若是其它字符则保持不变;并将转换后的结果作为函数值返回.请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include /* *fou nd* I1fun(char ch)/*found* Iif (ch=0 &_2_) /*found* /return 9- (ch-3)

12、;return ch ;main() char cl, c2;printf(nThe result :n);cl=2; c2 = fun(cl);printf(cl=%c c2=%cn, cl, c2);cl=8; c2 = fun(cl);printf(cl=%cc2=%cn, cl, c2);cl=a; c2 = fun(cl);printf(cl=%cc2=%cn, cl, c2);【参考答案】(1) char (2) ch=9 (3)O8 .下列给定程序中,函数fun的功能是:求ss所指字符串数组中长度最短的字符串所在 的行下标,作为函数值返回,并把其串长放在形参n所指的变量中。ss所

13、指字符串数组 中共有M个字符串,且串长N。请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#include#define M 5#define N 20 int fun(char (*ss)N, int *n) int i, k=0, len= N;/*found* * Ifor(i=0; i1; i+) len=strlen(ssi);if(i=0) *n=len;/* *found* * /if(len 2 *n) *n=len;k=i;/*found* * Ireturn(-3

14、_);main() char ssMN=shanghai,guangzhou,beijing,tianjing,Chongqing;int n,k,i;printf(nThe original strings are :n);for(i=0;iM;i+)puts(ssi);k=fun(ss,&n);printf(nThe length of shortest string is : %dn,n);printf(nThe shortest string is : %sn,ssk);【参考答案】M (2) k9 .下列给定程序中,函数fun的功能是:将s所指字符串中的所有数字字符移到所有非 数字字

15、符之后,并保持数字字符串和非数字字符串原有的次序。例如,s所指的字符串为def35adh3kjsdf7 ,执行后结果为defadhajsdf35370请在程序的下划线处填入正确的内容把下划线删除,使程序得出正确的结果。注意:部分源程序在文件BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include void fun(char *s) int i, j=0, k=0; char tl80, t280;for(i=0; si!=0; i+)if(si=O & si=9)/* *found* * /t2U=si; 1一,else tlk+=si;t2j=0; tlk=O;/*foun

16、d* /for(i=0; ik; i+) 2./*found* /for(i=0; i3; i+) sk+i=t2i;main() char s80=ba3a54j7sd567sdffs;printf(nThe original string is : %sn,s);fun(s);printf(nThe result is : %sn,s);【参考答案】(l)j+或 j+=l 或+或 j=j+l10下列给定程序中已建立一个带头结点的单向链表,链表中的各结点按结点数据域中 的数据递增有序链接。函数fun的功能是:把形参x的值放入一个新结点并插入链表中, 使插入后各结点数据域中的数据仍保持递增有序

17、。请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#include#define N 8 typedef struct list int data;struct list *next; SLIST;void fun( SLIST *h, int x) SLIST *p, *q, *s;s=(SLIST*)malloc(sizeof(SLIST);/* *fou nd* js-data=1q=h;p=h-next;while(p!=NULL & xp-data) /* fo und*

18、Iq=2, p=p-next;s-next=p;/* *fou nd* Iq-next=3;SLIST *creatlist(int *a) SLIST *h,*p,*q; int i;h=p=(SLIST *)malloc(sizeof(SLIST);for(i=0; idata=ai; p-next=q; p=q;)p-next=O;return h;void outlist(SLIST *h) SLIST *p;p=h-next;if (p=NULL) printf(nThe list is NULL!n);else printf(nHead);do printf(-%d,p-data)

19、; p=p-next; while(p!=NULL); printf(-Endn);main() SLIST *head; int x;int aN=ll,12,15,18,19,22,25,29);head=creatlist(a);printf(nThe list before inserting:n); outlist(head);printf(nEnter a number: ); scanf(%d,8o();fun(head,x);printf(nThe list after inserting:n); outlist(head);【参考答案】(l)x (2)P(3)s11 .下列给

20、定程序中,函数fun的功能是:将形参a所指数组中的前半部分元素中的值 与后半部分元素中的值对换。形参n中存放数组中数据的个数,若n为奇数,则中间的 元素不动。例如:若a所指数组中的数据为:1、2、3、4、5、6、7、8、9 ,则调换后为:6、7、8、9、5、1、2、3、40请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果.注意:部分源程序在文件BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include #define N 9 void fun(int a, int n) int i, t, p;/* *fou nd*!p = (n%2=0)?n/2:n/2+1fo

21、r (i=0; in/2; i+)/*nd * Iai = ap+-2-;/* fu n d * I_3_ = t;)main() int bN=l,2,3,4,5,6,7,8,9, i;printf(nThe original data :n);for (i=0; iN; i+) printf(%4d , bi);fun(b, N);printf(nThe data after moving :n);for (i=0; iN; i+) printf(%4d , bi);【参考答案】(1)1(2) i(3) ap+i或*(a+p+i)12 .下列给定程序中,函数fun的功能是:从形参ss所指字

22、符串数组中,删除所有串长 超过k的字符串,函数返回剩余字符串的个数。ss所指字符串数组中共有N个字符串, 且串长小于M。请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include #include #defineN5#defineM10int fun(char (*ss)M, int k) int i,j=0,len;/*found* /for(i=0; i _1_ ; i+) len=strlen(ssi);/*found * /if(len= 2)/*found * /strcpy(ssj

23、+,_3_);return j;main()char xNM=Beijing,Shanghai,Tianjing,Nanjing,Wuhan);int izf;printf(nThe original stringnn);for(i=0;iN;i+)puts(xi); printf(n);f=fun(x,7);printf(The string witch length is less than or equal to 7 :n);for(i=0; if; i+) puts(xi);printf(n);【参考答案】 N (2) k (3) SSi13 .下列给定程序中,函数fun的功能是:把形

24、参s所指字符串中下标为奇数的字符右 移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶 数的字符不动(注:字符串的长度大于等于2).例如,形参s所指字符串为abcdefgh ,执行结果为ahcbedgf,请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include void fun(char *s) int i, n, k; char c;n=0;for(i=0; si!=0; i+) n+;/*found* /if(n%2=0) k=n-_1.else k=n-2;/

25、*found* * Ic=for(i=k-2; i=l; i=i-2) si+2=si;/*found* I main() char s80=abcdefgh;printf(nThe original string is : %sn,s);fun(s);printf(nThe result is : %sn,s);【参考答案】 1(2) sk或*(s+k)(3) c14 .下列给定程序中,函数fun的功能是:在形参ss所指字符串数组中查找与形参t所 指字符串相同的串,找到后返回该串在字符串数组中的位置(即下标值),若未找到则返 回-1。ss所指字符串数组中共有N个内容不同的字符串,且串长小于M

26、。请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include #include #defineN5#defineM8 int fun(char (*ss)M,char *t) int i;/*found * /for(i=0; i _1 ; i+) /*found* * Iif(strcmp(ssi,t)=O ) return _2_ ; return -1; main()char chNM=if,while,switchzint,for),tM;int n,i;printf(nThe ori

27、ginal stringnn);for(i=0;iN;i+)puts(chi); printf(n);printf(nEnter a string for search: ); gets(t); n=fun(ch,t);/*found* /if(n= _3_) printf(nDont found!nn);else printf(nThe position is %d .n”,n); 【参考答案】(1)N(2)i(3) -115.下列给定程序中已建立了一个带头结点的单向链表,在main函数中将多次调用fun 函数,每调用一次,输出链表尾部结点中的数据,并释放该结点,使链表缩短。请在下划线处填入

28、正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#include#define N 8 typedef struct list int data;struct list *next; SLIST;void fun( SLIST *p) SLIST *t, *s;t=p-next; s=p;while(t-next != NULL) s=t;/*found* It=t-1) /* *fou nd* IprintfC %d ”,2);s-next=NULL;/*found* Ifree(_3一);SLI

29、ST *creatlist(int *a) SLIST *h,*p,*q; int i;h=p=(SLIST *)malloc(sizeof(SLIST);for(i=0; idata=ai; p-next=q; p=q;)p-next=0;return h;void outlist(SLIST *h) SLIST *p;p=h-next;if (p=NULL) printf(nThe list is NULL!n);else printf(nHead);do printf(-%d,p-data); p=p-next; while(p!=NULL);printf(-Endn);)main()

30、SLIST *head;int aN=l 1,12,15,18,19,22,25,29);head=creatlist(a);printf(nOutput from head:n); outlist(head);printf(nOutput from tail: n);while (head-next != NULL)fun(head);printf(nn);printf(nOutput from head again :n); outlist(head);)【参考答案】(l)next (2) t-data (3) t16.下列给定程序中,函数fun的功能是:逆置数组元素中的值。例如:若a所指

31、数组 中的数据为:1、2、3、4、5、6、7、8、9 ,则逆置后依次为:9、8、7、6、5、4、3、 2、1.形参n给出数组中数据的个数。请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include void fun(int a, int n) int i,t;for (i=0; i1; i+)/*found* * Iai = an-l-2_;/*found* I3= t;)main() int b9=l,2,3,4,5,6,7,8,9z i;printf(nThe original data

32、:n);for (i=0; i9; i+)printf(%4d , bi);printf(n);fun(b, 9);printf(nThe data after invert :n);for (i=0; i9; i+)printf(%4d , bi);printf(n);【参考答案】(1) n/2(2) i (3) an-i-l17.下列给定程序的功能是:调用函数fun将指定源文件中的内容复制到指定的目标文 件中,复制成功时函数返回1 ,失败时返回0.在复制的过程中,把复制的内容输出到 屏幕。主函数中源文件名放在变量sfname中,目标文件名放在变量tfname中。请在下划线处填入正确的内容并

33、将下划线删除,使程序得出正确的结果。注意:部分源程序在文件BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#includeint fun(char *source, char * target) FILE *fs,*ft; char ch;/*found* /if(fs=fopen(source,1)=NULL)return 0;if(ft=fopen(target, w)=NULL)return 0;printf(nThe data in file :n);ch=fgetc(fs);/* *found* * /while(!feof(2) putchar( ch )

34、;/*found* /fputc(ch,3一);ch=fgetc(fs);)fclose(fs); fclose(ft);printf(nn);return 1;main() char sfname20 =myfilel,tfname20=myfile2;FILE *myf; int i; char c;myf=fopen(sfname,w);printf(nThe original data :n);for(i=l; i30; i+) c=A+rand()%25;fprintf(myf,%c,c); printf(%c,c); fclose(myf);printf(nn);if (fun(s

35、fname, tfname) printf(Succeed!);【参考答案】(1) r(2)fs(3) ft18.下列给定程序中,函数fun的功能是:有NxN矩阵,根据给定的m(m = N)值,将 每行元素中的值均向右移动m个位置,左位置为0。例如,N = 3 , m = 2 ,有下列矩阵123456789程序执行结果为001004007请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include #define N 4 void fun(int (*t)Nz int m) int i,j;/*

36、 *fou nd* /for(i=0; i=0; j-) /* fo und* ItiU+_2_=tiU;/* *fou nd* /for(j=0; j-3; j+)tiU=O;main() int tN=21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10), i, j, m;printf(nThe original array:n);for(i=0; iN; i+) for(j=0; jN; j+)printf(%2d ,tiU);printf(n);)printf(Input m (m=%d): ,N);scanf(%d,&m);fun(t,m)

37、;printf(nThe result is:n);for(i=0; iN; i+) for0=O; jN; j+)printf(%2d ,tij);printf(n);【参考答案】(l)i+(2)m(3)m19.程序通过定义学生结构体变量,存储学生的学号、姓名和3门课的成绩。函数fun 的功能是:将形参a所指结构体变量中的数据赋给函数中的结构体变量b ,并修改b中 的学号和姓名,最后输出修改后的数据。例如,a所指变量中的学号、姓名和三门课的成绩依次是:10001, ZhangSan, 95、 80、88 ,则修改后输出b中的数据应为:10002、LiSi、95、80、88.请在下划线处填入正

38、确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include #include struct student long sno;char name10;float score引;void fun(struct student a) struct student b; int i;/* *fou nd* Ib.sno = 10002;/*found* /strcpy(_2- LiSi);printf(nThe data after modified :n);printf(nNo: %ld Name: %snScores: ,b.sno, b.name);/* *fou nd* j

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

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

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