2023年四川省眉山市全国计算机等级考试C语言程序设计预测试题(含答案).docx
《2023年四川省眉山市全国计算机等级考试C语言程序设计预测试题(含答案).docx》由会员分享,可在线阅读,更多相关《2023年四川省眉山市全国计算机等级考试C语言程序设计预测试题(含答案).docx(44页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2023年四川省眉山市全国计算机等级考试C语言程序设计预测试题(含答案)学校:班级:姓名:考号:一、2.填空题(10题)1 .某二叉树中度为2的结点有18个,则该二叉树中有【】个叶子结/W O2 .阅读下列程序,则程序的输出结果为【】。#include stdio.hstruct ty int data;char c; ;main() struct ty a=30/xr;fun(a);printf(n%d%cn,a.data,a.c); fun(struct ty b) b.data=20;b.c=y; 3 .软件测试中路径覆盖测试是整个测试的基础,它是对软件【】进行 测试。4 .下面的程序可
2、对指定字符串中的字符串进行从大到小排序,请将程序 填完整。(注:程序采用了冒泡排序法)#include #include printf( n n); )24 .请编写函数proc(),其功能是:将str所指字符串中下标为偶数的字符删除,串中剩余字符形成的新串放在t所指数组中。例如,当str所指字符串中的内容为abcdefg,则在t所指数组中的内容应是bdfo注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。试题程序:叁 include V.idhh, b AS tncludc Vcomo*U ifH ludr Vzdt
3、o. hS include tnnvoid tr chAf void miiinn * t) i25 .请编写函数proc,其功能是:将str所指字符串中除下标为偶数、同 时ASCII码值为奇数的字符外,其余的字符都删除,串中剩余字符所形 成的一个新串放在t所指的数组中。例如,若str所指字符串中的内容为 ABCDEFG12345,其中字符B的ASCII码值为偶数,所在元素的下标为 奇数,因此必须删除;而字符A的ASCII码值为奇数,所在数组中的下 标为偶数,因此不应当删除。依此类推,最后t所指的数组中的内容应 是 ACEGO注意:部分源程序给出如下。请勿改动main函数和其他函数中的任何内容
4、,仅在函数proc的花括号 中填人所写的若干语句。试题程序:#include#include#include#includevoid proc(char*str, char t) ()void main char str100, t100;system(CLS);printf(nnPlease enter string str :);scanf(n%Sn, str);proc(str, t);printf(nnThe result iS : %snn, t);26 .请编写函数proc (),该函数的功能是:移动一维数组中的内容,若 数组中有n个整数,要求把下标从p到n-l (pSn-l)的数
5、组元素平移到 数组的前面。例如,一维数组中的原始内容为1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, P的值为4。移动后,一维数组中的内容应 为 5, 6, 7, 8, 9, 10 . 11, 12, 13, 14, 1, 2, 3, 4O注意:部分源 程序给出如下。请勿改动main ()函数和其他函数中的任何内容,仅 在函数proc ()的花括号中填入所编写的若干语句。试题程序: # include V*tdio. h # define M 80void proc(int - w. int p. int n) void main()(78.910
6、,111213,14)iint i p n 14 iprintf( The original dAiatnH ifor(i-BOiiprintf( * %3d .arri) printf(*nnw) i27 .使用VC +2010打开考生文件夹下progl中的解决方案。此解决方 案的项目中包含一个源程序文件progl.c。在此程序中,编写函数fun(), 其功能是将S所指字符串中除了下标为奇数同时ASCII值也为奇数的字 符之外的其余所有字符全部删除,字符串中剩余字符所形成的一个新字 符串存放在t所指的数组中。例如,若s所指字符串的内容为“ABCDEFG12345,其中字符A的 ASCII值为
7、奇数,但所在元素的下标为偶数,因此需要删除;而字符1 的ASCH值为奇数,所在数组中的下标也为奇数,因此不应当删除, 其他依此类推。最后t所指数组中的内容应为“135”。注意:部分源程序给出如下。请勿改动主函数main()和其他函数中的任何内容,仅在函数fun()的花 括号中填入你编写的若干语句。试题程序:#include #include #include void fun (char * s, char t)()main()(chars100 ,t WO;printf (AnPlease enter string s:);scanf (%s”, s);fun(s, t);printf (c
8、cnThe result is:% snt);28.编写一个函数,输入n个字符串,串与串之间以Enter键分隔,找出最短字符串中第一个字符串,传回该串地址(用一个新串“*”作为结束输入 的标志)。注意:部分源程序给出如下。请勿改动main ()函数和其 他函数中的任何内容,仅在函数fun ()的花括号中填入所编写的若干 语句。试题程序: 停 include Vsldio. h include 4 include Vconio. h char * fun(char ( 100unt num) void main()(1char str10100. miniin( nwi = O:FILE * o
9、ut i prmtf ( input strings withas end:);gets(strijiputs(strCi iwhile(! MrcmpC* M) = =0)(i+ + s gets(tn11min- fun(strn) :prinift *nmin %sn*.min)iout = fopcn( Moutfilc. datM *w):sirepyl xir0. just strcpy(strLl *)iytrcpy( jtr2.*tcsO istrcpy(Mrf3j*-somcM);sifprintKou! fun(str5) fclo5c(out) ;29 .请编写函数。fu
10、n能是:判断形参n中的正整数是几位数(输入数 据的位数不超过4位),并将结果通过函数值返回。例如:若输入的数据为123,则输出结果为:输入的数字是3位。注意:部分源程序存在PROG1.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所缩写的若干语句。 试题程 finclude void NONO(); int fun (int n) ) main () int n. place ;doprint ”请输入一个4位以内的正整数: scanf (R%dwr 4n);)while (n9999); place = fun(n);printf (“输入的数字是%d位n。
11、,place ); NONOO;) void NONO O本函数用于打开文件,输入数据,调用雨数,输出数据.关闭文件0/ FILE - fp, wf ;int i, n, place ;fp - fopen(c:testin.dat,rR);wf - fopen (*c: test kjut.datWw); for ( i 0; i 10; i 1) (fscanf (tp, %d , 4n); place = fun (n);fprintf(wf/place);) fclose(fp); fclose(wf);序:)30 .假定输人的字符串中只包含字母和*号。请编写函数proc,它的功能是:
12、将字符串中的前导*号全部删除,中间和后面的*号不删除。例如,若字符串中的内容为*a*bc*def*g*,删除后,字符串中的内容则应当是 a*bc*def*g*。注意:部分源程序给出如下。请勿改动main函数和其他函数中的任何内容,仅在函数Poc的花括号中填入所编写的若干语句。试题程序:#include<stdio. h>#include<conio . h>void proc(char*str)()void main(char str81;printf(nEnter a string: knn);gets(str);proc(str);printf(nThe strin
13、g after deleted: knn);puts(str); 四、2.程序修改题(10题)31 .下列给定的程序中,函数fun()的功能是;将s所指字符串中出现的 n所指字符串全部替换成t2所指字符串,所形成的新的字符串放在w所 指的数组中。在此处,要求tl和t2所指字符串的长度相同。例如:当 s所指字符串中所指的内容为abcdabfab, tl所指字符串中的内容为ab, t2所指字符串中的内容为99时,结果在w所指的数组中的内容应为99cd99f99o请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include #
14、include #include / 7,7,7,。1 7,7,17,7,-I* /不不小不不不不小小不不不不td n6小小小不不不不小不不不小小不/int fun (char *s, char *tl, char *t2, char *w) int i; char *p,*r,*a;strcpy(w,s);while (*w)p=w; r=tl;/1/不不不、个不不不不、不不不tci n不不不1、不不不不不不不小/while (r)if (*i*= 二*p) r+;p+; else break;if(*r=二,o,)a=w; r=t2;/ *1 *1*1* kL*。1 kL*kL*1* /不
15、不不不不不不不不不不不不tc不不不不不不不不不不不不不不/while (*r) *a=*r;a+;r+ w+=strlen(t2);)else w+;main()chars100,tl100,t2100,w100;clrscr();printf(nnPlcase enter string S:);scanf(n%sn,s);printf(nnPleaseentersubstring tl:);scanf(u%sn,tl);printf(nnPlease enter substring t2:); scanf(n%sn,t2);if (strlen(tl)= =strlen(t2) fun (s
16、,tl,t2,w);printf(unThe result is : %sn”,w);)else printf(nError : strlen(n); 32 .给定程序MODH . C中函数fun的功能是:为一个偶数寻找两个素 数,这两个素数之和等于该偶数,并将这两个素数通过形参指针传回主 函数。请改正函数fun中指定部位的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!3 i4 i5 !6 ;7 ! i8 i i i9 i10 11 i12 i13 I i14 ;15 :16 517;18 !19 J20 i2M22 I i23 j,24 ! 2
17、5 i26 ;1 ! linclude 2 J linclude void fun(int a,int *bf int *c)(int ifj/dfy;for(i3;i-a/2;i-i42)(/,found /Y-l;for(j-2;j-sqrt(double)i); j+)if (i%j0) y0;if (y-1)(d-a-i;for(j2;j 1)for(i=0;i n;i+)if(stri stri+l) temp=;stri=stri+l;【=temp;)printf();5 .是数据库设计的核心。6 .软件维护活动包括以下几类:改正性维护、适应性维护、【】维护和 预防性维护。7 .以
18、下函数把b字符串连接到a字符串的后面,并返回a中新字符串的 长度。请填空。strcen(char a, char b) int num = 0, n = 0 ;while(*(a+num)! = )num+ ;while(bn)*(a+num) = bn ; num+ ;)return(num);#include #include void fun(long s,long *t)/7,/ .卜一卜q. q、q. q. q、.卜,4 q. 卜/ int d; long sl=l;*t=0;while(s 0) d=s%10;/ vl*1* / 、/ 、-j、j、一、/J、,j、 rrw-R 、r
19、j、-R r7 /if(d%2=0) *t=d*s+*t;sl*=10)/k1*1/t、/s=10;)main () long s,t;clrscr();printf(nnPlease enter s: ); scanf(“ld”,&s);fun(s,&t);printf(nThe result is :%ldn”,t);34.已知一个数列从0项开始的前3项:0, 0, 1,以后的各项都是其相 邻的前3项之和。下列给定的程序中,函数fun()的功能是:计算并输出 该数列前n项的和sumo n的值通过形参传入。例如,当n=10时,程序 的输出结果应为96.0000000请改正程序中的错误,使它能
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 四川省 眉山市 全国 计算机等级考试 语言程序设计 预测 试题 答案
限制150内