分支
if
这里先展示一段代码
#include <stdio.h>
int main() {
int a, b,c;
while (scanf("%d %d %d", &a, &b,&c) != EOF) {
if(a==b&&b==c)
{
printf("Equilateral triangle!\n");
}
else if(a+b>c||c>a+b||b>a+c)
{
if(a==b||b==c||a==c)
{
printf("Isosceles triangle!\n");
}
else
printf("Ordinary triangle!\n");
}
else {
printf("Not a triangle!\n");
}
}
return 0;
}
if和if else 后接判断语句,括号界定语句不可去掉,else后语句在同等级if和if else判断条件都不符合时运行,i,if else和if和 else后除接单条语句外必须用代码块
switch
这里先展示一段代码
#include<stdio.h>
int main() {
int year, month;
scanf("%4d%02d", &year, &month);
switch (month)
{
case 3:
case 4:
case 5:
{
printf("spring");
break;
}
case 6:
case 7:
case 8:
{
printf("summer");
break;
}
case 9:
case 10:
case 11:
{
printf("autumn");
break;
}
case 12:
case 1:
case 2:
{
printf("winter");
break;
}
}
return 0;
}
switch后接括号,括号里填要进行判断的量
case后必须接一个空格与后面数字隔开,若switch后括号中量先符合哪个case后的数字,代码从哪个 进入依次向后运行
无符号情况运行从default进入代码, default格式与case相同
遇到代码break跳出switch语句
循环
#include<stdio.h>
int main()
{
do
{
} while (1);
while (1)
{
}
for (int i = 0; i < 10; i++)
{
}
return 0;
}
如图,从上到下依次为do-while while for语句
while后括号内是判断语句,结果为0不循环,非零循环
for语句两个分号之间是判断语句,结果为0不循环,非零循环
判断语句条件满足时,语句循环运行至下一条判断语句
判断语句条件不满足时,程序跳出循环语句向下执行
do-while
先从do开始向下运行一次循环语句再进入while判断,先做再判断,注意图中格式
while
先判断再运行,注意图中格式
for
运行顺序如图
for (1; 2; 4)
{
3
}
2语句不写默认为真 ,可能导致死循环