c语言考试重点_第1页
c语言考试重点_第2页
c语言考试重点_第3页
c语言考试重点_第4页
c语言考试重点_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、3.6#i nclude三角形面积的公式为已知三角形的三边长#i nclude void mai n()1;程序3void mai n()a,b,c,则该三角形的面积#in clude公式为:float x,y;void mai nchararea 、s(s a)(s b)(sx_111111.111;y_222222.20)cc仁a,c2=b,c3=c,c4=1022;int x,y;1,c5=116:printf(“n%f,x+y);scan f(%d,& x);prin tf(a%c其中s = (a+b+c)/2,据此y_-1;b%ctc%ctabc n,c1,c2,c3编写程序如下:运

2、行结果为:if(x!_0);#in clude333333.328125if(x0)y_1;#in clude显然,只有前7位数是有else y_0;prin tf(tb%c%cn,c4,c5)main ()效数字。千万不要以为凡prin tf(x_%d,y_%dn,x,y5 5是计算机输出的数字都);float a,b,c,s,area;是准确的。双精度数也可结果 aa bbcc以用%格式输出,它的有x_o,y_-1;x0,y_1;x0,y_abcscanf(“ f,%f,%f ”,&a,&b,效位数一般为 16位,给0;AN&c);出小数6位。程序43.8s=1.0/2*(a+b+c);程

3、序1#in clude#i nclude#i ncludevoid mai nvoid mai n()area=sqrt(s*(s-a)*(s-b)*(s-void mai nc);int x,y;int c1,c2;int x,y;scan f(%d,& x);c仁 97;printf(“ a=%7.2f,b=%7.2f,cscan f(%d, &x);y_0;c2=98;n” ,a,b,c,s)if(x_0)prin tf(%c%c n,c1,c2);5 5y_-1;if(x0)y_1;prin tf(%d%dn,c1,c2);elseelse y_-1;printf(“ area=%7.

4、2f ,areaif(x_0) y_0;prin tf(x_%d,y_%dn,x,y结果a b);else y_1;);97 98prin tf(x_%d,y_%dn,x,y3,9 #in clude程序第8行中sqrt函数是);x0,x_x,y_1;x_0,y_-1;xviod mai n()球平方根的函数。由于要0,y_0;调用数学函数库中的函x0,y_程序五 #includeint i,j,m, n;数,必须在程序的开头加1;main ()i=8;一条#include命令,再把程序2j=10;文件“ math.h”包含到程#i ncludeint a_3,b_4,c_5,x,y;m=+i

5、;序中来。注意,以后凡是void mai nn =j+;在程序中要用到数学函prin tf(%dn,a+bc&b_数库中的函数,都应当包int x,y;_c);prin tf(%d,%d,%d,%dn,i含“ math.h”头文件。scan f(%d, &x);,j,m, n);运行情况如下:if(x_0)prin tf(%dn,a|b+c&b-c3, 4, 6/if(x0) y_1;);9,11,9,10a=凵凵凵 3.00,凵凵 b=else y_0;【例4.10】输入三角形的凵凵凵4.00,凵凵 c=凵else y_-1;prin tf(%dn ,!(ab)&!c|二边长,求二角形面积。

6、凵凵6.00,凵凵 s=凵凵prin tf(x_%d,y_%dn,x,y|1);为简单起见,设输入的三凵 6.50);个边长a,b, c能构成三area=凵凵凵5.33prin tf(%dn ,!(x_a)&(y角形。从数学知识已知求例题4.6x0,y_b)&0);(1) a=o,输入四个整数,要求按大prin tf(%dn,!(a+b)+c-1 &(2)b*b-4ac=0,有两个相prin tf(%8.4f+%8.4fin,re小数序输出。& b+c/2);等的根。alpart,imagpart);解:此题采用依次比较的(3)b*b-4ac0,有两个不方法排出其大小顺序。在竖着的0 1 1

7、01相等的根。prin tf(%8.4f-%8.4fin,re学习了循环语句后,可以习题5.5(4)b*b-4ac0,有两个共alpart,imagpart);有更多的排序方法。有一个函数:轭复根。main ()y= ( x x1,2x-1据此编写程序如下: int t,a,b,c,d;1=x=10 )#in dcludeprintf(请输入四个与一段程序,输入x,输#i ndclude例题5.7整数:”);出y值。void mai n()#i nclude解:void mai n()sca nf(%d,%d,%,%d, &a,main ()float&b,&c,&d); int x,y;a,

8、b,c,disc,x1,x2,realpart,imint c,s;prin tf(nnprintf(”输入 x:);agpart;float p,w,d,f;scan f(%d, &x);n ,a,b,c,d);if(x1)/*xb) y=x&c);&s); t=a;a=b;b=t;printf(x=%d,prin tf(The equatio n);if(s=3000) c=12;if(ac)y=x=%d n,x,y)if(fabs(a)d)else if(xc)prin tf(x=%d,case 1:d=2:break t=b;b=c;c=t;y=2*x-1=%dn,x,y);disc=

9、b*b-4*ac;case 2:if(bd)if(fabs(disc)d) y=3*x-11;equalcase 5: t=c;c=d;d=t;printf(roots:%8.4fn,-b/(2*a);case 6:printf(n排序结果如x=%d,y=3*x-11=%delsecase 7:d=8;break;下:n);n ,x,y);if(disc1e-6)case 8:printf( %d %d d %dcase 9:n ,a,b,c,d);x1= (-b+sqrt(disc)/(2*a);case 10:运行结果:case 11:d=10;break;运行结果:(1)输入x: 4/x

10、2=(-b-sqrt(disc)/(2*a);case 12:d=15;break;请输入四个整数:6, 8,x=4 ,用 y=2*x-仁7prin tf(hasdeflaut:1 , 4/(2)输入 x: -1 /disti net real roots:%8.4fprin tf(error);x=-1 ,y=x=-1and %8.4fn,x1,x2);a=6,b=8,c=1,d=4(3)输入 x: 20/f=p*w*s*(1-d/100.0);x=20,else排序结果如下:y=3*x-11=49prin tf(freight=%15.4fn,f1 4 6 8例5.6realpart=-b

11、/(2*a););习题6.5求 a*X*X+b*x+c=0 方程解:的解imagpart=sqrt(-disc)/(2*a);运行情况如下:main ()例4.12曾介绍过基本的100, 20, 300 /算法,实际上应该有以下prin tf(hascomplexfreight=588000.0000int n1=100 ,n 2=50, n3=10;几种可能roots:n);习题5.9float k;float s1=0,s2=0,s3=0;dotemp1,temp2 ,nu mber,e nd,ia=10;for(k=1;k=n 1;k+),j;b=24;xn0=xn1;printf(初始

12、数组如下:sum=add(a,b);s1=s1+k;xn 1=(x n0+a/x n0)/2;);printf(”for(i=0;i0;i+)sum= %dn ”,sum);for(k=1;k=1e-prin tf(n ”);int add(i nt x,i nt y)s2=s2+k*k;5);printf(输入插入数据:int 乙printf(%5.2f的平方根);z=x+y;for(k=1;ke nd)运行结果:2 /a10=nu mber;sum=34printf(”总和2.00的平方根=1.41421else例1-4 求两整型数中=%8.2fn,s1+s2+s3);for(i=0;in

13、u mber)#i nclude 运行结果:解:/*计算矩阵对角兀素 temp1=ai;总和=47977.93之和*/ai=nu mber;int xmin( int x, intmain ()y )/*用户自定义for(j=i+1;j11;j+)函数*/float a33,sum=0; int m;习题6.8int i,j; temp2=aj;if ( x y )main ()printf(请输入矩阵元m = x ;素:n);aj=temp1;elsemint n ,t ,nu mber=20;for(i=0;i3;i+)=y ;float a=2,b=1,s=0;for(j=0;j3;j+

14、)temp1=temp2;return(m);for(n=1; n=nu mber; n+)sca nf(%f, &aij);break;main ()s=s+a/b;for(i=0;i3;i+)t=a,a=a+b,b=t;sum=sum+aij; int a,b,min;printf(对角元素之和printf(” 总和=%9.6fn,s);=%6.2f , sum);for(i=0;i11;i+)printf(请输入prin tf(%6d,ai);两个整型数n):运行结果:运行结果:总和=32.660259请输入矩阵兀素:运行结果sca nf(%d %d,122.55.0/初始数据如下:1

15、4 6 9&a,&b):习题6.11.41.64.9/13 16 19 28 40 100min =解:309.85.2/输入插入数据:5 /xmin( a,b ):#in cludemath.h对角兀素之和=18.801 4 5 6 9 13 16 19main ()28 40 100prin tf(n习题7.4例1-2mi nmum is %d ,mi n):float a,x n0,xn1;解:printf(请输入一个正main ()#i nclude 例 2. 1:数:n);int/* This is the main#i nclude stdio.hscan f(%f, &a);a1

16、1=1,4,6,9,13,16,19,28program */#i nclude con io.hxn 0=a/2;,40,100;main ()main ()xn仁(xn0+a/x n0 )/2;intint a,b,sum;int a=3,b=5,c;a,a);? Hello,Hel?prin tf(%c,%dn,c1,c1);c=(a+)-3) &b+?a+:printf(“ %f,%8f,%8.1fc2=c1+32;b+; 或者,%.2f,%.2en ” ,f,f,f,例c=(a+)-3) &b+|b+f,f);scanf( “ %4d%2d%2d,&yyprin tf(%c,%dn,

17、c2,c2);5 5,&m m, &dd);printf(“ %3cn”,ch);输入19991015prin tf(%d,%d,%dn,a运行输入:A,b,c);?1234,1234则 1999 yy, 10输出:A,65getch();结果:mm, 15 dda,97123.456000,123.456000,例/*ch4_14.c*/结果:a=4,b=6,c=1?123.5,123.46,1.2e+scanf( “ 3d%*4d%f ,&k,#i nclude 结果:a=4,b=6,c=502&f);#in clude 例 2.2 :?a输入main ()#i nclude stdio.

18、h例 static char a=12345678765.43 float#i nclude coni o.h“ Hello,world! ”贝 U123 k,a,b,c,disc,x1,x2,p,q;main ()8765.43 fprintf(“ %sn%15sn%1例 char c1,c2;sca nf(a=%f,b=%f,c=%f,int a=3,b=5,c;0.5sn%2.5sn%.3sn ”&a,&b,& c);,a,a,a,a,a);scanf( “ 3c%2c ,&c1,&c2disc=b*b-4*a*c;c=(a+)-3) &b+&b+运行结果:Hello,world!);p

19、=-b/(2*a);5 5输入 abcdeq=sqrt(disc)/(2*a);?Hello,world!则 ac1, dx1=p+q;x2=p-q;prin tf(%d,%d,%dn,ac2,b,c);?Hello例prin tf(nnx1=%5.2fnx2=getch();scanf( “ %2%*3d %2d.%5.2fn,x1,x2);Hello&a,&b);结果:a=4,b=5,c=0输入输入:a=1,b=3,c=2例4.1Hel12?345?67输出:x仁-1.00/*ch4_1.c*/例4.3“ - ”使用则 12 a, 67 bx2=-2.00#i nclude 例 int a

20、=1234;例main ()float f=123.456;scanf( “ %d%o%x,&a,&b,要求:从键盘输入两个整int c;static char c=&c);数a和b,char a;“Hello,world! ” ;如果a大于b则交换两c=65;a=B;printf(“ a=%d,b=%d,c=%d数,最后putchar(c);printf(“ %8d,%-8dn ”n”,a,b,c);输出两个数。putchar(n); putchar(a);,a,a);输入 123123#i nclude 123void mai n()运行结果:Aprintf(“ %10.2f,%-10.输

21、出 int a,b,t;B1fn ” ,f,f);a=123,b=83,c=291prin tf(nln puta,b:例从键盘输入大写字);例4.2printf(“ %10.5s,%-10.母,用小与子母输出例 int a=1234;3sn ”,c,c);/*ch4_13.c*/sca nf(%d,%d,&a, &b);float f=123.456;运行结果:#i nclude stdio.hif(ab) t=a; a=b;char ch= a;?1234,1234?main ()b=t;char c1,c2;prin tf(a=%d,printf(“ 8d,%2dn” ,?123.46,

22、123.5?c1=getchar();b=%dn,a,b);printf( “ %dn ” ,z);if(!v1) nu m+;要求:输入一个字符,if (ch= a ) count+;判断它是否是 65 w C w*结果是2*/x=1;ch=getchar();122之间的字符。1.分析程序运行结果#i nclude main ()elsevoid mai n() int x=1,y=0,a=0,b=0;printf(num=%dn, nu m);charc;switch(x)if(v2) x=10;prin tf(i nputacase1:x=-1;printf( “ count=%dn,

23、coucharacter:);switch(y)n t);c=getchar();printf( “ %d ” ,x);if(c=65&c=122) case 0: a+;break;例循环嵌套,输出九九prin tf(Itisa结果:-1表nu mber.n);case 1:b+;break;例用while循环求*ch5_5.c*/else/*ch6_3.c*/#i nclude printf(Itis not a#i nclude main ()nu mber);case2:main () int i,j;a+;b+;break;int i,sum=0;for(j=1;j10;j+)cas

24、e 3:a+;b+;i=1;prin tf(%4d,j);练习while(i=100)void mai n()printf( “ a=%d,b=%dn ”, sum=sum+i;printf(n -i nt year;a,b);i+;-n);prin tf(Please in putfor(i=1;i10;i+)the year:);结果:prin tf(%d,sum);for(j=1;j10;j+)a=2,b=1scan f(%d, &year);2.程序填空:以下程序用dowhile循环求prin tf(j=9)?%4dn:%if (year%4=0 &判断输入的整数能否被3*ch6_5.

25、c*/4d,i*j);year%100!=0 )| (year%400或7整除.#i nclude =0)main ()main ()printf(%d is aint x,f=0;int i,sum=0;例:求300以内能被17leap year.n,year);scanf( “ %d ”,&x );i=1;整除的最大的数。elseif1do#i nclude stdio.hprin tf(%diselse2sum+=i;void mai n()not a leap year.n,year);if(f=1)i+;int x,k;printf( “YESn ” );while(i=1;x-)【

26、例】以下程序的执行结else printf( “ NOn ” );prin tf(%d,sum);if(x%17= =0) break;果是什么?prin tf(x=%dn,x);mai n()例考虑下面程序输出结果:要求:统计输入字符的个例 break举例:输出圆intmain ()数,并统计其中有多少个面积,面积大于100时停x=2,y=-1,z=2;int字符a,用回车结束字符止x=100,a=10,b=20;输入。#define PI 3.14159if (xy)int#i nclude stdio.hmain ()if (y0)v1=5,v2=0;void mai n()z=0;if

27、(ab)charch;i ntint r;else z+=1;num=0,co un t=0;float area;if(b!=15)ch=getchar();for(r=1;r100)scan f(%d, &xi);stri ng80;void mai n()break; int a,b,c,d;max=min=x0;printf( Input a string: ” );prin tf(r=%d,area=%.2fnfor(i=1;i10;i+)sca nf(%d%d%d,&a,&b,r,area);if(maxxi)puts(stri ng);求300以内能被17整除min=xi;pri

28、n tf(Max-Mi n=%din,d的所有整数。输入: How are);#i nclude stdio.hprin tf(Maximumyou?void mai n()value is %dn,max);输出: How areint dif(int x,i nt y,i nt z)int x,k;prin tf(Mi nimumyou ?for(x=1;x=300;x+)value is %dn,mi n);例有三个字符串,return max(x,y,z)-if(x%17!=0)找出其中最大者mi n(x,y,z);con ti nue;例将二维数组行列元#i nclude prin

29、tf(%dt,x);素互换,存到另一个数组#in clude int max(int x,int y,int中main ()z)#i nclude charint r;例 求输入的十个整数main ()stri ng20,str320;r=xy?x:y;中正数的个数及其平均intint i;值a23=1,2,3,4,5,6;for(i=0;iz?r:z);#i nclude int b32,i,j;gets(stri);main ()prin tf(array a:n);int min(int x,int y,intint i,num=0,a;for(i=0;i0)z)float sum=0;

30、strcpy(stri ng,str int r;for(i=0;i10;i+)for(j=0;j=2;j+)0);r=xy?x:y;scan f(%d,&a);prin tf(%5d,aielseif(a=0) continue;j);return(r0)成绩printf(正数个strcpy(stri ng,str#i nclude 数:%d n,num);prin tf(array b:n);2);floataverage(i ntprintf(正数平均prin tf(nThestu10, i nt n);值:6.2fn,sum/num);for(i=0;i=2;i+)largest st

31、ri ng void mai n() int score10, i;数组for(j=0;j=1;j+)is:n%sn ”,stri ng);float av;例读10个整数存入数prin tf(I nput组,找出其中最大值和最prin tf(%5d,bij);例:求三个数中10 scores: n);小值最大数和最小数的差值for( i=0;i10;#i nclude prin tf(n);#in clude i+ )main ()int dif(int x,int y,intsca nf(%d,int x10,i,max,mi n;z);& scorei);prin tf(E nter10例intmax(i ntx,intin tegers:n);#i nclude y,i nt z);av=average(score,10);for(i=0;i10;i+)mai n()int min (i nt x,i nt y,i n

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论