控制语句,描述流程图的语句;
1> 顺序结构
//--------------------------//
#include <stdio.h>
int main()
{
int a = 1;
int b = 1;
a = a + b;
a = a + b;
a = a + b;
return 0;
}
2> 分支结构
2.1> if-else
例:
//--------------------------//
int main()
{
int a = 8;
int b = 24;
int c = 1;
if (a > b) {
c = a-b;
} else if (a < b) {
c = b-a;
} else {
c = 0;
}
return 0
}
if-else 语句格式:
//--------------------------//
if (表达式) {
语句;
} else if (表达式) {
语句;
} else {
语句;
}
//--------------------------//
2.2> switch-case;
#include <stdio.h>
int main()
{
int a = 1;
int b = 1;
switch (a+b) {
case 0:
printf("a + b = 0\n");
break;
case 1:
printf("a + b = 1\n");
break;
default:
printf("a + b = 2\n");
break;
}
return 0;
}
语句格式:
switch case break default;
// 书写规范,4个关键字都不省;
//--------------------------//
switch (整型表达式) {
case 常量表达式:
语句;
break;
case 常量表达式:
语句;
break;
default:
语句;
}
//整型表达式,结果为整型的表达式;
//--------------------------//
3> 循环结构
3.1> While循环
适用:
结果已知,循环次数未知 的循环
//--------------------------//
#include <stdio.h>
int main()
{
int pin = 0;
printf("请输入密码:");
scanf("%d", &pin);
while (pin != 888) {
printf("密码错误,请重新输入:");
scanf("%d", &pin);
}
printf("OK!");
return 0;
}
?思考:这2句是不是重复了?
printf("密码错误,请重新输入:");
scanf("%d", &pin);
3.2> do-While循环
#include <stdio.h>
int main()
{
int pin = 0;
do {
printf("请输入密码:");
scanf("%d", &pin);
} while (pin != 888);
printf("OK!");
return 0;
}
格式:
do {
循换语句;
} while (条件表达式);
//--------------------------//
适合:
必须执行循环体,
才能得到判断条件的循环;
3.3> for 循环
#include <stdio.h>
int main()
{
int i;
for(i=0; i<9; i++) {
printf("%d> foreach \n", i);
}
return 0;
}
适用:
循环次数已知, 结果未知 的循环;
//--------------------------//
for (赋值表达式; 条件表达式; 循环变量表达式)
{
循环语句;
}
//--------------------------//
for (i=0; i<9; i++;)
//循环 9 次
"3个表达式写一块,容易看出次数"
"while 也可用次数,但不明显"
// foreach