循環結構程序設計


一.三種不同的循環形式

      1.for循環:

        指定次數的循環

        例題:for 求1到100的和。

        代碼:

 

#include<stdio.h>
int main()
{
    int i,sum;
    for(i=1;i<=100;i++)
    {
        sum=sum+i;
    }
    printf("sum = %d",sum);
    
    return 0;
}

 

 

      2.while循環:

         “當型”循環(先判斷再做)

         例題:逆序輸出一個整數的各位數字,對輸入的一個非負整數,從低位開始逐位分割並輸出它的各位數字。

         代碼:

 

#include<stdio.h>
int main()
{
    int number=0,n=0,i=0;
    scanf("%d",&number);
    while(number>0)
    {
        n=number%10;
        printf("%d ",n);
        number=number/10;
        i++;
    }
    if(i==0)
    {
        printf("0 ");
    }
    return 0;
}

 

      3.do-while循環:

         “直到型”循環(先做再判斷)

        例題:讓計算機想出一個兩位的正整數,然后讓用戶來猜,用戶每輸入一位數,就告訴他是大了還是小了,直到用戶猜中為止,最后還要告訴用戶猜中了多少次。

        代碼:

 

#include <stdio.h>
#include<stdlib.h>
#include<time.h>

int main()
{
    int number = rand()%100+1;
    int count = 0;
    int a = 0;
    do {
        scanf("%d", &a);
        if ( a > number ) {
            printf("你猜的數大了。");
        } else if ( a < number ) {
            printf("你猜的數小了。");
        }
        count ++;
    } while (a != number);
    printf("太好了,你用了%d次就猜到了答案。\n", count);

    return 0;
}

 

 

二.break,continue

 

       1.break:

                       break語句通常用在循環語句和開關語句(switch-case)中。

         注意事項:

                        1.在多層循環中, 一個break語句只向外跳一層

                        2.break語句對if-else的條件語句不起作用。

 

        2.continue:

                      continue 語句的作用是跳過循環體中剩余的語句而強制進入下一次循環。

          注意事項:

                         1.continue語句只用在 while、for 循環中,常與 if 條件語句一起使用,判斷條件是否成立。

 

       3.break與continue的區別:

         (1)break 用來結束所有循環,循環語句不再有執行的機會

          (2)continue 用來結束本次循環,直接跳到下一次循環,如果循環條件成立,還會繼續循環。

          (3) break可用於switch語句,表示跳出整個switch塊,而continue則不能用於switch語句。

 

三.goto(無條件轉移語句)

      可以讓程序直接跳轉到任意標記的位置,但出於規定,只能用於跳出多重循環。

     注意事項:

                    1.使用goto語句只能goto到同一函數內,而不能從一個函數里goto到另外一個函數里。

                    2.不能從一段復雜的執行狀態中的位置goto到另外一個位置。

                       比如,從多重嵌套的循環判斷中跳出去就是不允許的。

                    3.應該避免向兩個方向跳轉。

 


如有問題歡迎指出!

2021/10/03

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM