1. if分支语句
语法结构:
1.以下是单纯的 if 语句,如果表达式为真,执行语句;否则为假时,不执行语句;在C语言中0为假,非0为真。
if 结构:
if(表达式)
{
语句;
}
if 结构程示例:
#include<stdio.h>
int main()
{
int a=8,b=24;
if(a<b)
{
printf("%d",b);
}
return 0;
}
2.以下是 if-else 语句,该语句用于实现双层分支结构,根据表达式的值选择语句1或语句2中的一条进行执行。首先要求表达式的值为真时执行语句1;否则为假时执行语句2。
if-else 结构:
if(表达式)
{
语句1;
}
else
{
语句2;
}
if-else结构程序示例:
//输出两个数中最大的那个
#include<stdio.h>//头文件调用
int main()//主函数(main)
{
int a=0,b=0;//定义整型(int)变量
scanf("%d %d",&a,&b);//任意输入a,b两个值
if(a>b)//如果a>b为真就执行输出a
{
printf("%d\n",a);//printf为输出函数
}
else//否则就执行输出b
{
printf("%d\n",b);
}
return 0;//返回int整型
}
3.以下是else-if语句,该语句是实现多层分支语句,如果表达式1为真,就执行语句1,否则就开始往下判断表达式2;如果表达式2为真,就执行语句2,否则就继续往下执行表达式3;依次往下判断……
else-if结构:
if(表达式1)
{
语句1;
}
else if(表达式2)
{
语句2;
}
……
else if(表达式n-1)
{
语句n-1;
}
else
{
语句n;
}
else-if结构程序示例:
// 成绩转换,将百分制转换成五分制
#include<stdio.h>
int main()
{
int score=0;
scanf("%d",&score);
if(score>=90 && score<=100)//&&该运算符是“并且”,“||”这是或运算符
{
printf("A\n");
}
else if(score>=80 && score<90)//else if后面可以写条件判断
{
printf("B\n");
}
else if(score>=70 && score<80)
{
printf("C\n");
}
else if(score>=60 && score<70)
{
printf("D\n");
}
else
{
printf("E\n");
}
return 0;
}
4.以下是if-else嵌套语,该语句用于嵌套判断,但一般建议嵌套不要超过三层,嵌套过多,代码的可读性就会下降,后期维护也会提高难度。所以一般尽量避免嵌套过多。if嵌套时,要注意 if 和 else 的配对问题,C语言规定,else 总是与它前面最近的 if 配对。大家在最初书写的时候就要养成良好的编程习惯,对齐、空格和{ }成对书写都要注意。
if-else嵌套结构:
if(表达式1)
{
if(表达式2)
{
语句1;
}
else
{
语句2;
}
}
else
{
if(表达式3)
{
语句3;
}
else
{
语句4;
}
}
if-else嵌套结构程序示例:
//成绩等级判断
#include<stdio.h>
int main()
{
int n = 0;
scanf("%d", &n);
if (n >= 60)
{
if (n >= 90 && n <= 100)//if-else 语句中嵌套else-if语句
{
printf("优秀\n");
}
else if (n >= 80)
{
printf("良好\n");
}
else if(n >= 70)
{
printf("一般\n");
}
else
{
printf("及格\n");
}
}
else
{
if (n < 0)//if-else语句中嵌套if-else语句
{
printf("NOT FOUND\n");
}
else
{
printf("不及格\n");
}
}
return 0;
}
以上就是C语言中的if分支语句及其结构,if 一般使用的比较多,无论是哪种 if 语句其实格式都是一样 if (表达式),如果表达式正确就执行,否则就不执行或执行分支。
2.switch分支语句:
switch也是一种分支语句,一般用于多且明确的情况,对于这种情况多的其实用 if 也可以完成,只不过需要很多 if 语句来完成,就显得程序很杂,很不好看,因此就有了 switch 分支语句。
以下是 switch (含有break)语句及流程图:break 代表终止的意思,遇到break则意味着终止当前的 switch 。
//switch(含break)结构
switch(常量表达式)
{
case 表达式1:语句1;break;
case 表达式2:语句2;break;
case 表达式3:语句3;break;
……
case 表达式n:语句n;break;
default:语句n+1;break;
}
switch结构程序示例:
//星期查找
#include<stdio.h>
int main()
{
int n = 0;
scanf("%d", &n);
switch (n)
{
case 1:printf("Monday\n"); break;//
case 2:printf("Tuesday\n"); break;
case 3:printf("Wednesday\n"); break;
case 4:printf("Thursday\n"); break;
case 5:printf("Friday\n"); break;
case 6:printf("Saturday\n"); break;
case 7:printf("Sunday\n"); break;
default:printf("NOT FOUND\n");//这里break可有可无
}
return 0;
}
以下是 switch (不含break)语句:
//switch(不含break)结构
switch(常量表达式)
{
case 表达式1:语句1;
case 表达式2:语句2;
case 表达式3:语句3;
……
case 表达式n:语句n;
default:语句n+1;
}
3.while和for循环语句:
while和for循环都是分支语句,可以使循环更好的表达,while循环条例清晰但是代码过多,for循环可以看作是对while语句简写;
while循环语句:
while(表达式或条件或数字(0表示假,1表示真)){
表达式;
printf(“”);(有时候打印会在循环里)
}
for循环语句:
for(i=0(赋值);i<=n(规定范围);i++(计算方式))
{
表达式;
printf("")(同上);
}
以上是我对循环的一点拙见,有不足的地方欢迎大家更改,补充。