资源预览内容
第1页 / 共13页
第2页 / 共13页
第3页 / 共13页
第4页 / 共13页
第5页 / 共13页
第6页 / 共13页
第7页 / 共13页
第8页 / 共13页
第9页 / 共13页
第10页 / 共13页
亲,该文档总共13页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
二级 C语言程序设计 (模仿)(本试卷考试时间 120 分钟)一、单项选择题 ( 本大题 10 道小题 ,每题 1.5 分,共 15 分),从下面题目给出A、B、C、D四个可供选用答案中选用一种对旳答案。1.下面四个选项中,均是不合法顾客自定义标识符选项是( )。 A.b-a,for,intB.P-0,do,aC.float,1a0,_AD.-123,temp,INT2.设有double n;从键盘上输入整数给变量n,对旳语句是( )。 A.scanf( n );B.scanf( n );C.scanf( %f,n );D.scanf( %lf,&n );3.设a为整型变量,不能对旳体现数学关系:10a15 C语言体现式是( )。 A.10a10 & a15D.!(a=15)4.设有定义 int a=1,b=2,c=3;如下语句中执行效果与其他三个不一样是( ) A.if(ab) c=a,a=b,b=c;B.if(ab) c=a,a=b,b=c;C.if(ab) c=a;a=b;b=c;D.if(ab) c=a;a=b;b=c;5.如下语句中,循环次数不为10次语句是( )。 A.for(i=1;i10;i+);B.i=1;doi+;while(i0) -i;D.for(i=10;i=1;i-;6.如下一维数组定义中,对旳是( )。 A.int a5 = 1,2,3,4,5 ;B.int a5 = ( 1,2,3,4,5 );C.int a1 to 5;D.int a;7.如下选项中对旳语句组是( )。 A.char s;s=BOOK!;B.char *s;s=BOOK!;C.char s10;s=BOOK!;D.char *s;s=BOOK!;8.若有定义语句:double x5=1.0,2.0,3.0,4.0,5.0,*p=x;则错误引用x 数组元素是( )。 A.*pB.x5C.*(p+1)D.*x9.下面构造体定义语句中,错误是( )。 A.struct ord int x;int y;int z;;struct ord a;B.struct ord int x;int y;int z; struct ord a;C.struct ord int x;int y;int z; a;D.struct int x;int y;int z; a;10.设有如下程序,若文本文献filea.txt中原有内容为:hello,则运行以上程序后,文献filea.txt中内容变为( )。 #include main( ) FILE *f; f=fopen(filea.txt,w); fprintf(f,abc); fclose(f); A.helloabcB.abcloC.abcD.abchello二、程序填空题 ( 本大题 2 道小题 ,每空 2.5 分,共 20 分)。1. 如下程序功能是:移动一维数组中内容,若数组中有n个整数,规定把下标从m到n-1(mn-1)数组元素平移到数组前面。例如,一维数组中原始内容为1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,m值为7。移动后,一维数组中内容应为8,9,10,11,12,13,14,15,1,2,3,4,5,6,7。#include #define N 80void fun(int *w,int m,int n) int i,j,t; for(i=m; (1) ;i+) /*数组各元素依次向后平移一种位置*/t= (2) ; for(j=n-2;j=0;j-) wj+1= (3) ; w0=t; main() int aN=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15; int i,m,n=15; printf(The original data:n); for(i=0;in;i+) printf(%4d,ai); printf(nEnter m:); scanf(%d,&m); fun( (4) ); printf(nThe result:n); for(i=0;in;i+) printf(%4d,ai); printf(n); 2. 如下程序功能是:将字符串中下标为奇数字符或ASCII码为偶数字符放入t所指数组中(规定第一种字符放在第0位中)。 例如,字符串中数据为:A2MN8XY,则输出应当是:2N8X。#include #include #define N 80void fun(char *s,char t) int i, (1) ; for(i=0;istrlen(s);i+) if( i%2 | (2) ) tj+=si; tj= (3) ; main() char sN,tN; printf(nPlease enter string s :);gets( (4) ); fun(s,t); printf(nThe result is :%sn,t); 三、操作题(一)程序调试题(3小题,第1、2小题各3处错,第3小题4处错,每改正1处得3分,共30分)1. 程序调试题1调试规定:下列程序包括 ,请按题中功能规定,调试并修改该程序(在所修改语句后加 字样注释),使其运行能得到对旳成果。将成果(波及 文献和 文献)保留到目录 中。功能阐明:求两个正整数最大公约数最常用措施是辗转相除法。该措施是以两数中较大数除以较小数,得到余数与本来较小数构成新一对数,再以较大数除以较小数,如此进行下去,直到余数为0为止,则较小数就是最大公约数。程序功能是输入两个正整数,输出它们最大公约数。例如,若输入两个正整数是21和49,则输出最大公约数是:7 。带错误原程序(见C:KSD_3_1.C):#include int main()int a,b,c;printf(请输入两个正整数:);scanf(%d%d,&a,&b);if (ab) c=a; a=b; b=c; c=a%b; while ( c=0 ) a=b; b=c;c=ab; printf(最大公约数是:%dn,a);return 0;2. 程序调试题2调试规定:下列程序包括 ,请按题中功能规定,调试并修改该程序(在所修改语句后加 字样注释),使其运行能得到对旳成果。将成果(波及 文献和 文献)保留到目录 中。功能阐明:输入一种以回车符结束字符串(少于30个字符),过滤掉所有非数字字符后转换成对应十进制整数输出(不考虑整数溢出状况)。例如输入:jdk-7u25-win7,则输出:n=7257 。阐明:字符串jdk-7u25-win7过滤掉所有非数字字符后变成十进制字符串7257,转换成十进制整数是7257 。带错误原程序(见C:KSD_3_2.C):#include int main()char str30;int i,n;printf(请输入一种字符串:);gets(str);n = 1;for (i=0;stri!=0;i+)if ( 0 = stri = 9 )n = n*10 + stri - 0;printf(n=%dn,n);return 0;3. 程序调试题3调试规定:下列程序包括 ,请按题中功能规定,调试并修改该程序(在所修改语句后加 字样注释),使其运行能得到对旳成果。将成果(波及 文献和 文献)保留到目录 中。功能阐明:入夏标志着春夏季节完毕转换,气候学上入夏原则是必要要持续5天日平均气温到达22或以上,则这持续5天中第一天为入夏日,程序功能是判断5月份与否入夏并输出有关信息。若入夏,则输出在哪一天入夏,否则输出5月没有入夏。阐明:如下程序数组t中存储了某都市5月份一种月日平均气温,数组t中下标为0元素闲置而没有运用,针对程序中给出5月份一种月日平均气温,入夏日为5月16日。带错误原程序(见C:KSD_3_3.C):#include void fun(int a,int n) int i,c; c=0; for (i=1;i 22 ) c+; if ( c=5 ) return i-5;else continue; c=0; return 0;int main() int t32=0,20,21,22,22,19,18,18,19,22,23, 22,21,20,21,20,24,22,25,24,23, 21,23,22,21,22,25,26,30,28,27,28; int d; d=fun(t,31); if ( d=0 ) printf(5月没有入夏n); else printf(5月%d日开始入夏n,d);return 0;(二)编程题(2小题,共35分,其中第1小题15分,第2小题20分)1编程题1编程规定:请按题中功能规定,编写程序并能得到对旳成果。将成果(波及 文献和 文献)保留到目录 中。程序功能:输入整数n(设100n999),以类似读数拼音格式输出该数,拼音中百、十分别使用B、S体现,格式规定参见示例。n为100倍数时不输出十位数与个位数,n为10倍数时不输出个位数,十位数为
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号