二级C语言考试复习资料.docx
《二级C语言考试复习资料.docx》由会员分享,可在线阅读,更多相关《二级C语言考试复习资料.docx(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、二级C语言考试复习资料1、找出1100中其各位数的乘积大于各位数的和的所有整数#include,stdio.h,main() int k=l,s=0,m,n;printf(nM);for(n= 1 ;ns & s) printf(,%4d,n);2、编程实现:学校买校服小于50套90元一套元一条,超过50套80元一套,单件上衣60 元一件,裤子45元一条,现需购买M套上衣,N套裤子,共需多少钱?#includestdio.hmain() int m,n,s,k;printf(please input the clouth numble:m and the shirt numble:nn);sc
2、anf(d,%d”,&m,&n);if (m=n) if(m50) s=80*m;s=90*m; if(mn)k=m-n;if(n50) s=80*n+k*60;else s=90*n+k*60;)else(k=n-m;if(m50) s=80*m+k*45;else s=90*m+k*45;printf(,s=%d,s);3、如果a=l,b=2,c=0, k=2写出表达式ka?k:c?k:cb?c:a结果是C的值include nstdio.humain()(int a5b,c,k;a=4;b=5;c=l;k=6;k=ka?k:c?k:cb?c:a;printf(,k=%d,k);4、若有如
3、下定义和说明则P+1代表的是元素(aOl)的地址.1 1 11 2 25、画矩阵n=41 2 21 1 11111111 2 2 2 11n=51 2 3 2 111 2 2 2 1111111main()(int a1010,m,n,i,j; scanf(%d,&n);if(n% 2=O) m=n/2;else m=n/2+1;for(i=0;im;i-H-)for(j=i;jn-i;j+)aij=i+l;an-l-ij=i+l;a|j(i=i+l;a|jn-i-l=i+l;)for(i=0;in;i+)for(j=0;jn;j+)printf(%d,aij); printf(n);6、画n
4、层金字塔 main() int i,j,m,n;printf(please input n:n);scanf(d”,&n);for(i=l;i=n;i+)(for(j=l;j=n-l; j+) print( “); /画空格 for(k=l; k=2*i-l; k+)printf( * ); 画星号 printf(n”);)7,求下列表达式的值1)若a是int变量,a=6;则a+=a-=a*a的值是-602)若 a,b 是 int 变量,a=6,b=5;则 a%=(b%=2)的值是 03)若 x=2.5 , a=7, y=4.7 则 x+a%3*(int)(x+y)%2/4 值是 2.54)
5、a=2, b=3, x=2.5 y=2.5 贝ij (float) (a+b)/2+(int)x%(int)y 值是 2.55) int x,y,z,k;x=(y=52,z=26,k=32)后 x 的值是 326)语句 printf(d”,stramp(TEH,THE);的结果是-3 main()printf(%d,strcmp(TEH,THE);)8、找出1100中能被3整除且个位数是6的所有整数 main()(int i j;for(i=0,i10;i+)if(i* 10+6)%3=0) printf(%-4d,i*10+6);else continue; )9、假如m是一个三位数abc,
6、由a、b、c组成另一个三位数cb4则表达式是:因为 c=m% 10,b=(m/l0)% 10,a=m/l00,所以结果是:(m% 10)* 100+(m/l0)% 10)*10+m/100. 程序如下:main() (int m;printf(please input 3bit numblem=abc:nu);scanf(n%d,&m);printf(,m.a=%d,m.b=%d,m.c=%dn,m/100,(m/10)%10,m% 10);printf(,cba=%dn,(m%10)*1004-(m/10)%10)*10+m/100); )9、编程计算找出x,y,x中的最小值: void m
7、ain(void)int x=4,y=5,z=8;int u,v;u=xy?x;y;v=uz?u:z;printf(timin=%d,v);A. 10、11、写出下列程序运行结果:(1) main() int x=2,y=-l,z=2;if(xy)if (y0);结果是9630(4)main()int a=6,b=5;printf(%d,a%=(b%=2);结果是0(5)#define P x+xmain()(int x=5,y;y=P*P;printf(d”,y);结果是35(6)main()(int a=12,b=12;printf(44%d %d”,a,+b)结果是11 13(7)mai
8、n() int a=2,b=3,c;c=1.0/b*a;printf(,n%d,c);结果是0和下面程序对比有什么不同 main()(int a=2,b=3;float c;c=1.0/b*a;printf(nn%f,c);1(8)main()int y=10;while(y); printf(y=%d”,y);结果是-1(9)int f(int x)(static int m=0;m+=2;return (m+x);main()(inti;for (i=l;i=4;i+)printfC%d, v,f(i);结果是 3, 6, 9, 12,(10)#includeMstring.hMvoid
9、fun(char *w,iny m)(char s,*p,*p2;pl=w;p2=w+m-l;while(plp2)s=*p l+;*pl=*p2;*p2=s;)main()char a(=,abcdefg;fun(a,strlen(a);puts(a);结果是agaagag(ID#includevoid main(void)int x=10,*p;p=&x;printf(%d”,*p);)结果是1012)#includevoid main(void)int i,s=0;for(i=l;i8;i+=2)s+=i;printf(s=”,s);)结果是s=1613)#include#define
10、sub(x,y) x-yvoid main(void)(int x,y,z;x=4;y=3;z=12-sub(x,y);printf(z=%d”,z);结果是513)#includevoid main(void)int i,s,d10=21,33,45,7,3,113,67,75,83,26);s=0;for(i=0;i 10;i+=2);if(d|i%3!=0)s+=si;printf(44s=%d,s);)结果是s=15014) #includevoid main(void)int x,/*p;p=&x;*p=100;printf(M%dx);结果是10015)#include void
11、main(void)int x=l,y=0,a=0,b=0;switch(x)case 1:switch(y)case 0:a+;break;case l:b+;break;)case 2:a+;b+;break;)printf(a=%d,b=%dM,a,b);结果是a=2,b=l16)#includevoid main(void)int x,*p;x=3;p=&x;*p*=10;printf(4tx=,x);结果是x=3017) a=10;b=0;do b+=2;a-=2+b; while(a=0);执行次数是312编程实现去掉一个英语句子中多余空格 main()(char c80=I am
12、 16.M;int flag=0,i=0;for(i=0;ci!=0,;i+)if(ci!=) printf(M%cH,ci);flag=l;else if(ci=f & flag=l) printf(H%cM,ci);flag=O;)13、编程实现输入一组数,输出偶数include stdio.h#includenmath.hMmain()for(i=0;i10;i+4-) ai=rand();for(i=0,j=0;il 0;i+) if(ai%2)=0) bj+=ai; else continue;fbr(i=O;ij;i+) printfCH%d,M,bi); )14、编程求最大公约数
13、和最小公倍数 main()(int a,b,p,temp,t; scanf(%d,%d,&a,&b);if(ab) temp=a;a=b;b=temp; p=a*b;while(b!=0) t=a%b;a=b;b=t; printf(max yo numble=%d,a); printf(main bei numble=%dp/a); 15、选择法排序 main()(int i,j,min,t,al 1;printf( input data:nM);for(i=l;i=10;i+) printfCa%dl=n,i);scanf(H%dM,&ai);)printf(nH);for(i=l;iv=
14、10;i+) printf(5d”,ai); printf(,nH);fbr(i=l;i=9;i+) (min=i;fbr(j=i+1 ;jaj) min=j;t=ai;ai=amin;amin=t; )for(i=l;i=10;i4-4-) printf(H%5dn,ai); )16写一个函数用冒泡法对十个字符排序 #includeustring.hM void sort( char a)(int i,j;char t;for(i=l;i10;i+)for(j=0;jaj+l) ( t=a|j;aj=aj+l;a|j+l=t;) main() ( inti ;char a20;gets(a)
15、;sort(a);puts(a);)17、在一组有序数中插入一个数后仍然有序 main()int al 1= 1,10,20,30,40,50,60,70,80,90);int x,n,end,i;printf(please insert data:nM); scanf(H%d,&x);if(xa9) a10=x;elsen=0;while(xan)n+;for(i=10;in;i-)ai=ai-l;an=x;for(i=0;il l;i+)18、输出乘法口诀表 main()(int i,j;for(i=l;i=9;i+)(for(j=l;j=,a, & ai=,z,) ai=ai-32;fp
16、ut(ai,fp);i+;fclose(fp);fp=fopen(44test,;Y,);fgets(a,strlen(a)+ l,fp);printf(%sn,a);fclose(fp);120 .设计一个整型函数:int GelMaxVal(int dala),求整型数组data中的最大元素值,并将该 值作为函数数值返回,其中data0记忆数组中的元素个数。将代码以cfile.cpp为名保存在 c:GATDoc目录中#includeint GetMaxVal(int dataQ),int i,max;max=datal;for(i=2;idata0;i4-+)if(maxdatai)max
17、=datai;return max;)main()int datall=l0,5.78.45.654.23.56.7.88.678,12pritnf(timax=%d, GetMaxVal(data);)21 .有1020个西瓜,第一天卖一半另加2个(即卖512个),以后每天卖剩下的一半另加2 个,问几天以后能卖完?#includevoid main(void)(int day,xl,x2;day=0;xl=1020;while(xl)x2=x 1/2+2;xl=xl-x2;day+;pri ntf(;day=% d”,day);22 .编写代码:计算1至50中能被7整除的所有自然数的和,将代
18、码以cfHe.cpp为名保存 在C:GATDoc目录中23.1. 键盘中输入三个整数a,b,x,判断x是否等于a,b之和,将代码以cfile.cpp为名保存在 C:GATDoc目录中20选择题1)下列算术运算符中,只能用于整型的是(D)A- B.+C./ D. %2)判断字符串ab是否相等应当使用(D )A. if (a=b) B.if(a=b) C.if (strcpy(a,b) D.if(strcmp(a,b)3)有int k=7,x=12;则能使值为3的表达式是(C )A. x%=(k%=5) B. x%=(x-k%5) C.x%=k+k%5 D.(k%=5)-(x%=k)4)已知int
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 语言 考试 复习资料
限制150内