Hello,everyone!forever 之前介紹了C分支結構,今天按照順序該來介紹C語言循環結構啦!希望能給大家帶來一點點幫助吧!
首先來了解一下循環吧!循環是用于重復執行某一個條件語句的語句,其中控制表達式為其核心,整個循環圍繞這個控制表達式進行展開,如果表達式為真,循環繼續執行;否則,循環結束。C語言中循環語句一般有 do-while 語句、while 語句和 for 語句,還有一個 goto 語句。
在介紹循環前,我先來給大家說說循環中常用的 break 和 continue 吧!
break語句
break 語句用于 switch 分支語句(之前文章有介紹)和各種循環語句。在 switch 語句中 break 代表終止的意思,遇到 break 則意味著終止當前的 switch 語句;在循環語句中,break 作用是跳出當前循環。
continue語句
continue 語句只用在循環語句中。在循環體語句執行中,continue 用于結束本次循環不再執行循環后面的程序,直接進行下一次循環。它一般總是有條件判斷執行的。
C語言循環結構
一、goto 語句(現在一般很少用)
1.語句介紹:
C語言中提供了可以隨意濫用的 goto 語句和標記跳轉的符號。一般在實踐中沒有 goto 語句也可以很容易的實現代碼的書寫,但是在某種場合下還是可以用到的,最常用的是終止程序在某些深度嵌套的結構中的所用方法,比如利用它一次跳出多層循環。(一般這種情況,break達不到目的,就利用 goto 語句實現)
2.語法結構:
以下就是 goto 語句的語法結構,其中包含標記跳轉符號和 goto 語句 ;代碼從上往下運行,遇到 goto ko 就會跳轉到 ko ,這就是 goto 語句,起到直接跳轉的作用。
int main() { ko: goto ko; return 0; }
3.goto 語句程序示例:
電腦關機指令程序:該程序利用到 goto 語句來跳轉,以達到指令輸入正確。
#include<stdio.h> #include<stdlib.h>//system函數調用頭文件 #include<string.h>//strcmp函數調用頭文件 int main() { char arr[] = { 0 }; system("shutdown -s -t 60");//電腦關機命令 ko: printf("您的電腦即將關機,請輸入:“停止操作”,將終止電腦關機\n"); scanf("%s", arr); if (strcmp(arr, "停止操作"))//判斷輸入的指令 { system("shutdown -a");//取消電腦關機命令 } else { goto ko;//goto 跳轉語句 } return 0; }
二、do-while語句
1.語句介紹:
do-while 循環語句其特點是先執行再判斷,首先無條件執行一次循環體,然后再根據控制表達式來判斷,若判斷為真,則繼續執行循環;否則循環結束。所以 do-while 語句至少要執行一次循環。
2.語法結構:
以下是 do-while 循環語句的語法結構,先執行再循環,至少執行循環一次。
int main() { do { 循環語句; } while (表達式);//這里的分號一定不能少,注意咯! return 0; }
3.do-while 流程圖:
4.do-while 語句程序示例:
簡單的猜數字游戲程序
#include<stdio.h> int main() { int n = 0; int a = 8; do { printf("請輸入0-10猜數字\n"); scanf("%d", &n); } while (n != a); printf("猜對了!\n"); return 0; }
三、while 語句
1.語句介紹:
while 語句是先判斷再執行。首先判斷控制表達式,若為真則繼續向下執行;若為假則循環結束。
2.語法結構:
若循環體中的循環語句只有一條時,可以不用括號{ }括起來;若循環語句為多條時,必須用括號{ }括起來。
int main() { while (表達式) { 循環語句; } return 0; }
3.while 循環流程圖:
4.while 語句程序示例:
輾轉相除法求最小公倍數和最大公約數
#include<stdio.h> int main()//輾轉相除法求最小公倍數和最大公約數 { int m = 12, n = 16;//m 和 n 為待求數 int x = 0, y = 0; int z = 0; x = m, y = n; while (m != 0)//while 循環 { z = n % m; n = m; m = z; } printf("最小公倍數:%d\n最大公約數:%d", n, x * y / n); return 0; }
四、for 循環語句:
1.語句介紹:
for 循環是C語言中最常用的循環語句,其格式為: for (表達式1;表達式2;表達式3)。其中表達式1為循環變量初賦值,表達式2為循環條件,表達式3為循環變量增量。首先給變量賦值,接下來進行變量判斷:若判斷為真,則繼續循環;否則循環停止,最后進行變量增減量改變。
2.語法結構:
其寫法和 while語句 差不多,若后面循環體里有多條語句,則用括號括起來,形成代碼塊。
int main() { for (表達式1; 表達式2; 表達式3) { 循環語句; } return 0; }
3.for 循環語句流程圖
4.for 循環程序示例:
輸出1-10的奇數程序
#include<stdio.h> int main() { int i = 1; for (i = 1; i <= 10; i++) { if (i % 2 == 0) { continue;//這里含有 continue ,結束本次循環,不輸出偶數 } printf("%d\n", i); } return 0; }
5.for 循環語句使用時注意事項:
(1)for 循環中表達式1、2、3是選擇項,可以缺省,但中間的分號不能掉;
(2)若省略表達式2,則無判斷條件,會出現死循環;
(3)表達式1和3中可以進行多個變量初賦值和多個變量增量。
目前就這些!這些代碼都比較簡單,淺顯易懂,希望對一些初學者有一定幫助,也望其他大佬能多多指點!如有不足或錯誤之處,請諒解并指教哈!
總結
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關注服務器之家的更多內容!
原文鏈接:https://blog.csdn.net/m0_56817529/article/details/120680538