收藏 分享(赏)

计算机等级考试-二级C语言上机考试题库及答案.doc

上传人:weiwoduzun 文档编号:2958462 上传时间:2018-09-30 格式:DOC 页数:72 大小:332KB
下载 相关 举报
计算机等级考试-二级C语言上机考试题库及答案.doc_第1页
第1页 / 共72页
计算机等级考试-二级C语言上机考试题库及答案.doc_第2页
第2页 / 共72页
计算机等级考试-二级C语言上机考试题库及答案.doc_第3页
第3页 / 共72页
计算机等级考试-二级C语言上机考试题库及答案.doc_第4页
第4页 / 共72页
计算机等级考试-二级C语言上机考试题库及答案.doc_第5页
第5页 / 共72页
点击查看更多>>
资源描述

1、11. 填空给定程序的功能是调用 fun 函数建立班级通讯录。通讯录中记录每位学生的编号,姓名和电话号码。班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为 myfile5.dat 的二进制文件中。请在程序的下划线处填入正确的内容并把下划线删除,是程序得出正确的结果。注意:源程序存放在考生文件夹下的 BLANK1.c 中不得增行或删行,也不得更改程序的结构!void check();/*found*/int fun(_1_ *std)/*found*/_2_ *fp; int i;if(fp=fopen(“myfile5.dat“,“wb“)=NULL)return(0);p

2、rintf(“nOutput data to file !n“);for(i=0; i/*found*/void fun (long s, long t) long sl=10;*t = s % 10;while ( s 0) s = s/100;*t = s%10 * sl + *t;/*found*/sl = sl*100;程序函数 fun 的功能是:将两个两位数的正整数 a,b 合并成一个整数放在 c 中。合并的方式是:将 a 数的十位和个位数依次放在 c 数的千位和十位上, b 数的十位和个位数依次放在 c 数的百位和个位上。例如:a=45,b=12 时,调用该函数后,c=1524.注

3、意:部分源程序存在文件 PROG1.C 中。数据文件 IN.DAT 中的数据不得修改。4请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。2、B: *fw str str M: long *t sl = sl*10; P: *c=(b/10)*1000+(a%10)*100+(b%10)*10+(a/10);3. 填空给定程序中,函数 fun 的功能是:将自然数 110 以及它们的平方根写到名为 myfile3txt 的文本文档中,然后再顺序读出显示在屏幕上。请在程序的下划线处填入正确的内容并把下划线删除,是程序得出正确的结果。注意:源程序存放

4、在考生文件夹下的 BLANK1.c 中不得增行或删行,也不得更改程序的结构!int fun(char *fname ) FILE *fp; int i,n; float x;if(fp=fopen(fname, “w“)=NULL) return 0;for(i=1;iai )/*found*/t=i;if ( p!=j )5 t = aj; aj = ap; ap = t; 程序函数 fun 的功能是:将两个两位数的正整数 a,b 合并成一个整数放在 c 中。合并的方式是:将 a 数的十位和个位数依次放在 c 数的千位和十位上, b 数的十位和个位数依次放在 c 数的百位和个位上。例如:a=

5、45,b=12 时,调用该函数后,c=2514注意:部分源程序存在文件 PROG1.C 中。数据文件 IN.DAT 中的数据不得修改。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。3、B: fp fclose(fp) fname M: i 0) d = s%10;/*found*/if (d%2=0) *t=d* sl+ *t;sl *= 10;/*found*/s = 10;程序函数 fun 的功能是:将两个两位数的正整数 a,b 合并成一个整数放在 c 中。合并的方式是:将 a 数的十位和个位数依次放在 c 数的千位和十位上, b 数的

6、十位和个位数依次放在 c 数的百位和个位上。例如:a=45,b=12 时,调用该函数后,c=5142注意:部分源程序存在文件 PROG1.C 中。数据文件 IN.DAT 中的数据不得修改。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。4、B: “r” fs ft M: (d%2=0) s /= 10; P: *c=(a%10)*1000+(b/10)*100+(a/10)*10+(b%10);5. 填空给定程序中已建立一个带有头结点的单向链表,链表中的各节点按结点数据域中的数据递增有序链表。函数 fun 的功能是:把形参 x 的值放入一个新

7、结点并插入到链表中,插入后结点数据域的值仍保持递增有序。typedef struct list int data;struct list *next; SLIST;void fun( SLIST *h, int x) SLIST *p, *q, *s;s=(SLIST *)malloc(sizeof(SLIST);/*found*/s-data=_1_;7q=h;p=h-next;while(p!=NULL p=p-next;s-next=p;/*found*/q-next=_3_;修改给定程序 MODI1.C 中函数 fun 的功能是:计算正整数 num 的各位上的数字之积。例如,若输入:2

8、52,则输入应该是:20.若输入:202,则输出应该是:0.long fun (long num)/*found*/long k;do k*=num%10 ;/*found*/num=10 ; while(num) ;return (k) ;请编写一个函数 fun,它的功能是:它的功能是:计算 n 门课程的平均分,计算结果作为函数值返回。例如:若有 5 门课程的成绩是:90.5,72,80,61.5,55则函数的值为:71.805、B: x p s M: long k=1; num/=10 ; P: int i; float ave=0.0; for(i=0; inext; s=p;while

9、(t-next != NULL) s=t;/*found*/t=t-_1_;/*found*/printf(“ %d “,_2_);s-next=NULL;/*found*/free(_3_);修改给定程序 MODI1.C 中函数 fun 的功能是:将字符串中的字符按逆序输出,单补改变字符串中的内容。例如,若字符串味 abcd,则应输出: dcba/*found*/fun (char a) if ( *a ) fun(a+1) ;/*found*/printf(“%c“ *a) ;程序请编写一个函数 fun,他的功能是:比较两个字符串的长度(不得调用c 语言提供的求字符串长度的函数) ,函数返

10、回较长的字符串。若两个字符串长度相同,则返回第一个字符串。例如,输入 beijingshanghai(为回车键),函数将返回shanghai6、B: next t-data t M: fun (char *a) printf(“%c“, *a) ; P: int i; char *p=s, *q=t; for(i=0;*p i+)p+; q+; if(*p = 0 if(*p) return s ; else return t ;7. 填空给定程序中建立一个带有头结点的单向链表,链表中的各节点按数据域递增有序连接。函数 fun 的功能是:删除链表中数据域值相同的结点,使之只保留一个9typed

11、ef 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;/*found*/free(_1_);/*found*/q=p-_2_;else p=q;/*found*/q=q-_3_;修改给定程序 MODI1.C 中函数 fun 的功能是:用选择法对数组中的 n 个元素按从小到大的顺序进行排序。void fun(int a, int n

12、) int i, j, t, p;for (j = 0 ;j next;/*found*/while(p!=_1_) n+;/*found*/if (p-data=ch) return _2_;else p=p-next;return 0;修改给定程序 MODI1.C 中函数 fun 的功能是:删除 p 所指字符串中的所有空白字符(包括制表符,回车符及换行符)输入字符串是用“#”结束输入。fun ( char *p) int i,t; char c80;/*found*/For (i = 0,t = 0; pi ; i+)if(!isspace(*(p+i) ct+=pi;/*found*/c

13、t=“0“;strcpy(p,c);程序请编写一个函数 fun,它的功能是:将 ss 所指字符串中所有下标为奇数位置上的字母转换成大写(若该位置上不是字母,则不转换)例如:若输入“abc4EFg” ,则应输出“aBc4Efg” 。11答案:8、B: NULL n head,ch M: for ct=0; P: int i ; for(i = 1 ; i = a while(p) (*n)+;/*found*/p=p-_2_;main() SLIST *head;int aN=12,87,45,32,91,16,20,48, num;head=creatlist(a); outlist(head

14、);/*found*/fun(_3_, printf(“nnumber=%dn“,num);修改给定程序 MODI1.C 中函数 fun 的功能是:求出 s 所指字符串中最后一次出现的 t 所指子字符串的地址,通过函数返回值返回,在主函数中输出从此地址开始的字符串;若未找到,则函数值为 NULL例如:当字符串中的内容为“abcdefabcdx”t 中的内容为“ab”时,输出的结果应是:abcdx当字符串中的内容为“abcdefabcdx”t 中的内容为“abd”时,则程序输出未找到信息 not be foundchar * fun (char *s, char *t )char *p , *r

15、, *a;/*found*/a = Null;while ( *s ) p = s; r = t;while ( *r )/*found*/12if ( r = p ) r+; p+; else break;if ( *r = 0 ) a = s;s+;return a ;程序函数 fun 的功能是:将 s 所指字符串中除了下标问为偶数,同时 ASCII 值也为偶数的字符外,其余的全部删除:串中剩余字符所形成的一个新串放在 t 所指的数组中例如,若 s 所指的字符串中的内容为“ABCDEFG123456” ,其中字符 A 的ASCII 码味奇数,因此应当删除,其中字符 b 的 ASCII 码值

16、为偶数,但是在数组中的下标为基数,因此也当删除;答案9、B: *n next head M: a = NULL; *r = *p P: int i, j = 0 ;for(i = 0 ; i next;while(p)/*found*/s+= p-_1_;/*found*/p=p-_2_;return s;修改给定程序 MODI1.C 中函数 fun 的功能是:将 s 所指字符串中出现的与 t1 所指字符串相同的字串全部替换成 t2 所指字符串,所形成的新串放在 w 所指的数组中,在此处,要求 t1 和 t2 所指字符串的长度相同。int fun (char *s, char *t1, cha

17、r *t2 , char *w)13int i; char *p , *r, *a;strcpy( w, s );while ( *w ) p = w; r = t1;/*found*/while ( r )if ( *r = *p ) r+; p+; else break;if ( *r = 0 ) a = w; r = t2;while ( *r )/*found*/*a = *r; a+; r+w += strlen(t2) ;else w+;程序函数 fun 的功能是;将 s 所指字符串下标为偶数的字符删除,串中剩余字符形成的新串放在 t 所指的数组中例如:当 s 所指字符串中的内容为

18、:“ABCDEFGHIJK”在 t 所指数组中的内容应是“BDFHJ”10、B: data next head M: *r r+; P: int i, j = 0 ; for(i = 1 ; i _2_ *=a;main( ) STU std= 1,“Zhanghua“,76.5,78.0,82.0 ;float a;printf(“nThe original number and name and scores :n“);16show(std);printf(“nInput a number : “); scanf(“%f“,/*found*/modify(_3_,a);printf(“nA

19、 result of modifying :n“);show(std);修改给定程序 MODI。C 中函数 fun 的功能是:求 k!(k 0return (k*fun(k-1);/*found*/else if ( k=0 )return 1L;设计程序定义了 N*N 的二维数组。并在主函数中自动赋值,请编写函数 fun,函数的功能是:使数组左下三角元素的值乘以 n例如:若 n 的值为 3,a 数组的值为13、B: STU scorei for(i = 0 ; i std1.num) temp=std0; std0=std1; std1=temp; if(std0.numstd2.num)

20、temp=std0; std0=std2; std2=temp; if(std1.numstd2.num) temp=std1; std1=std2; std2=temp; main() PERSON std = 5,“Zhanghu“,2,“WangLi“,6,“LinMin“ ;int i;/*found*/17fun(_3_);printf(“nThe result is :n“);for(i=0; i ttji) min=ttji ; k = j ; ppi = ttki ; 16.填空程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的信息,函数fun 的功能是输出这位学生的信

21、息/*found*/void show(STU _1_) int i;printf(“n%d %s %c %d-%d-%d“, tt.num, tt.name, tt.sex,tt.birthday.year, tt.birthday.month, tt.birthday.day);for(i=0; iam) k=m;t=ai;ai=am;am=t;设计请编写一个函数 unsigned fun ,w 是一个大与 10 的无符号整数,若 w 是 n 为的整数,函数求出 w 的低 n-1 位的数作为函数值返回例如 w 为 5923 则函数返回 923;16、B: tt tt.scorei std

22、M: m=i m=k P: if(w10000) w %= 10000 ; else if(w1000) w %= 1000 ; else if(w100) w %= 100 ; else if(w10) w %=10 ; return w ; 17.填空给定程序中,函数 fun 的功能是:对形参 ss 所指字符串数组中的 M 个字符串按长度由短到长进行排序。Ss 所指字符串数组中共有 M 个字符串,且串长Nvoid fun(char (*ss)N) int i, j, k, nM; char tN;for(i=0; inj) _2_;if(k!=i) strcpy(t,ssi);strcpy

23、(ssi,ssk);/*found*/strcpy(ssk,_3_);nk=ni;给定程序 MODI。C 中函数 fun 的功能是:判断 ch 中字符是否与 str 所指串中的某个字符相同;若相同,什么也不做,若不同,则将其插在串的最后#include /*found*/void fun(char str, char ch ) while ( *str /*found*/20if ( *str = ch ) str 0 = ch;/*found*/str1 = 0;设计请编制一个函数 fun,函数功能是吧 s 所指字符串中的内容逆值17、B: i+1 k=j t M: char *str !=

24、 0 P: char bN ; int i = 0, j ; for(j = strlen(s) - 1 ; j = 0 ; j-) bi+ = sj ; bi=0; strcpy(s, b) ;18.填空给定程序中,函数 fun 的功能是:求出形参 ss 所指的字符串数组中最长字符串的长度,其余字符串左边用字符*补齐,使其与最长的字符串等长,字符串数组中共有 M 个字符串void fun(char (*ss)N) int i, j, k=0, n, m, len;for(i=0; in) /*found*/n=len; _1_=i;for(i=0; i=0; j-)ssim-=ssij;fo

25、r(j=0; j1 for(i=0; ivoid fun( char *p )int k = 0;for( ; *p; p+ )if( k )/*found*/22if( p = )k = 0;/*found*/* (p-1) = toupper( *( p - 1 ) )elsek = 1;设计请编写函数 fun,对长多为 7 个字符的字符串,除首,尾字符外,将其余 5 个字符按 ASCII 降序排列19、B: ssi n+j 1 M: *p ; P: char ch ; int i, j ; for(i = 1 ; i *n) /*found*/_3_;k=i;return(k);修改给定

26、程序 MODI1.c 中函数 fun 的功能是:根据形参 m,计算如下公式的值 23double fun( int m )double t = 1.0;int i;for( i = 2; i =0 /*found*/*(pstr + i) = pstr + j ;*(pstr + j) = p ;设计请编写函数 fun,它的功能是:求出 ss 所指字符串中指定字符的个数,并返回此值22、B: j+ si=t1i j M: ; ; *(pstr + j) P: int cnt = 0 ; char *p = ss ; while(*p) if(*p = c) cnt+ ; p+ ;23.填空给定

27、程序中,函数 fun 的功能是:在形参所指字符串中的每个数字字符之后插入一个*号void fun(char *s) int i, j, n;for(i=0; si!=0; i+)/*found*/if(si=0 _1_ sii; j-)/*found*/sj+1= _3_;sj+1=*;i=i+1;修改26给定程序 MODI1.c 中函数 fun 的功能是;根据整形形参 m,计算如下公式的值设计请编写函数 fun,函数功能是:实现 B=A+A,即把矩阵 A 加上 A 的转职,存放到 B 中23、B: i=i-2) si+2=si;/*found*/s1=_3_ ;给定程序 MODI1.c 中

28、fun 函数的功能是:求 s=aaaa-.aaa-aa-along fun (int a, int n) int j ;/*found*/long s = 0, t = 1 ;for ( j = 0 ; j = a if(t!=i) x=si; si=st; st=x; for(i=1,j=0; i= num)pi = pi + t ;n = n + 2 ;s = -s ;/*found*/t = s % n ;pi = pi * 4 ;return pi ;请编写一个函数 fun,其功能是:删除一个字符串中指定下标的字符,其中,a 指向原字符,删除指定字符后的字符串存在 b 所指的数组中,n

29、 中存放指定下标26、B: t=i; i 0 M: (fabs(t) s/n P: strncpy(b, a, n) ; bn = 0 ; strcat(b, a + n + 1) ;27 填空29给定程序中,函数 fun 的功能是:在形参所指字符串中寻找一个字符串与参数c 相同的字符,并在其后插入一个与之相同的字符,若找不到相同的字符则函数不做任何处理void fun(char *s, char c) int i, j, n;/*found*/for(i=0; si!=_1_ ; i+)if(si=c)/*found*/n=_2_ ;while(si+1+n!=0) n+;for(j=i+n

30、+1; ji; j-) sj+1=sj;/*found*/sj+1=_3_ ;i=i+1;修改在主函数中从键盘输入若干个数放入数组中,用 0 结束输入并放在最后一个元素中,给定程序 MODI1。C 中函数 fun 的功能是:计算数组元素中值为正数的平均值double fun ( int x)/*found*/int sum = 0.0;int c=0, i=0;while (xi != 0) if (xi 0) sum += xi; c+; i+;/*found*/sum = c;return sum;设计编写函数 fun,函数功能是:根据以下公式 s,计算结果作为函数返回值, n 通过形参传入27、B: 0 0 c M: double /= P: int i,j,t; float s=0; for(i=1;i=0; j-)/*found*/tij+_2_ =tij;/*found*/for(j=0; j= 2) return x1;29.填空给定程序中,函数 fun 的功能是:将 N*N 的矩阵中元素额度值按列右移 1 个位置,右边被移出矩阵的元素绕回左边void fun(int (*t)N) int i, j, x;/*found*/for(i=0; i_1_; i+)

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 教育教学 > 计算机等级考试

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报