C言語4


ブランチステートメント


スイッチドア

if ~ else if ~ else多くの条件を実行すると可読性が低下し複雑度が増す.これらの欠点を補うのはswitch문
switch(n)
{
	case 1:
    	수행1;
        break;
    case 2:
    	수행2;
        break;
        .
        .
        .
    case n:
    	수행n;
        break;
}
電話番号ショートカットの例
#include <stdio.h>
int main()
{
    int shortcut;
    printf("단축키를 입력하세요 : ");
    scanf("%d", &shortcut);
    switch(shortcut)
    {
        case 1:
            printf("딸 : 010-xxxx-xxxx\n");
            break;
        case 2:
            printf("아들 : 010-xxxx-xxxx\n");
            break;
        case 3:
            printf("남편 : 010-xxxx-xxxx\n");
            break;
        default:
            printf("해당 단축키가 없습니다.\n");
            break;
    }
    return 0;
}
季節を月別に通知する例
#include <stdio.h>
int main()
{
    int month;
    printf("Month : ");
    scanf("%d", &month);
    switch(month)
    {
        case 12:
        case 1:
        case 2:
            printf("겨울입니다\n");           
            break;
        case 3:
        case 4:
        case 5:
            printf("봄입니다\n");
            break;
        case 6:
        case 7:
        case 8:
            printf("여름입니다\n");
            break;
        case 9:
        case 10:
        case 11:
            printf("가을입니다\n");
            break;

        default:
            printf("잘못 입력하셨습니다.\n");
            break;
    }
    return 0;
}
すべてのケースで季節を出力する必要がない場合は、break次のケースの特性を使用してコードを記述できます.
入力スコア出力単位の例
91-100点:A単位
81-90点:B単位
71-80点:C単位
61-70点:D単位
0~60:F単位
  • if문利用
  • #include <stdio.h>
    
    int main(void)
    {
        int a;
        // char grade;
        printf("점수를 입력하세요 : ");
        scanf("%d", &a);
        if (a <= 100 && a>=91)
        {
            printf("A 학점\n");
        }
        else if (a <= 90 && a >= 81)
        {
            printf("B 학점\n");
        }
        else if (a <= 80 && a >= 71)
        {
            printf("C 학점\n");
        }
        else if (a <= 70 && a >= 61)
        {
            printf("D 학점\n");
        }
        else if (a <= 60 && a >= 00)
        {
            printf("F 학점\n");
        }
        else
        {
            printf("정확한 점수를 입력하세요\n");
        }
        return 0;
    }
    2.switch문使用
    #include <stdio.h>
    
    int main(void)
    {
        int a, b;
        printf("점수를 입력하세요 : ");
        scanf("%d", &a);
        b = (a - 1) / 10;
        switch(b)
        {
            case 0:
            case 1:
            case 2:
            case 3:
            case 4:
            case 5:
                printf("F 학점입니다.\n");
                break;
            case 6:
                printf("D 학점입니다.\n");
                break;
            case 7:
                printf("C 학점입니다.\n");    
                break;
            case 8:
                printf("B 학점입니다.\n");
                break;
            case 9:
                printf("A 학점입니다.\n");
                break;
                
            default:
                printf("점수를 잘 입력하세요.\n");
        }
        return 0;
    }

    複文


    ドア

    while(반복 조건)
    {
    	반복 문장
    }
    繰り返し条件が成立したときに繰り返し文を実行します.
    #include <stdio.h>
    
    int main(void)
    {
        int i = 0;
        while (i < 5)
        {
            printf("Programming\n");
            i++;
        }
        return 0;
    }
    Programming
    Programming
    Programming
    Programming
    Programming
    nを入力してn個の球団を出力する例
    #include <stdio.h>
    
    int main(void)
    {
        int i = 1, a;
        printf("n구단 : ");
        scanf("%d", &a);
        
        while (i < 10)
        {
            printf("%d * %d = %d\n",a ,i, i * a);
            i++;
        }
        return 0;
    }

    文脈

    for(초기문; 조건문; 증감문)
    {
    	반복 문장
    }
    while文はほぼ同じですが、一行から初期文、条件文、証監文が見られ、読みやすさが良いです.
    #include <stdio.h>
    
    int main(void)
    {
        int i;
        for(i = 0; i < 5; i++)
        {
            printf("Hello world!\n");
        }
        return 0;
    }
    Hello world!
    Hello world!
    Hello world!
    Hello world!
    Hello world!
    n出力nの和を入力する例
    #include <stdio.h>
    
    int main()
    {
        int a, n, i;
        printf("정수를 입력하세요 : ");
        scanf("%d",&n);
    
        a = 0;
        for(i = 1; i < n + 1; i++)
        {
            a += i;
        }
        printf("%d\n", a);
        
        return 0;
    }