4.1 C语句概述
1.控制语句
if( ) ~ else ~
return
2.函数调用语句
printf( );
3.表达式语句
表达式;
a=2;
x+y;
4.空语句
;
5.复合语句
{a=3;
b=4;
c=a+b;
}
4.2 数据输出
1.putchar函数(字符输出函数)
一般形式:
putchar(c);
c可以是字符常量、变量或整型常量、变量(0 ~ 255)。
说明:该函数包含在stdio.h库中。
例1
#include "stdio.h"
main( )
{char x;
int y;
x= ’d’;
y=65;
putchar(x);
putchar(’\n’);
putchar(’h’);
putchar(y);
putchar(66);
}
2. printf函数(格式输出函数)
格式字符:
⑴ d格式符,用来输出十进制整数。
例2
main( )
{int a,d;long b;
a=32,d=2679;b=40000;
printf(”%d,%d\n”,a,d);
printf(”%3d,%3d\n”,a,d);
printf(”%ld\n”,b);
printf(”%7ld\n”,b);
}
⑵ o格式符:以八进制无符号形式输出整数。
⑶ x格式符:以16进制无符号形式输出整数。
⑷ u格式符:输出unsigned型数据。
例3
main( )
{unsigned x=65535;
int y=-2;
printf(x=”%d,%o,%x,%u\n”,x,x,x,x);
printf(y=”%d,%o,%x,%u\n”,y,y,y,y);
}
输出结果:
x=-1,177777,ffff,65535
y=-2,177776,fffe,65534
⑸ c格式符:用来输出一个字符。
char x=’D’; int k=68;
printf(”%5c\n”,x);
printf(”%c\n”,k);
⑹ s格式符:用来输出一个字符串。
⑺f格式符:以小数形式输出实数。
例4
main( )
{float a,b,c; double x,y;
a=111111.111; b=222222.222;
printf(”%f\n”,a+b);
x=1111111111111.11111;
y=2222222222222.22222;
printf(”%f\n”,x+y);
}
输出结果:
333333.328125
3333333333333.333010
例5
{float x=123.568;
printf("%f,%12f,%-12.3f,%12.2f,%.3f \n ",x,x,x,x,x);
}
输出结果:
(8)e格式符:以标准指数形式输出实数。
printf("%e,%10.2e",123.456,123.456);
4.3 数据输入
1.getchar函数(字符输入函数)
一般形式:
getchar( );
例6
2.scanf函数(格式输入函数)
一般形式:
scanf(格式控制,地址表列)
例7
main( )
{int a,b,c;
scanf("%d%d%d",&a,&b,&c);
printf("%d,%d,%d\n",a,b,c);
}
- 一个或多个空格
- 回车键
- 跳格键Tab
例如:
scanf("%d,%d,%d",&a,&b,&c);
1,2,3
scanf(“a=%d,b=%d,c=%d",&a,&b,&c);
a=1,b=2,c=3
scanf("%3d%3d",&a,&b);
123456
scanf("%3c",&ch);
abc
scanf("%2d%*3d%2d",&a,&b);
1234567
scanf("%c%c%c",&a,&b,&c);
u v w
4.4 程序举例
例8 输入三角形的三边长,求三角形面积。
#include "math.h"
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("area=%5.2f\n",area);
}
例9 键盘输入一个大写字母,改用小写字母输出。
# include " stdio.h "
main( )
{char c;
c=getchar( );
c=c+32;
putchar(c);
}
# include "math.h"
main( )
{float a,b,c,delta,x1,x2,p,q;
scanf("%f,%f,%f ",&a,&b,&c);
delta=b*b-4*a*c;
p=-b/(2*a);
q=sqrt(delta)/(2*a);
x1=p+q;
x2=p-q;
printf("\n\nx1=%5.2f\nx2=%5.2f\n",x1,x2);
}