文档介绍:第四章
概述
C语句概述
通常一个C程序由若干个函数组成,每一个函数又包括声明部分和执行部分,执行部分又由干条语句组成,每条语句总是以“;”结束。语句是用来对数据进行加工(完成操作任务),是构成程序的基本单位,
注意:C语句都是用来完成一定操作的,出现在函数体的执
行部分,作用是向计算机系统发出操作指令。声明部分的内容不应称为语句。如int a;不是一个C语句。
C语句
控制语句
函数调用语句
由一次函数调用加一个分号构成一个语句。
表达式语句
空语句
复合语句
if () ~ else ~
switch( )
for () ~
while ( ) ~
do ~ while( )
continue
break
goto
return
if (x>y)
z=x;
else
z=y;
printf("Hello!");
由表达式加一个分号构成一个语句。
a=3;
;
由{ }将一些语句括起来。
{
t=a;
a=b;
b=t;
}
C语句分类
结构化程序设计方法
自顶向下,逐步细化
模块化设计,结构化编码
选择结构程序设计
(1)if (表达式e) 语句
例:
if(x>y) printf(“%d”,x);
表达式e
语句
真(非0)
假
(0)
(单分支)
if语句
注意:在C语言中,表达式e的值为非0时,系统均按“真值”处理
如:if(‘a’) printf(“.”);
x=-5; if(x) printf(“.”);
y=0; if(y==0) printf(“.”);
if(y) printf(“.”);
#include <>
void main()
{float a,b,t;
scanf(“%f,%f”,&a,&b);
if (a>b)
{t=a; a=b; b=t;}
printf(“%,%\n”,a,b);
}
3,4
,
……
if (a>b)
{t=a; a=b; b=t;}
……
……
if (a>b)
t=a;
a=b;
b=t;
……
当某些语句作为一个整体出现的时候,必须是复合语句的形式。
3,4
,
输入两个实数,按代数值由小到大的顺序输出这两个数。
输入三个数a,b,c,要求按由小到大的顺序输出。
if(a>b)将a和b对换
if(a>c)将a和c对换
if(b>c)将b和c对换
#include <> void main ( ) { float a,b,c,t; scanf(″%f,%f,%f″,&a,&b,&c); if(a>b) {t=a;a=b;b=t;} if(a>c) {t=a;a=c;c=t;} if(b>c) {t=b;b=c;c=t;} printf("%,%,%\n",a,b,c); }
(2)if(表达式) 语句1
else 语句2
例:
if (x>y) printf(“%d”,x);
else printf(“%d”,y);
条件
语句1
语句2
Y
N
双分支
输入任意三个整数,求三个数中的最大值。
#include <>
void main()
{
int a,b,c,max;
scanf(“%d,%d,%d”,&a,&b,&c);
if (a>b) max=a;
else max=b;
if (max<c) max=c;
printf(“max=%d\n”,max);
}
#include <>
void main()
{
int a,b,c,max;
scanf(“%d,%d,%d”,&a,&b,&c);
max=a;
if (max<b) max=b;
if (max<c) max=c;
printf(“max=%d\n”,max);
}
#include <>
#include <>
void main()
{
float a,b,c,p,s;
scanf(“%f,%f,%f”,&a,&b,&c);
if (a+b>c && a+c>b && b+c>a)
{
p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
printf(“s=%\n”,s);
}
else
printf(“Not a triangle!\n