3月9月全国计算机等级考试二级C语言上机考试题库及答案.pdf
《3月9月全国计算机等级考试二级C语言上机考试题库及答案.pdf》由会员分享,可在线阅读,更多相关《3月9月全国计算机等级考试二级C语言上机考试题库及答案.pdf(9页珍藏版)》请在咨信网上搜索。
1、第第 1 1 套套一、填空给定函数的功能是调用 fun函数建立班级通讯录。通讯录记录每位学生的编号,姓名和电话号码。班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为答案yfile5.dat的二进制文件中。答案:1.STYPE2.FILE3.fp二、修改先将在字符串 s 中的字符按正序存放到 t 串中,然后把 s中的字符按逆序连接到 t 串后面。(3)fname二、修改将 n 个无序整数从小到大排序。答案:for(i=j+1;idatat二、修改将字符串中的字符按逆序输出,单补改变字符串中的内容。答案:void fun(char*a)printf(%c,*a);三、程序比较两
2、个字符串的长度(不大写答案:int i;for(i=1;i=a&ssi=z)ssi-=32;答案:1.for(i=0;i sl;i+)2.t2*sl=0;三、程序将两个两位数的正整数 a,答案合并成一个整数放在c中。合并的方式是:将 a 数的十位和个位数依次放在 c 数的千位和十位上,答案数的十位和个位数依次放在 c 数的百位和个位上。*c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10);第第 2 2 套套一、填空从键盘输入若干行文本(每行不超过 80 个字符),写到文件答案 yfile4.txt 中,用-1作为字符串输入结束的标记。然后将文件的内容读出显示在屏
3、幕上。文件的读写分别有自定义函数 ReadText和 WriteText实现。答案:*fwstrstr二、修改从低位开始取出长整形变量s 中的奇数位上的数,依次构成一个新数放在 t 中,高位仍放在高位,低位仍放在低位。答案:long*tsl=sl*10;三、程序将两个两位数的正整数 a,答案合并成一个整数放在c中。合并的方式:将 a 数的十位和个位数依次放在 c 数的千位和十位上,答案数的十位和个位数依次放在 c 数的百位和个位上。*c=(b/10)*1000+(a%10)*100+(b%10)*10+(a/10);第第 3 3 套套一、填空将自然数 110 以及它们的平方根写到名为答案yfi
4、le3txt 的文本文档中,然后再顺序读出显示在屏幕上。答案:(1)fp(2)fclose(fp)第第 4 4 套套一、填空调用函数 fun 将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回值为 1,失败时返回值为0,在复制的过程中,把复制的内容输出到终端屏幕。主函数中源文件名放在变量sfname 中,目标文件名放在变量 tfname 中答案:“r”fsft二、修改将长整形数中每一位上为偶数的数依次取出,构成一个新数放在 t 中。高位仍在高位仍在低位。答案:if(d%2=0)s/=10;三、程序将两个两位数的正整数 a,答案合并成一个整数放在c中。合并的方式是:将 a 数的十位和
5、个位数依次放在 c 数的千位和十位上,答案数的十位和个位数依次放在 c 数的百位和个位上。*c=(a%10)*1000+(b/10)*100+(a/10)*10+(b%10);第第 5 5 套套一、填空把形参 x 的值放入一个新结点并插入到链表中,插入后结点数据域的值仍保持递增有序。答案:xps二、修改计算正整数num的各位上的数字之积。答案:long k=1;num/=10;三、程序计算 n 门课程的平均分,计算结果作为函数值返回。答案:int i;float ave=0.0;for(i=0;i=m)p=s;elsep=t;return p;第第 7 7 套套一、填空删除链表中数据域值相同的
6、结点,使之只保留一个答案:qnextnext二、修改用选择法对数组中的 n 个元素按从小到大的顺序进行排序。答案:p=j;p=i;三、程序求出 1 到答案之间(含答案)能被7或11整除的所有整数放在数组 a 中,通过 n 返回这些数的个数。答案:int i,j=0;*n=0;for(i=1;i=m;i+)if(i%7=0|i%11=0)aj=i;j+;*n=j;第第 8 8 套套一、填空在带有头结点的单向链表中,查找数据域中值为 ch 的结点。找到后通过函数值返回改结点在链表中所处的顺序号;不存在,函数返回0值答案:NULLnhead,ch二、修改删除 p 所指字符串中的所有空白字符,输入字符
7、串是用“#”结束输入。答案:for(i=0,t=0;pi;i+)ct=0;三、程序将 ss所指字符串中所有下标为奇数位置上的字母转换成第第 9 9 套套一、一、填空统计出带有头结点的单向链表中的个数,存放在形参n所指的存储单元中。答案:*nnexthead二、修改求出 s 所指字符串中最后一次出现的 t 所指子字符串的地址,通过函数返回值返回,在主函数中输出从此地址开始的字符串;若未找到,则函数值为 NULL答案:a=NULL;if(*r=*p)三、程序将 s 所指字符串中除了下标问为偶数,同时 ASCII 值也为偶数的字符外,其余的全部删除:串中剩余字符所形成的一个新串放在 t 所指的数组中
8、答案:int i,j=0;for(i=0;i strlen(s);i+=2)if(si%2=0)tj+=si;tj=0;第第 1010 套套一一 填空计算出带有头结点的单向链表中各结点数据域中值之和作为函数的返回值。答案:datanexthead二、修改将 s 所指字符串中出现的与t1 所指字符串相同的字串全部替换成 t2 所指字符串,所形成的新串放在 w 所指的数组中,在此处,要求t1 和 t2所指字符串的长度相同。答案:while(*r)*a=*r;a+;r+;三、程序将 s 所指字符串下标为偶数的字符删除,串中剩余字符形成的新串放在 t 所指的数组中答案:int i,j=0;for(i=
9、1;i strlen(s);i+=2)tj+=si;tj=0;第第 1111套套一一填空找出指定编号人员的数据作为函数值返回,由主函数输出,若指定编号不存在,返回数据中的编号为空串答案:STUstdi.numstdi二、修改从 s 所指字符串中,找出与 t所指字符串相同的字串的个数作为函数返回值答案:r+;p+;ifreturn s;三个元素按num成员进行升第第 1717 套套一、.填空序排列对形参 ss所指字符串数组中答案:*stdPERSONstd的M个字符串按长度由短到二、修改长进行排序。ss 所指字符串将 m个字符串连接起来组成数组中共有 M 个字符串,且一个新串,放入pt 所指存储
10、串长N区中答案:i+1k=jt答案:int k,q,i;二、修改pti=strki;三、程序判断 ch 中字符是否与 str 所使数组左下三角元素中的值指串中的某个字符相同;若全部值 0相同,什么也不做,若不同,答案:int i,j;for(i=0;i 则将其插在串的最后N;i+)答案:void fun(char*str,charfor(j=0;j=i;j+)ch)if(*str!=ch)aij=0;str1=0;答案:char t;int i,j;for(i=1;i num-2;i+)for(j=i+1;jnum-1;j+)if(sisj)t=si;si=sj;sj=t;第第 2020 套套
11、一、.填空求 ss所指字符串数组中长度最长的字符串所在的行下标,作为函数值返回,并把其串长放在形参 n 所指变量中。Ss 所指字符串数组中共有 M 个字符串答案:Nlen*n=len二、修改根据形参答案,计算如下公式的值(*r=0)三、程序将 s 所指字符串中 ASCII 值为偶数的字符删除,串中剩余字符形成一个新串放在t所指的数组中答案:int i,j=0;for(i=0;i strlen(s);i+)if(si%2)tj+=si;tj=0;第第 1212 套套一、填空找出指定出生年份的人员,将数据放在形参 k 所指的数组,由主函数输出,有函数值返回满足指定条件的人数答案:stdi.year
12、stdin二、修改读入一个整数k(2 k 1000),打印她的所有因子答案:分号去掉 orIsprime(int n)if(!(n%i)三、设计找出成绩最高的学生记录,通过形参指针传回主函数答案:int i,max=a0.s,j=0;for(i=1;i N;i+)if(max ai.s)j=i;max=ai.s;*s=aj;第第 1313 套套 一、填空给定程序。将该学生的各科成绩都乘以一个系数 a答案:STUscorei&std二、修改求 k!(k0)else if(k=0)三、程序使数组左下三角元素的值乘以 n答案:int i,j;for(i=0;i N;i+)for(j=0;j=i;j+
13、)aij*=n;第第 1414 套套一、.填空将形参所指结构体数组中的第第 1515 套套一、.填空将形参 std 所指结构体数组中年龄最大者的数据作为函数值返回,并在主函数中输出答案:*stdstdi.agemax.name二、修改实现两个整数的交换答案:void fun(int*a,int*b)t t=*b;*b=*a;*a=t;三、程序请编写一个函数、tt 指向一个 M 行 N 列的二维数组,求二维数组每列中最小元素,并以此放入 pp 所指一维数组中。二维数组中的数已在主函数中赋予答案:int i,j,min,k;for(i=0;i N;i+)min=tt0i;k=0;for(j=1;j
14、 ttji)min=ttji;k=j;ppi=ttki;第第 1616 套套一、.填空程序通过定义。输出这位学生的信息答案:tttt.scoreistd二、修改求出数组中最大数和次大数,并把最大数和 a【0】中的数对调,次最大数和 a【1】中的书对调答案:m=i;if(akam)m=k;三、程序请编写一个程序。w 是一个大与 10 的无符号整数,若 w是 n 为的整数,函数求出w的低 n-1 位的数作为函数值返回答案:unsignedt,s=0,s1=1,p=0;t=w;while(t10)if(t/10)p=t%10;s=s+p*s1;s1=s1*10;t=t/10;三、设计请编写一个函数把
15、 s 所指字符串中的内容逆值答案:char bN;int i=0,j;memset(b,0,N);for(j=strlen(s)-1;j=0;j-)bi+=sj;strcpy(s,b);第第 1818 套套一、填空求出形参ss所指的字符串数组中最长字符串的长度,其余字符串左边用字符*补齐,使其与最长的字符串等长,字符串数组中共有M个字符串答案:klenssij二、修改计算整数 n 的阶乘答案:result*=n-;returnresult;三、程序从 s 所指的字符串中删除给定字符。同一个字母的大小写按不同字符处理答案:char*p=s;int i=0;while(*p)if(*p!=c)si
16、+=*p;p+;si=0;第第 1919 套套一、.填空求出形参ss所指字符串数组中最长字符串的长度,将其余字符串右边用字符*补齐,使其与最长的字符串等长。Ss 所指的字符串数组中共有M 个字符串答案:ssin+j1二、修改将 p 所指字符串中每个单词的最后一个字母改成大写答案:if(*p=)*(p-1)=toupper(*(p-1);三、程序请编写函数 fun 对长多为 7个字符的字符串,除首,尾字符外,将其余 5 个字符按ASCII 降序排列答案:t+=1.0/i;returnt;三、程序编写一个函数。该函数可以统计一个长度为 2 的字符串在另个字符串中出现的次数答案:int cnt=0;
17、char*p=str,*q;while(*p)q=strstr(p,substr);if(q=NULL)break;p=q+strlen(substr);cnt+;return cnt;第第 2121 套套一、.填空求 ss所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参 n 所指变量中答案:Mk二、修改将 tt 所指字符串中的小写字母都改为对应的大写字母,其他字符不变答案:if(a=tti)&(tti=z)tti-=32;三、程序将大于 1 小于整数 m 的非素数存入 xx 所指数组中非素数的个数通过 k 传回答案:int i,j;int t=0;for(i=
18、2;im;i+)j=2;while(ji)if(i%j=0)xxt=i;t+;break;j+;*k=t;第第 2222 套套一、.填空将 s 所指字符串中的所有数字字符转移到所有非数字字符之后,并保持数字字符和非数字字符串原有的前后次序答案:j+si=t1ij二、修改用冒泡法对 6 个字符串由小到大的顺序进行排序答案:for(j=i+1;j6;j+)*(pstr+i)=*(pstr+j);三 程序求出 ss所指字符串中指定字符的个数,并返回此值答案:int cnt=0;char*p=ss;while(*p)if(*p=c)cnt+;p+;return cnt;第第 2323 套套一、.填空在
19、形参所指字符串中的每个数字字符之后插入一个*号答案:&0sj二、修改根据整形形参 m,计算如下公式的值答案:for(i=2;i=m;i+)y+=1.0/(i*i);小写字母各自出现的次数,并依次放在 pp 所指数组中答案:char*p=tt;int i;for(i=0;i=a&*p 0.000001);return x1;第第 29.29.套套一 填空将N*N的矩阵中元素值按列右移 1 个位置,右边被移出矩阵的元素绕回左边答案:NN-10二 修改计算并输出下列的前N 项之和 Sn,Sn+1 大于 q 为止,q的值通过形参传入(value);三 设计将字符串中的前导*号全部删除,中间和尾部的*号
20、不删除答案:int j=0;char*p=a;while(*p=*)p+;while(*p)aj+=*p;p+;aj=0;第第 3232 套套一.填空将N*N矩阵主对角线元素中的值域反向对角线对应位置上的元素中的值交换答案:t Ni=0;ins二 修改利用折半查找法查找整数答三 程序实现 B=A+A,即把矩阵 A加上 A 的转置,存放到 B 中答案:int c33;int i,j;for(i=0;i 3;i+)for(j=0;j 3;j+)cij=aji;bij=aij+cij;第第 2424 套套一、.填空统计形参 s 所指字符串中数字字符出现的次数,并存放在形参 t 所指的变量中,最后在主
21、函数中输出。答案:si9*t=n二、修改通过某种方式实现俩个变量值的交换,规定不予许增加语句和表达式答案:t=*x;*x=y;return(t);三、程序求出1到 1000之间能被7或11 整除,但不能同时被7 和11 整除的所有整数并将他们放在 a 所指的数组中,通过 n返回这些数的个数答案:int i;*n=0;for(i=7;i=num)t=s/n;三、程序删除一个字符串中指定下标的字符,其中,a 指向原字符,删除指定字符后的字符串存在 b 所指的数组中,n 中存放指定下标答案:int p,m=0;for(p=0;pLEN;p+)if(p!=n)bm=ap;m+;bm=0;第第 2727
22、 套套一 填空在形参所指字符串中寻找一个字符串与参数 c 相同的字符,并在其后插入一个与之相同的字符,若找不到相同的字符则函数不做任何处理答案:00c二 修改计算数组元素中值为正数的平均值答案:double sum=0.0;sum/=c;三设计根据以下公式 s,计算结果作为函数返回值,n 通过形参传入答案:int k;float str=1.0,sum=1.0;for(k=2;k=n;k+)sum=sum+k;str=str+1/sum;return str;第第 2828 套套一 填空有 N*N 的矩阵,根据给定的m 的值,将每行元素中的值均右移 m 个位置,左边置为0答案:i+mm二 修改
23、计算并输出high以内最大的10 个素数之和。High 的值由主函数传给 fun 函数答案:while(2=high)&(n10)yes=0;break;答案:s=s+(n+1.)/n;returnt;三设计求 Fibon.数列中大于 t 的最小的一个数,结果由函数返回,答案:int f0=0,f1=1,f;do f=f0+f1;f0=f1;f1=f;while(f t);returnf;第第 3030 套套一.填空有 N*N 矩阵,将矩阵的外围元素顺时针逆转,操作顺序是:首先将第一行元素的值存入临时数组 r,然后使第一列成为第一行,最后一行成为第一列,最后一列成为最后一行。临时数组中的元素成
24、为最后一列答案:0j-j二 修改计算s=f(-n)+f(-n+1)+f(0)+f(1)+f(2)+f(n)的值,答案:doublef(doublex)return s;三 设计编写函数 fun,他的功能是计算 s=ln(1)+ln(2.).ln(m)开根号答案:double s=0.0;inti;for(i=1;i amid)三 设计除了尾部的*号外,将字符串中的*号全部删除,形参 p 以指向字符串中最后的一个字符,答案:char*q=a;int j=0;while(*q&q0.001)三 设计除了尾部的*号外,将字符串中的*号全答案:int j=0;char*q=a;while(*q&qh)
25、aj+=*q+;while(*h&*p&h p)if(*h!=*)aj+=*h;h+;while(*p)aj+=*p+;aj=0;第第 3434 套套一.填空把形参 a 所指数组中的奇数按原顺序依次存放到 a【0】,a【1】.中,偶数从数组中删除,奇数个数通过函数值返回答案:1j+j二 修改求出连个非零正整数的最大公约数,并作为函数值返回答案:t=a;a=b;b=t;return(b);三 设计除了尾部的*号外,将字符串中的*号全部删除,形参答案以指向字符串中最后的一个字母,答案:int j=0;char*p=a;while(*p)if(*p!=*)aj+=*p;p+;aj=0;第第 3535
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全国 计算机等级考试 二级 语言 上机 考试 题库 答案
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。