C语言结构
C语言的语句用来向计算机系统发出操作指令。
C语句分为以下五类:
(1)控制语句(C只有9种控制语句)
(2)函数调用语句:由一个函数调用加一个分号构成
(3)表达式语句:由一个表达式加一个分号构成
(4)空语句 ;
只有一个分号的语句,什么都不做
(5)复合语句:用{}将一些语句括起来成为复合语句(分程序)
赋值语句
由赋值表达式加上一个分号构成。
具有其他高级语言的赋值语句的一切特点和功能。
不同点:1 C语言中赋值号“=”是一个运算符
2 其他多数语言没有“赋值表达式”这一概念
输入输出是以计算机主机为主体而言的
字符数据的输入输出
1.putchar函数:单字符输出
putchar(c)输出字符变量c的值,c可以是字符型变量或整型变量。
2.getchar函数:单字符输入
缓冲区:(FIFO)先进先出,如果代码处要求输入四个字符,而只写了两个字符,此时按回车并不会结束,而是要在输入一个字符,按下回车相当于一个"\n"(换行)。
int main(void)
{
char c1, c2, c3, c4;
c1 = getchar();
c2 = getchar();
c3 = getchar();
c4 = getchar();
putchar(c1);
putchar(c2);
putchar(c3);
putchar(c4);
return 0;
}
格式输入与输出
1.printf函数
向终端输出若干个任意类型的数据
2.scanf函数
“格式控制”含义同printf函数;“地址列表”
使用printf和scanf的注意点
(1)输入/输出的数据类型要与格式字符严格匹配,否则可能导致错误或未定义的行为。
(2)scanf函数要求提供变量地址,printf则直接使用变量名。
(3)输入多个数据时,scanf格式控制串中若无间隔符,可用空格、制表符或回车键分隔;若有非格式字符作间隔符,则输入时也要加上相应字符。
(4)对于scanf的字符输入,若格式控制串中无非格式字符,所有输入字符均有效;对于字符串输入(%s),要防止输入字符串过长导致缓冲区溢出。
(5)printf和scanf函数均无精度控制,如scanf("%5.2f",&a);和printf("%5.2f",a);都是非法的。
举例
输入三角形三边长,求三角形面积。
int main(void)
{
printf("input a,b,c\n");
double a, b, c;
scanf("%lf%lf%lf", &a, &b, &c);
double s;
s = (a + b + c) / 2;
double area;
area = sqrt(s * (s - a) * (s - b) * (s - c));
printf("%f", area);
return 0;
}