(分支语句)选择语句和循环语句
什么是语句——c语言中有一个分号;隔开的结束一条语句。
#include<stdio.h>
int main()
{
int a = 0;
; //这也是语句——空语句
printf("%d",a);
return 0;
}
分支语句(选择结构)if
#include<stdio.h>
int main()
{
int a = 20;//定一个年龄变量a
if (a < 18)//如果小于18岁,则输出下面两行
{
printf("未成年\n");
printf("不能谈恋爱\n");
}
else//当大于18岁就来到这里
{
if (a >= 18 && a < 28)//如果大于18且小于28
printf("青年\n");//输出青年
else if (a >= 28 && a < 50)//如果大于28且小于50
printf("壮年\n");//输出壮年
else if (a >= 50 && a < 90)//如果大于50小于90
printf("老年\n");//输出老年
else//否则其他情况输出老不死(a>90)
printf("老不死\n");
}
}
switch语句
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int day = 0;
scanf("%d", &day);
switch (day)//判断day为多少,是几就进入case 几 注意switch(整形表达式)
{
case 1://case 整形常量表达式:
printf("星期一\n");
break;//出口
case 2:
printf("星期二\n");
break;//break不是一定要加上,根据情况处理
case 3:
printf("星期三\n");
break;
case 4:
printf("星期四\n");
break;
case 5:
printf("星期五\n");
break;
case 6:
printf("星期六\n");
break;
case 7:
printf("星期七\n");
break;
}
}
#include<stdio.h>
int main()
{
int n = 1;
int m = 2;
switch (n)
{
case 1: m++;//这里m等于3
case 2: n++;//这里n2
case 3:
switch (n)//switch允许嵌套使用
{
case 1: n++;
case 2: m++; n++; break;//因为n等于2了所以到这里运算完m=4,n=3
}
case 4:m++;//到这m=5,n=3
break;
default:
break;
}
printf("m = %d, n = %d\n", m, n);//打印m=5,n=3
}
循环语句 while
#include<stdio.h>
int main()
{
int i = 1;
while(i<100)
{
if(i%2 == 1)i模2余数为1
priontf("%d ",i);//输出0-100的所有奇数
i++;
}
}
#include<stdio.h>
int main()
{
int a = 1;
while (a < 100000000)//如果a小于100000000
{
printf("%d\n", a);//输出a
a++;//a加一返回到上面
}
}
break在while循环中的作用是终止循环
continue是终止本次循环,跳转到while语句的判断部分,进行下一次循环的判断入口
悬空else
#include<stdio.h>
int main()
{
int a = 0;
int b = 2;
if(a==1)//这个结果为假,也没有else相匹配,所以不往下运行
if(b==2)//和下面的else匹配
printf("hehe\n");
else//此时这个else是和上面那个if匹配的
printf("haha\n"); //这里不输出内容
} //else会和离得最近的未匹配的if匹配
//所以代码书写格式很重要