一.三種不同的循環形式
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
