循环与分支

2023-01-18  本文已影响0人  Tn299

流程控制

image.png

选择分支结构

C语言支持两种选择结构:

1.if选择分支结构(if判断语句)

image.png

也有if-else if -...- else
例:

int main() {
    int a = 0;
    printf("请输入一个数字:");
    scanf("%d",&a);
    if (a>10)
    {
        printf("你输入的为大于10的数");
    }
    else
    {
        printf("你输入的为小于10的数");
    }
    return 0;
}
效果: image.png

2.Switch多分支结构

image.png

例:

int main() {
    int a;
    printf("请输入a的值:");
    scanf("%d", &a);
    switch (a)
    {
    case 1:     //case后面不止可以加数字,也可以加字符‘*’
        printf("a的值为1");
        break;//跳出当前的Switch语句,每个case后面都要加
    case 2:
        printf("a的值为2");
        break;
    case 3:
        printf("a的值为3");
        break;
    case 4:
        printf("a的值为4");
        break;
    default:        //default意思为否则,也就是上面选项都不满足
        printf("a为其他的值");
        break;
    }
    return 0;
}
效果: image.png
image.png

循环结构

C语言支持三种循环结构:

1.for循环

for循环中定义的变量只能在for循环中使用,在for循环的外面无法使用。


image.png
image.png

先执行表达式1(只在最开始执行一次),然后再表达式2,再执行循环体内的内容,最后再是表达式3。然后再进行表达式2进行判断,进行循环。

1.1for循环的嵌套

也就是在一个for循环的里面再加入for循环

例: image.png

2.while循环

image.png
例: image.png

3.do while循环

image.png
image.png

跳转语句

image.png
continue
image.png

满足if语句之后(也就是i为奇数),跳出了循环,也就没有输出语句,所以最后输出的就都是偶数。

最后存一下for循环嵌套变爱心的代码:

#include <stdio.h>

int main()
    {
        int i, j, k, n, m, a, b;
        for (i = 1; i <= 3; i++)
        {
            if (i == 1)
            {
                printf("     ");
                printf("*****");
                printf("         ");
                printf("*****");
            }
            else
            {
                for (j = 1; j <= -2 * (i - 1) + 5; j++)
                {
                    printf(" ");
                }
                for (k = 1; k <= 4 * (i - 1) + 5; k++)
                {
                    printf("*");
                }
            }
            if (i > 1)
            {
                for (m = 1; m <= -4 * (i - 1) + 9; m++)
                {
                    printf(" ");
                }
                for (n = 1; n <= 4 * (i - 1) + 5; n++)
                {
                    printf("*");
                }
            }
            printf("\n");
        }
        for (i = 4; i <= 6; i++)
        {
            for (j = 1; j <= 29; j++)
            {
                printf("*");
            }
            printf("\n");
        }
        if (i == 7)
        {
            printf(" ");
            for (j = 1; j <= 27; j++)
            {
                printf("*");
            }
            printf("\n");
        }

        for (i = 8; i <= 13; i++)
        {
            for (a = 1; a <= 2 * i - 13; a++)
            {
                printf(" ");
            }
            for (b = 1; b <= -4 * (i - 7) + 27; b++)
            {
                printf("*");
            }
            printf("\n");
        }
        printf("              *");
        printf("\n\n\n");
        system("color 4a");//在此处修改背景颜色和爱心颜色 
    return 0;
}
效果: image.png
练习1:1、编写程序,计算1到100(含100)范围内除所有7的倍数之外的数值之和。 image.png
练习2:1、 输入一个正整数n,计算下式的和。
image.png
image.png
上一篇下一篇

猜你喜欢

热点阅读