言語復習🧑🏻‍💻

16752 ワード

1.は文


for文は所定の回数で繰り返す場合に用いられる繰返し構造である.ループとも呼ばれます.for文は、多くの利点があるため、重複構造で最も多く使用されます.
for文は、初期式(initiation)、条件式(expression)、増減式(increment)の3つの部分から構成されます.この3つの部分はセミコロンで分かれている.
for(i=0; i<5; i++){
	printf("Hello World!");
}
for文の実行順序は次のとおりです.
  • for文では、初期式が最初に実行されます.

  • 検査条件食品
  • .

  • 条件式が真の場合、ループが実行されます.
  • ループ運転終了後、増減式が実行されます.

  • 続いて
  • となり、条件式を再度チェック.

  • 一度条件式が偽物であれば、すぐにfor文から離れます.

  • この3つの字の文が果たす役割をもっと詳しく見てみましょう.

    1.1)初期表現


    反復ループを開始する前に、初期式は1回のみ実行されます.主に変数値を破棄するために使用されます.上記のコードは、変数iの値を0に初期化します.

    1.2)条件式


    これは反復条件を調べる式です.式の値が偽の場合、繰り返しは停止します.この式は繰り返す前に計算されます.したがって、条件式の値が偽の場合、繰り返しは発生しません.上記のコードでは、「i<5」はここに相当する.iの値が5未満の場合、繰り返します.iの値が5に増加した場合、「i<5」は偽であるため、繰り返し終了する.

    1.3)増減式


    1回のループ運転が終了すると、インクリメンタルが実行されます.上記の例では、i++;これに対応して、変数i値を増加させる役割を果たす.

    1.4)簡単なforクエリの例

    //"Hello World!" 5번 출력하기
    #include <stdio.h>
    
    int main()
    {
    	int i; 
        for(i = 0; i < 5; i++)
        	printf("Hello World!");
     
    }
    //반복을 이용한 정수합 프로그램
    #include <stdio.h>
    
    int main()
    {
    	int sum;
        
        sum = 0; 
        for(int i = 0; i <=10; i++)
        	sum += i;
            
            printf("0부터 10까지의 합: %d\n", sum);
            
            return 0;
     }
    //반복을 이용한 세제곱구하기
    #include <stdio.h>
    
    int main()
    {
    	int n;
        printf("정수를 입력하시오: );
        scanf("%d", &n);
        
        printf("===========\n");
        printf("i  i의 세제곱\n");
        printf("===========\n");
        
        for(int i = 0; i <= n; i++)
        	printf("%5d %5d\n", i, i*i*i);
            
        return 0;
    }
    //번복을 이용한 네모 그리기
    #include <stdio.h>
    
    int main()
    {
    	printf("***********\n");
        
        for(int i = 0; i < 10; i++)
        	printf("*         *\n");
           
        printf("***********\n");
        
        return 0;
    }
    //반복을 이용한 팩토리얼 구하기
    #include <Stdio.h>
    
    int main()
    {
    	long fact = 1;
        int n;
        
        printf("정수를 입력하시요: ");
        scanf("%d", &n);
        
        for(int i = 1; i <= n; i++)
        	fact = fact * i;
            
        printf("%d!은 %d입니다.\n", n, fact);
        
        return 0;
    }

    2.重複文


    複文は重ねて使えます.すなわち,複文には他の複文を含めることができる.この形式をネストループと呼ぶ.
    外部を占有する複文を外部複文(outherloop)と呼び,内部の複文を内部複文(inner loop)と呼ぶ.内部複文は外部複文を繰り返すたびに再実行される.
    for(int i = 0; i < 6; i++)
    {
    	for(int j = 0; j < 3; j++)
        {
        	...
            ...
        }
    }

    2.(1)ネストされた重複文の簡単な例

    //중첩 반복문을 이용하여 * 기호를 사각형 모양으로 출력하는 프로그램
    #include <Stdio.h>
    
    int main()
    {
    	for(int i = 0; i < 5; i++)
        {
        	for(int j = 0; j < 10; j++)
            	printf("*");
                
                printf("\n")
         }
         
         return 0;
    }
    //위의 예제 변경
    #include <stdio.h>
    
    int main()
    {
    	int i, j;
        
        for(j = 1; j <= 5; j++)
        {
        	for(i = 0; i < j; i++)
            	printf("*");
                
            printf("\n");
        }
        
        return 0;
    }