历年计算机二级c语言上机试题.docx





《历年计算机二级c语言上机试题.docx》由会员分享,可在线阅读,更多相关《历年计算机二级c语言上机试题.docx(119页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 .填空给定程序的功能是调用fun函数建立班级通讯录。通讯录中记录每位学生的编号,姓名和电话号码。班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为 myfile5.dat的二进制文件中。请在程序的下划线处填入正确的内容并把下划线删除,是程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK 1. c中不得增行或删行,也不得更改程序的结构!void check ();int fun (1*std)2 *fp; int i;if (fp=fopen (myf ile5. dat,wb)=NULL) return (0);printf(nOutput data to f
2、ile !n);for(i=0; iN; i+)fwrite(&stdi, sizeof(STYPE),1,3);fclose(fp);return (1);修改给定程序M0DI1. C中函数fun的功能是:先将在字符串s中的字符按正序存放到t串中,然后把s中的字符按逆序连接到t串后面。例如:当s中的字符串为:“ABCDE”时,则他中的字符串应为:“ABCDEEDCBA”。请改正程序中的错误,使他能得出正确的结果。注意:不要改动main函数,不能增行或删行,也不得更改程序的结构!void fun (char *s, char *t) int i, si;si = strlen (s);for(
3、 i=0; i=sl; i +)ti= si;for (i=0; isl; i+)tEsl+i= s Esl-i-1;tsl=,0,;程序函数fun的功能是:将两个两位数的正整数a, b合并成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在 c数的百位和个位上。例如:a=45, b=12时,调用该函数后,c=4152.注意:部分源程序存在文件PR0G1.C中。数据文件IN. DAT 中的数据不得修改。请勿改动主函数main和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。答案:B: STYPE FILE fpM:
4、for(i =0; i si ; i+) t2*sl=0;P:*c=(a/10)*1000+(b/10)*100+(a)*10+(b);2.填空给定程序的功能是:从键盘输入若干行文本(每行不超过80个字符),写到文件myfile4.txt中,用-1作为字符串输入结束的标记。然后将文件的内容读出显示在屏幕上。文件的读写分别有自定义函数ReadText和WriteText实现。请在程序的下划线处填入正确的内容并把下划线删除,是程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK 1. c中不得增行或删行,也不得更改程序的结构! main () FILE *fp;if (fp=fopen(
5、myfile4. txt,w)=NULL) printf C open fail!n,/); exit (0); WriteText(fp);fclose (fp);if (fp=fopen (myf ile4. txt,r)=NULL) printf (z,open fail!n,/); exit (0);ReadText (fp);fclose (fp);void WriteText (FILE 1) char str81;printf(nEnter string with -1 to end :n); gets(str);while(strcmp(str,-1)!=0)fputs(2,
6、fw); fputs(n, fw);gets(str);void ReadText(FILE *fr) char str81;printf(nRead file and output to screen :n);fgets (str,81, fr);wh i1e (!feof (fr)printf (%s,3);fgets(str,81, fr);修改给定程序M0DI1. c中函数fun的功能是:从低位开始取出长整形变量s中的奇数位上的数,依次构成一个新数放在t中,高位仍放在高位,低位仍放在低位。例如:当s中的数为:7654321时,t中的数为:7531请改正程序中的错误,使他能得出正确的结果
7、。注意:不要改动main函数,不能增行或删行,也不得更改程序的结构!ttinclude void fun (long s, long t) long sl=10;*t = s %10;while ( s 0) s = s/100;*t = s * si +*t;si = sl*100;)程序函数fun的功能是:将两个两位数的正整数a, b合并成一个整数放在C中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的百位和个位上。例如:a=45, b=12时,调用该函数后,c=1524.注意:部分源程序存在文件PR0G1.C中。数据文件IN. DAT 中的
8、数据不得修改。请勿改动主函数main和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。2、 B:*fw str strM: long *t si = sl*10;P:*c=(b/10)*1000+(a)*100+(b)*10+(a/10);3.填空给定程序中,函数fun的功能是:将自然数P10以及它们的平方根写到名为myfile3txt的文本文档中,然后再顺序读出显示在屏幕上。请在程序的下划线处填入正确的内容并把下划线删除,是程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK 1. c中不得增行或删行,也不得更改程序的结构!int fun(char *fnam
9、e ) FILE *fp; int i, n; float x;if (fp=fopen (fname,w)=NULL) return 0;for (i=l;i=10;i+)fprintf(1,d i, sqrt(double)i);printf(XnSucceed!n);2;printf(nThe data in file :n);if (fp=fopen (3,”/)NULL)return 0;fscanf (fp,&n,&x);while(!feof (fp) printf (%d n,x); fscanf(fp,&n,&x); fclose(fp);return 1;修改给定程序M0D
10、I1. c中fun函数的功能是:将n个无序整数从小到大排序。fun ( int n, int *a ) int i, j, p, t;for ( j =0; jn-l ; j+) P = j;for ( i=j+1; iai)t=i;if ( p!=j ) t = aj; aj= ap; ap= t;)程序函数fun的功能是:将两个两位数的正整数a, b合并成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在 c数的百位和个位上。例如:a=45, b=12时,调用该函数后,c=2514注意:部分源程序存在文件PR0G1.C中。数据文件IN
11、. DAT 中的数据不得修改。请勿改动主函数main和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。3、 B: fp fclose(fp) fnameM: i0) d 二 s;if (d%2=0)*t=d* sl+*t;si *=10;)s =10;程序函数fun的功能是:将两个两位数的正整数a, b合并成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在 c数的百位和个位上。例如:a=45, b=12时,调用该函数后,c=5142注意:部分源程序存在文件PROG1. C中。数据文件IN. DAT 中的数据不得修改
12、。请勿改动主函数main和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。4、B:r” fs ftM:(d%2=0) s /=10;P:*c=(a)*1000+(b/10)*100+(a/10)*10+(b);5.填空给定程序中已建立一个带有头结点的单向链表,链表中的各节点按结点数据域中的数据递增有序链表。函数fun的功能是:把形参x的值放入一个新结点并插入到链表中,插入后结点数据域的值仍保持递增有序。typedef struct list int data;struct list *next; SLIST;void fun ( SLIST *h, int x) SLIS
13、T *p,*q,*s;s=(SLIST *)malloc(sizeof(SLIST);s-data=1;q=h;p=h-next;wh i1e (p!=NULL & xp-data) q=2;p=p-next;s-next=p;q-next二3;修改给定程序M0DI1. C中函数fun的功能是:计算正整数num的各位上的数字之积。例如,若输入:252,则输入应该是:20.若输入:202,则输出应该是:0.long fun (long num) Jlong k;do k*=num ;num=10; while(num);return (k);请编写一个函数fun,它的功能是:它的功能是:计算n门
14、课程的平均分,计算结果作为函数值返回。例如:若有5门课程的成绩是:90.5,72,80,61.5,55则函数的值为:71.805、 B: x p sM: long k=l; num/=10;P: int i; float ave=0.0; for(i=0; inext; s=p;while(t-next != NULL) s=t;t=t-1: printf C %d ,2);s-next=NULL;free (3);修改给定程序MODH.C中函数fun的功能是:将字符串中的字符按逆序输出,单补改变字符串中的内容。例如,若字符串味abed,则应输出:debafun (char a) if (*a
15、 ) fun(a+1);printf (,%c,/*a);程序请编写一个函数fun,他的功能是:比较两个字符串的长度(不得调用c语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。例如,输入 beijingRshanghai(为回车键),函数将返回shanghai6、 B: next t-data tM: fun (char *a) printf (c,*a);P: int i; char *p=s,*q=t;for (i=O;*p &*q; i+)Jp+; q+;if (*p =0&*q =0) return s ; if (*p) return
16、s ; else return t ;7.填空给定程序中建立一个带有头结点的单向链表,链表中的各节点按数据域递增有序连接。函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个 typedef struct list int data;struct list *next; SLIST;void fun ( SLIST *h) SLIST *p,*q;p=h-next;if (p!=NULL) q=p-next; while (q!=NULL) if (p-data=q-data) p-next=q-next;free (1);q=p-2;else P=q;q=q-3修改给定程序M0D
17、I1. C中函数fun的功能是:用选择法对数组中的n个元素按从小到大的顺序进行排序。void fun(int a, int n) int i, j, t, p;for (j =0;j n-1;j+)P = jfor (i = j;i n; i+)if(ai B: q next nextM: p = j; p=i;P: int i ;*n=0;for (i=7; inext;while (p!=1) n+;if (p-data-ch) return 2;else p=p-next;return 0;修改给定程序MODH.C中函数fun的功能是:删除p所指字符串中的所有空白字符(包括制表符,回车符
18、及换行符)输入字符串是用结束输入。fun ( char *p) int i, t; char c 80;For (i =0, t =0; pi; i+)if(!isspace(*(p+i) ct+=pi;ct=0; strcpy (p,c);程序请编写一个函数fun,它的功能是:将ss所指字符串中所有下标为奇数位置上的字母转换成大写(若该位置上不是字母,则不转换)例如:若输入例bc4EFg”,则应输出例Bc4Efg”。答案:8、 B: NULL n head,chM: for ct=0;P: int i ; for(i =1; i =,a& ss inext;while (p)(*n)+;P=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 历年 计算机 二级 语言 上机 试题

限制150内