四五六章要点整理图:
第四章例题:
- 例题4.1
- #include<stdio.h>
- void main()
- {
- char a,b,c;
- a='B';b='O';c='Y';
- putchar(a);putchar(b);putchar(c);putchar('\n');
- }
- 例题4.2
- #include<stdio.h>
- void main()
- {
- char c;
- c=getchar(); /*输入字符*/
- putchar(c);
- putchar('\n');
- }
- 例题4.3
- #include<stdio.h>
- void main()
- {
- unsigned int a=65535;
- int b=-2;
- printf("a=%d,%o,%x,%u\n",a,a,a,a); /*在16位机上a的%d输出变为-1,32位机不变*/
- printf("b=%d,%o,%x,%u\n",b,b,b,b); /*16位机与32位机输出%u不同*/
- }
- 例题4.4
- #include<stdio.h>
- void main()
- {
- char c='a';
- int i=97;
- printf("%c,%d\n",c,c);
- printf("%c,%d\n",i,i);
- }
- 例题4.5
- #include<stdio.h>
- void main()
- {
- printf("%3s,%7.2s,%.4s,%-5.3s\n","CHINA","CHINA","CHINA","CHINA");
- }
- 例题4.6
- #include<stdio.h>
- void main()
- {
- float x,y;
- x=111111.111;y=222222.222;
- printf("%f\n",x+y); /*只有前7位是有效数字*/
- }
- 例题4.7
- #include<stdio.h>
- void main()
- {
- double x,y;
- x=1111111111111.111111111;
- y=2222222222222.222222222;
- printf("%f\n",x+y); /*最后3位无意义*/
- }
- 例题4.8
- #include<stdio.h>
- void main()
- {
- float f=123.456;
- printf("%f %10f %10.2f %.2f %-10.2f\n",f,f,f,f,f);
- }
- 例题4.9
- #include<stdio.h>
- void main()
- {
- int a,b,c;
- scanf("%d%d%d",&a,&b,&c); /*输入数字时用空格分开*/
- printf("%d,%d,%d\n",a,b,c);
- }
- 例题4.10
- #include<stdio.h>
- #include<math.h> /*程序中用到sqrt*/
- void main()
- {
- float a,b,c,s,area;
- scanf("%f,%f,%f",&a,&b,&c); /*注意输入的是三角形三边,不要不满足三角形的条件*/
- s=1.0/2*(a+b+c);
- area=sqrt(s*(s-a)*(s-b)*(s-c));
- printf("a=%7.2f, b=%7.2f, c=%7.2f, s=%7.2f\n",a,b,c,s);
- printf("area=%7.2f\n",area);
- }
- 例题4.11
- #include<stdio.h>
- void main()
- {
- char c1,c2;
- c1=getchar();
- printf("%c,%d\n",c1,c1);
- c2=c1+32;
- printf("%c,%d\n",c2,c2);
- }
- 例题4.12
- #include<stdio.h>
- #include<math.h>
- void main()
- {
- float a,b,c,disc,x1,x2,p,q;
- scanf("a=%f,b=%f,c=%f",&a,&b,&c); /*注意输入格式*/
- disc=b*b-4*a*c;
- p=-b/(2*a);
- q=sqrt(disc)/(2*a);
- x1=p+q;x2=p-q;
- printf("x1=%5.2f\nx2=%5.2f\n",x1,x2);
- }