C语言循环与分支结构

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("")(同上);

}

以上是我对循环的一点拙见,有不足的地方欢迎大家更改,补充。

  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值