C语言——三大结构

一.顺序结构

1.语句按照一定先后顺序去执行。

二.选择结构

1.单分支if选择结构(先判断表达式是否成立,如果成立,就执行语句)

if(表达式)
{
语句;
}

2.双分支if选择结构(先判断表达式是否成立,如果成立,则执行语句1,否则,执行语句2)

if(表达式)

{

语句1;

}

else

{

语句2;

}

案例:输入一个年份,判断该年为平年还是闰年

#include <stdio.h>

//案例:输入一个年份,判断该年为平年还是闰年

int main(void)
{
    int year = 0;
    printf("请输入你想要判断的年份:\n");
    scanf("%d",&year);
    if(0 == year%4 && 0 != year%100 || 0 == year%400)
    {
        printf("%d年为闰年\n",year);
    }
    else
    {
        printf("%d年为平年\n",year);
    }
    return 0;
}

3.多分支if选择结构(从上往下,依次去判断表达式是否成立,如果表达式成立,则执行对应的语句)

If(表达式1)

{

语句1;

}

else if(表达式2)

{

语句2;

}

else if(表达式3)

{

语句3;

}

。。。。

else  if(表达式n)

{

语句n;

}

else

{

语句n+1;

}

案例:输入成绩,判断成绩的等级

90+:AAA

70-90:BBB

60-70:CCC

60以下:DDD

#include <stdio.h>

//输入成绩,判断成绩的等级

//90+:AAA

//70-90:BBB

//60-70:CCC

//60以下:DDD

int main()
{
    int grade = 0;
    printf("请输入你想要判断的成绩:\n");
    scanf("%d",&grade);
    if(grade >= 90)
    {
        printf("AAA\n");
    }
    else if(grade >= 70)
    {
        printf("BBB\n");
    }
    else if(grade < 70 && grade >= 60)
    {
        printf("CCC\n");
    }
    else
    {
        printf("DDD");
    }
    return 0;
}

 4.switch语句

switch(表达式)

{

case 标号1:

                语句1;

case 标号2:

                语句2;

case 标号3:

                语句3;

。。。。

case 标号n:

                语句n;

    default:

                语句n+1;

}

注意:

(1)表达式不能为float类型;

(2)标号必须为常量;

(3)当表达式等于标号时,就冒号后面的语句,直到switch,case语句结束为止,或者遇到break语句结束。

案例:输入年份、月份、判断该年该月有多少天?

#include <stdio.h>

//输入年月,判断该年该月有多少天
//1,3,5,7,8,10,12----31天
//4,6,9,11--------30天
//2月:闰年:29天
       平年:28天

int main(void)
{
    int year = 0;
    int montn = 0;
    printf("请输入你要判断的年月:\n");
    scanf("%d%d",&year,&month);
    switch(month)
    {
        case 4:
                
        case 6:
        case 9:
        case 11:
                printf("%d年%d月有30天\n",year,month);
                break;
        case 2:
                if(0 == year%4 && 0 != year%100 || 0 == year%400)
                {
                    printf("%d年%d月有29天\n",year,month);
                }
                else
                {
                    printf("%d年%d月有28天\n",year,month);
                }
                break;
        default:
                printf("%d年%d月有31天\n",year,month);
    }
    return 0;
}

三.循环结构

1.for循环(先执行表达式1,然后执行表达式2,如果表达式2为真,执行循环体,然后执行表达式3;如此反复,当表达式2为假时,结束循环)

for(表达式1;表达式2;表达式3)

{

循环体;

}

表达式1:循环的起始条件

表达式2:循环的终止条件

表达式3:循环变量的变化

案例:用for循环实现1-100求和

#include <stdio.h>

//用for循环实现1-100求和

int main(void)
{
    int i = 0;
    int sum = 0;
    for(i=0;i<=100;i++)
    {
        sum += i;
    }
        printf("sum = %d\n",sum);
        printf("i = %d\n",i);
    return 0;
}

2.while语句(判断表达式是否成立,如果成立,就执行循环体,反之,跳出循环

While(表达式)

{

循环体;

}

案例:使用while语句实现1-100之和

#include <stdio.h>

//用while实现1-100求和

int main(void)
{
    int i = 0;
    int sum = 0;
    while(i<=100)
    {
        sum += i;
        i++;
    }
        printf("sum = %d\n",sum);
        printf("i = %d\n",i); 
    return 0;
}

3.do..while语句(先去执行循环体,然后判断表达式是否成立,如果成立,就继续去执行循环体内的语句,否则,结束循环)

do

{

循环体;

}while(表达式);

案例:实现1-100之和

#include <stdio.h>

//用do while实现1-100求和

int main(void)
{
    int i = 0;
    int sum = 0;
    do
    {
        sum += i;
        i++;
    }while(i<=100);
        printf("sum = %d\n",sum);
        printf("i = %d\n",i);
    return 0;
}

4.死循环

(1)

while(1)

{

循环体

}

(2)

for(  ; 1 ;  )

{

循环体

}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值