一、顺序
二、选择
三、循环
一、顺序
1.1、概念:
语句自上而下顺序执行,执行完上一个语句,无条件的执行下一个语句
二、选择
2.1、概念:
根据某个条件判断是否执行指定的操作任务,C语言提供if
语句实现两个分支的选择;switch
语句实现多分支的选择
2.2、if语句的三种形式
2.2.1、没有else子句,if(表达式) 语句1
;如:if(a > b) max = a;
2.2.2、有else子句if(表达式)
if(表达式)
语句1
else
语句2
2.2.3、在else部分嵌套多层的if语句
if(表达式1) 语句1
else if(表达式2) 语句2
...
else if(表达式m) 语句m
else 语句m+1
2.3、switch语句,多分支选择结构
2.3.1、一般形式,注意switch后面括号内的表达式类型为整数类型(包括字符型)
switch(表达式)
{
case 常量1:语句1
case 常量2:语句2
...
case 常量n:语句n
default: 语句n+1
}
三、循环
3.1、while语句实现循环
3.1.1、一般形式:while(表达式) 语句
例:求1+2+3…+100;
#include <stdio.h>
int main()
{
int i = 1;
int sum = 0;
while(i <= 100)
{
sum = sum + i;
i++;
}
printf("%d\n",sum);
}
//输出为5050
3.2、do…while语句实现循环
3.2.1、一般形式,不同与while循环,do…while循环首先会无条件执行循环体一次
do
语句
while(表达式);
例:比较下面两段程序,可以发现do,while循环的无条件执行
int i;
int sum = 0;
printf("please input i:");
scanf("%d",&i);
while(i <= 10)
{
sum = sum + i;
i++;
}
printf("%d\n",sum);
/*输入11,输出0*/
int i;
int sum = 0;
printf("please input i:");
scanf("%d",&i);
do
{
sum = sum + i;
i++;
}while(i <= 10);
printf("%d\n",sum);
/*输入11,输出11*/
3.3、for语句实现循环
3.3.1、一般形式
for(表达式1;表达式2;表达式3) 语句
表达式1:初始条件只执行一次,可以为0个,1个或多个
表达式2:判定是否继续循环
表达式3:执行完循环体后才进行
3.3.2、执行过程
(1)先求解表达式1
(2)求解表达式2,若为真,则执行循环体,执行第(3)步
(3)求解表达式3,再转回步骤(2)
(4)若表达式2为假,循环结束
例:用for循环求1+2+…+100;
#include <stdio.h>
int main()
{
int i;
int sum = 0;
for(i = 0;i <= 100;i++)
{
sum = sum + i;
}
printf("%d\n",sum);
}
//输出为5050
3.4、改变循环状态break与continue
break语句提前终止循环,结束循环体
continue语句结束本次循环
例:
#include <stdio.h>
int main()
{
int i;
int j;
printf("please input i:");
scanf("%d",&i);
for(;i < 10;i++)
{
continue;
printf("continue情况下为:%d \n",i);
}
printf("please input j:");
scanf("%d",&j);
for(;j < 10;j++)
{
printf("break情况下为:%d \n",j);
break;
}
}
运行结果为: