2022年甘肃省天水市全国计算机等级考试C语言程序设计预测试题(含答案).docx
《2022年甘肃省天水市全国计算机等级考试C语言程序设计预测试题(含答案).docx》由会员分享,可在线阅读,更多相关《2022年甘肃省天水市全国计算机等级考试C语言程序设计预测试题(含答案).docx(41页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2022年甘肃省天水市全国计算机等级考试C语言程序设计预测试题(含答案)学校:班级:姓名:考号:一、2.填空题(10题)1 .用以下语句调用库函数malloc,使字符指针st指向具有11个字节的 动态存储空间,请填空。st=(char*);2 . mystrlen函数的功能是计算str所指字符串的长度,并作为函数值返 回。请填空。int mystden(char *str) int i ;fo, (i=0;【! =0 ; i+);return(i);3 .在程序设计阶段应该采取 和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,继而用某种程序设计语言写成 程序。4 .单元测试
2、又称模块测试,一般采用【】测试。5 .以下程序中,函数fun的功能是计算x2-2x+6,主函数中将调用fun函 数计算:位置上不是字母,则不转换)。例如,若输入“abc4EFg,则应输出“aBc4EFg”。注意:部分源程序给出如下。请勿改动主函数main()和其他函数中的任何内容,仅在函数fun()的花 括号中填入你编写的若干语句。试题程序:#include #include #include void fun (char *ss)()void main (void)(char tt 51;printf (AnPlease enter an character string within 50
3、 characters:n);gets(tt);printf(nnAfter changing,the stringn %s,tt);fun(tt);printfinbecomesn %stt);)25.某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程 的成绩已在主函数中给出,请编写函数fun,其功能是:求出该学生的 平均分,并放人记录的ave成员中。例如,学生的成绩是:85 .5, 76, 69 .5, 85, 91, 72, 64 .5, 87 .5, 则他的平均分应为78.875。注意:部分源程序在文件PROG1 . C中。 请勿改动主函数main和其他函数中的任何内容,仅在
4、函数fun部位中 填入你编写的若干语句。include Mdrfinc N 8typed Mrvrtchar num, 10 );Joubk A N J ;double avr;| STREC;void fun( STREC a)niain()I STREC s| GA(X)5M ,85.5,76,69.5,85,91.72.64.5.87.51 ; intvoid NONO();fun( );prinlf( * The student dU: n” m, num):fbr(i -0;i |IGAOO5J85.5,76.69.5.85,91,72.64.5J7.5I . I *CA00I.82
5、.5.66.76.5,76.89.76,46. 5J8.51 , |wGA002- .72,5.56.66 5.66.79.68,46.5.58.51 . I-GA003 ,92.5.76,86.5,86.99.86,56.5.88.5 I |w GA004- .82,66.5,46. 5.56,76.75.76.5.63.51 . |n181.79,64.5,71.5!. | - GA007- .92.5.61.72.5.84.79.75.66.5,72.51 .| GA008” .72.5,86.73,5.80,69,63.76.5,53.5!.GA009- ,66.5.71.74.5.7
6、0,61.82.86.5.53. 51 .|wCA0I0- .76.66.5.75.5,60.76.71,96.5,93.51 , houl - fopcn( mH. dal w);for(i x 0 ; i IQ ; i+ + )1 fun( i );fprintf(outtM%7.3fn . .! i J . uve);out):26.使用VC+2010打开考生文件夹下progl中的解决方案。此解决方案 的项目中包含一个源程序文件progl.co在此程序中,请编写函数fun(), 其功能是将放在字符串数组中的M个字符串(每个字符串的长度不超过 N),按顺序合并成一个新的字符串。例如,若字符
7、串数组中的M个字符串为|“AAAA”,“BBBBBBB”, “CC”|,则合并后的字符串内容应该是“AAAABBBBBBBCC”。注意:部分源程序给出如下。请勿改动主函数main()和其他函数中的任何内容,仅在函数fun()的花 括号中填入你编写的若干语句。试题程序:#include #include #define M 3#define N 20void fun (char aMN, char b) ()void main ()(char wMN=“AAAA”JBBBBBBB: CC”;char al 00= #;int i;printffThe string:n);for(i=0; b”
8、pbputs(wi);printf(rT);fun(w,a);printf (“The A stringAn);printf(%sa);printf (nn);27.学生的记录由学号和成绩组成,M名学生的数据已在主函数中放人 结构体数组stu中。请编写函数proc (),它的功能是:函数返回指定成 绩的学生数据,指定的成绩在主函数中输入。若没找到指定的成绩,在 结构体变量中给学号置空串,给成绩置-1,作为函数值返回。注意:部 分源程序给出如下。请勿改动main ()函数和其他函数中的任何内容, 仅在函数proc ()的花括号中填人所编写的若干语句。试题程序:,include 4 include
9、 样 define M 16lypedef structchnr num 10J tint 5iSTRECgSTREC proc(STREC a. int b) void main()J ISTREC stuM- WGAOO5*.76. J*GAO1262h (GAO146OMGAOir,73hCGAO17%72.(“GA018-.98) JGA016%94) iSTREC hi int mi int it print(CThe original data:nw) i (or(ics0ii B) i print n%s %dnh num.h. s) i printf(*n*)iI28.请编写函
10、数proc (),它的功能是:求出11000中能被5或13整除, 但不能同时被5和13整除的所有整数,并将它们放在arr所指的数组 中,通过n返回这些数。注意:部分源程序给H如下。请勿改动main()函数和其他函数中的任何内容,仅在函数proc ()的花括号中填入所编写的若干语句。试题程序:力 include Vconi。. hA include V*ldio. hU include Vxldlib. hvoid proctini . arrint * n) void main()int arrf 1000 n ki systcm( CLSM); proc(arr. &n) s fork,0$
11、lcViuk+ + ) if(k+l)%10-0) print(M%5d H .iirtfkj);phntf(Mn M): 一行写 10 个数else print5d *tarrk)i29.规定输入的字符串中只包含字母和。号。请编写函数fun,其功能是: 将字符串尾部的。号全部删除,前面和中间的*号不动。例如,字符中中的内容为 A BC DEF C 2*除后,字符串中的内容应当 是广 ABCDEFC在编写函数时.不利使用C语言提供的字符串函数。注意:部分源程序在文件PR0G1.C中。.请勿改动主函数main和犬他函数中的任何内容.仅在函数fun的花括号中填入你编写的若干语句。tinclude
12、void fun( char * a ) main()I char s81nxid NONO(); printf( M Enter a string: nw ) ;get(s);e wiring after deleted: nM ) ;puU(s); NONO( ) I.void NONO()|/本函数用于打开文件,输入数据,利用函数.输出数据,关闭文件。/ FILE in, oul ; ini i ; char s 81 ;in = fopen(Bin. daX-.wr*);out = fopen(Nout. dalH .*);for(i = 0 ; i m ifwludc Vcorm h
13、) rauf proof char Mr)voed nutnciuiF .(Bl :.pnntf( Enter Mrtng in*) tprocM)ipnntf * Th* WEg afirr drlri四、2.程序修改题(10题)31 .给定程序M0D11 . C中函数fun的功能是:用下面的公式求兀的近似值,直到最后一项的绝对值小于指定的数(参数num)为止:n . i 1 1 I+ 43 5 7例如,程序运行后,输入0 . 0001,则程序输出3 . 1414O请改正程序中的错误,使它能输出正确的结果。注意:不要改动smain函数,不得增行或删行,也不得更改程序的结构!456789101
14、11213141516171819pi pi * 4return pi ;main (),include ! tinclude ;float fun (float num) int s ; float n, t, pi ;/found,” while(t = num)( pi = pi + t ;n n + 2 ;3 -S ;*found*/t s % n ;20 ; (21 22 ;23 :24 j25 ; )float nl, n2 ;printf(wEnter a float number:w);scanf&nl);n2 fun(nl);printf(w%6,4fnw. n2);32.下
15、列给定程序中,函数fun()的功能是:用选择法对数组中的n个元素按从小到大的顺序进行排序。请改正程序中的错误,使它能得到正确结果。注意不要改动main函数,不得增行或删行,也不得更改程序的结构。试题源程序#include #define N 20void fun(int a, int n) int i,j, t, p;for(j=0;j n-l;j+) /* found* p 二jfbr(i=j; i n; i+) if(ai ap)/ kL*vi*kL*。1vl* kL*/不不不不不不不不不不不tciind不不不不不不不不不另 p=j;t=aP;ap=aj; aj=t; ) msin()(i
16、nt a N=(9, 6, 8, 3,-1), i, m=5;printf(排序前的数据巧;for(i=0; i m; i+)printf(n%d ai); printf(unn);fun(a, m);printf(排序后的数据for(i=0; i m; i+)printf(n%dn, ai); printf(Hnn);)33.下列给定程序中,函数fun()的功能是:给一维数组a输入任意4个 整数,并按如下的规律输出。例如输入1, 2, 3, 4,程序运行后输出以 下方阵:4 12334 12234 11234yl=(x+8)2-2(x+8)+6y2=sin2(x)-2sin(x)+6请填空。
17、double fun(double x)return(x*x-2*x+6) ; double x, yl, y2 ;printf(nEnter x :“); scanf(n%lf &x);yl=fun( 6);y2=fun( 7);printf(yl=%lf, y2=%lfn, yl, y6 .下面程序把从终端读入的文本(用作为文本结束标志)输出到一个 名为bi . dat的新文件中,请填空。#include nstdio . hFILE *fp ;main() char ch ;if(fp=fopen( )=NULL)exit(O);while(ch=getchar()!=f)fputc(c
18、h,fp);fclose(fp);)7 .数据流图有两种典型的结构形式,它们分别是变换型和【8 .设有以下定义变量的语句,并且已赋确定的值,则表达式“W*X+Z-y”请改正程序中的错误,使它能得出正确的结果。注意;不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序;#include #define M 4/ / /rj*rywrj*ry* rj*/void fun(int a)int i,j,k,m;printf(nEnter 4 numbe亡);for (i=0; i 0; i)/vl#vl*/ 一卜、彳、,、,j、,J、/aj=a0+l;a0=k;for (m=0 ;m
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 甘肃省 天水市 全国 计算机等级考试 语言程序设计 预测 试题 答案
限制150内