历届全国计算机等级考试二级C语言机试试卷及参考答案.doc

历届全国计算机等级考试二级C语言机试试卷及参考答案.doc

ID:55551570

大小:125.00 KB

页数:28页

时间:2020-05-16

历届全国计算机等级考试二级C语言机试试卷及参考答案.doc_第1页
历届全国计算机等级考试二级C语言机试试卷及参考答案.doc_第2页
历届全国计算机等级考试二级C语言机试试卷及参考答案.doc_第3页
历届全国计算机等级考试二级C语言机试试卷及参考答案.doc_第4页
历届全国计算机等级考试二级C语言机试试卷及参考答案.doc_第5页
资源描述:

《历届全国计算机等级考试二级C语言机试试卷及参考答案.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、历届全国计算机等级考试二级C语言机试试卷及参考答案第一套1.填空题请补充main函数,该函数的功能是:从键盘输入一个字符串并保存在字符str1中,把字符串str1中下标为偶数的字符保存在字符串str2中并输出。例如,当str1=“cdefghij”,则str2=“cegi”。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。试题程序:#include#include#defineLEN80main(){chars

2、tr1[LEN],str2[LEN];char*p1=str1,*p2=str2;inti=0,j=0;clrscr();printf("Enterthestring:");scanf(【1】);printf("***theorigialstring***");while(*(p1+j)){printf("【2】",*(p1+j));j++;}for(i=0;i

3、″%s″,str1【2】%c【3】str2【解析】填空1:本题考查对标准输入函数scanf()的调用格式,当输入字符串时,格式控制字符串为″%s″,题目要求输入的字符串保存在str1中,所以地址表列应为字符串的首地址,即为str1。填空2:本题考查对标准输出函数printf()的调用格式,当输出为字符型变量时,格式控制字符串为″%c″。填空3:题目要求将str1中下标为偶数的字符保存在字符串str2中并输出,所以printf()函数的输出表列是str22.改错题在主函数中从键盘输入若干个数放入数组中,用0结束输入并放在最后一

4、个元素中。下列给定程序中,函数fun()的功能是计算数组元素中值为负数的平均值(不包括0)。例如:数组中元素的值依次为43,-47,-21,53,-8,12,0,则程序的运行结果为-25.。请改正程序中的错误,使它能得到正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include#includedoublefun(intx[]){doublesum=0.0;intc=0,i=0;/**********************found*******

5、****************/while(x[i]==0){if(x[i]<0){sum=sum+x[i];c++;}i++;}/**********************found***********************/sum=sumc;returnsum;}main(){intx[1000];inti=0;clrscr();printf("Pleaseentersomedata(endwith0):");do{scanf("%d",&x[i]);}while(x[i++]!=0);printf("%f

6、",fun(x));}答案及评析:(1)错误:while(x[i]==0)正确:while(x[i]!=0)(2)错误:sum=sumc;正确:sum=sum/c;【解析】错误1:此处考查的是对循环条件的理解,当被判断的数组元素为0时,说明这是数组的最后一个元素,此时要跳出循环。错误2:C语言中的除法运算符是"/",而不是"\"。3.编程题请编写一个函数intfun(int*s,intt,int*k),用来求出数组的最小元素在数组中的下标并存放在k所指的存储单元中。例如,输入如下整数:23434575313443645

7、8100321135760则输出结果为6,100。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:#include#includeintfun(int*s,intt,int*k){}main(){inta[10]={234,345,753,134,436,458,100,321,135,760},k;clrscr();fun(a,10,&k);printf("%d,%d",k,a[k]);}答案及评析:in

8、tfun(int*s,intt,int*k){inti;*k=0;/*k所指的数是数组的下标值*/for(i=0;is[i])*k=i;/*找到数组的最小元素,把该元素的下标赋给k所指的数*/returns[*k];/*返回数组的最小元素*/}【解析】本题中

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。