《2024年3月计算机二级C语言考试操作题冲刺题.docx》由会员分享,可在线阅读,更多相关《2024年3月计算机二级C语言考试操作题冲刺题.docx(5页珍藏版)》请在第壹文秘上搜索。
1、2024年3月计算机二级C语言考试操作题冲刺题一、程序填空题1填空题下列给定程序中,函数fun的功能是:在形参S所指字符串中找寻与参数C相同的字符,并在其后插入一个与之相同的字符,若找不到相同的字符则不做任何处理。例如,若S所指字符串为baacda,c中的字符为a,执行后S所指字符串为zzbaaaacdaawo请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。留意:部分源程序给出如下。不得增行或删行,也不得更改程序的结构!试题程序:4索67.891。U*includevoidfun(chars,charc)(inti,j,n;/found/for(i0;si!-1;i+)i
2、f(si=c)(found/n=21;dile(si1+n!三,0*)n*;ggfor(j三inl;ji;j-Ksj+1=sj;14found/,sj+=L11;16i三i+1;IKmain()Kchars8-wbaacda,c;21printf(wnTestring:%sn,s);rintf(kilnputacharacter:w);scanf(r%cm,4c);fun(src);printfC,nTheresultis:%s参考解析:【参考答案】(I),0*(2)0(3)r【解题思路】填空Lfor语句循环条件是推断是否到达字符串结尾,即当前字符是否为i0,o填空2:WhiIe语句用以确定字
3、符串的长度,所以变量n赋初值为0。填空3:题目要求假如找到与参数C相同的字符,就在后面插入一个相同的字符,且找到后应当给数组元素赋值,本题目给出参数为c。二、程序修改题2简答题下列给定程序中函数fun的功能是:逐个比较p、q所指两个字符串对应位置上的字符,并把ASQl值大或相等的字符依次存放到C所指的数组中,形成一个新的字符串。例如,若主函数中a字符串为QBCDe甲为,b字符串为“Abed”,则C中的字符串应为aBcdeFgHw。请改正程序中的错误,使它能得出正确的结果。留意:部分源程序在文件MoDILC中,不得增行或删行,也不得更改程序的结构!*include#inc*lulcvoidfun
4、(char*pa*hr*q.charc)/*Htund*/in!k=I;*11mjim1*/while(*p!=*q)Iif(pq)ck=q;elseck=*p;if(*p)p+;if(*q)q+;main()Ichara10=maBCDpFgHM.b101=wABctc(8OJ=0,;fun(a,b.c);printf(,Thestringa:);puts(a);pnntf(Thestringb:);puts(b);printf(Theresult:);puts(c);参考解析:【参考答案】intk=O;(2)while(*p*q)【考点分析】本题考查:变量初始化,需依据题意确定变量含义,然
5、后对其进行初始化操作;WhiIe循环语句。【解题思路】(1)变量k存放数组e的下标,因此应初始化为0。(2)WhiIe循环语句的循环条件是推断两个字符串是否到达结尾。三.程序设计题3简答题规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:将字符串尾部的*号全部删除,前面和中间的*号不动。例如,字符串中的内容为:“*A为C*DEF*G*.删除后,字符串中的内容应当是:”*A*BC*DEF*G在编写函数时,不得运用C语言供应的字符串函数。留意:部分源程序在文件PRoGLC中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。WincltMk*
6、MVOidfun(lara)main()Ichars81;VoidNONO();pnntf(Enterastring:n)flrts(s):fun(s);printf(TheStri砥afterdrlrlcd:n);put(ft);NoN0();voidNONO()本函数用于打开文件,输人数据,调用函数,输出数据.关闭文件/HLE*in,out;inti;chars81;in=fopen(in.dal,r);mil三fopen(out.iaf,*w)sMi=O;i10;i+)Ifanf(in,w%sw.s);fun(*);fprintf(oul,%n.b);If*lHe(in);f!,(oul);参考解析:【参考答案】VeMdfun(chara)Iwhi(a!.,X0):/指竹指向字符申的星部/while(;/指针a指向餐后一个字母,(1)三VT;/在字符率最后加上结束标志符/【考点分析】本题考查:删除字符串尾部+号;删除的主要思想是把不删除的字符保留起来。【解题思路】对于一个字符串要删除其尾部的*号,只须要在最终一个不是*号的字符后面加上结束符号XX。详细操作为:首先找到字符串的结尾,然后从最终一个字符起先往前逐个推断是否为*号,直到找到非*号字符为止,最终在该字符后面加上结束符号0。(内容来源:厚学网)