摘要:語言循環(huán)結(jié)構(gòu)一語句現(xiàn)在一般很少用語句介紹語言中提供了可以隨意濫用的語句和標(biāo)記跳轉(zhuǎn)的符號。
Hello,everyone!forever 之前介紹了C分支結(jié)構(gòu),今天按照順序該來介紹C語言循環(huán)結(jié)構(gòu)啦!希望能給大家?guī)硪稽c點幫助吧!
首先來了解一下循環(huán)吧!循環(huán)是用于重復(fù)執(zhí)行某一個條件語句的語句,其中控制表達(dá)式為其核心,整個循環(huán)圍繞這個控制表達(dá)式進(jìn)行展開,如果表達(dá)式為真,循環(huán)繼續(xù)執(zhí)行;否則,循環(huán)結(jié)束。C語言中循環(huán)語句一般有 do-while 語句、while 語句和 for 語句,還有一個 goto 語句。
在介紹循環(huán)前,我先來給大家說說循環(huán)中常用的 break 和 continue 吧!
break 語句用于 switch 分支語句(之前文章有介紹)和各種循環(huán)語句。在 switch 語句中 break 代表終止的意思,遇到 break 則意味著終止當(dāng)前的 switch 語句;在循環(huán)語句中,break 作用是跳出當(dāng)前循環(huán)。
continue 語句只用在循環(huán)語句中。在循環(huán)體語句執(zhí)行中,continue 用于結(jié)束本次循環(huán)不再執(zhí)行循環(huán)后面的程序,直接進(jìn)行下一次循環(huán)。它一般總是有條件判斷執(zhí)行的。
一、goto 語句(現(xiàn)在一般很少用)
1.語句介紹:
C語言中提供了可以隨意濫用的 goto 語句和標(biāo)記跳轉(zhuǎn)的符號。一般在實踐中沒有 goto 語句也可以很容易的實現(xiàn)代碼的書寫,但是在某種場合下還是可以用到的,最常用的是終止程序在某些深度嵌套的結(jié)構(gòu)中的所用方法,比如利用它一次跳出多層循環(huán)。(一般這種情況,break達(dá)不到目的,就利用 goto 語句實現(xiàn))
2.語法結(jié)構(gòu):
以下就是 goto 語句的語法結(jié)構(gòu),其中包含標(biāo)記跳轉(zhuǎn)符號和 goto 語句 ;代碼從上往下運行,遇到 goto ko 就會跳轉(zhuǎn)到 ko ,這就是 goto 語句,起到直接跳轉(zhuǎn)的作用。
int main(){ko: goto ko; return 0;}
3.goto 語句程序示例:
電腦關(guān)機(jī)指令程序:該程序利用到 goto 語句來跳轉(zhuǎn),以達(dá)到指令輸入正確。
#include #include //system函數(shù)調(diào)用頭文件#include //strcmp函數(shù)調(diào)用頭文件int main(){ char arr[] = { 0 }; system("shutdown -s -t 60");//電腦關(guān)機(jī)命令ko: printf("您的電腦即將關(guān)機(jī),請輸入:“停止操作”,將終止電腦關(guān)機(jī)/n"); scanf("%s", arr); if (strcmp(arr, "停止操作"))//判斷輸入的指令 { system("shutdown -a");//取消電腦關(guān)機(jī)命令 } else { goto ko;//goto 跳轉(zhuǎn)語句 } return 0;}
二、do-while語句
1.語句介紹:
do-while 循環(huán)語句其特點是先執(zhí)行再判斷,首先無條件執(zhí)行一次循環(huán)體,然后再根據(jù)控制表達(dá)式來判斷,若判斷為真,則繼續(xù)執(zhí)行循環(huán);否則循環(huán)結(jié)束。所以 do-while 語句至少要執(zhí)行一次循環(huán)。
2.語法結(jié)構(gòu):
以下是 do-while 循環(huán)語句的語法結(jié)構(gòu),先執(zhí)行再循環(huán),至少執(zhí)行循環(huán)一次。
int main(){ do { 循環(huán)語句; } while (表達(dá)式);//這里的分號一定不能少,注意咯! return 0;}
3.do-while 流程圖:
4.do-while 語句程序示例:
簡單的猜數(shù)字游戲程序
#include int main(){ int n = 0; int a = 8; do { printf("請輸入0-10猜數(shù)字/n"); scanf("%d", &n); } while (n != a); printf("猜對了!/n"); return 0;}
三、while 語句
1.語句介紹:
while 語句是先判斷再執(zhí)行。首先判斷控制表達(dá)式,若為真則繼續(xù)向下執(zhí)行;若為假則循環(huán)結(jié)束。
2.語法結(jié)構(gòu):
若循環(huán)體中的循環(huán)語句只有一條時,可以不用括號{ }括起來;若循環(huán)語句為多條時,必須用括號{ }括起來。
int main(){ while (表達(dá)式) { 循環(huán)語句; } return 0;}
3.while 循環(huán)流程圖:
4.while 語句程序示例:
輾轉(zhuǎn)相除法求最小公倍數(shù)和最大公約數(shù)
#include int main()//輾轉(zhuǎn)相除法求最小公倍數(shù)和最大公約數(shù){ int m = 12, n = 16;//m 和 n 為待求數(shù) int x = 0, y = 0; int z = 0; x = m, y = n; while (m != 0)//while 循環(huán) { z = n % m; n = m; m = z; } printf("最小公倍數(shù):%d/n最大公約數(shù):%d", n, x * y / n); return 0;}
四、for 循環(huán)語句:
1.語句介紹:
for 循環(huán)是C語言中最常用的循環(huán)語句,其格式為: for (表達(dá)式1;表達(dá)式2;表達(dá)式3)。其中表達(dá)式1為循環(huán)變量初賦值,表達(dá)式2為循環(huán)條件,表達(dá)式3為循環(huán)變量增量。首先給變量賦值,接下來進(jìn)行變量判斷:若判斷為真,則繼續(xù)循環(huán);否則循環(huán)停止,最后進(jìn)行變量增減量改變。
2.語法結(jié)構(gòu):
其寫法和 while語句 差不多,若后面循環(huán)體里有多條語句,則用括號括起來,形成代碼塊。
int main(){ for (表達(dá)式1; 表達(dá)式2; 表達(dá)式3) { 循環(huán)語句; } return 0;}
3.for 循環(huán)語句流程圖
4.for 循環(huán)程序示例:
輸出1-10的奇數(shù)程序
#include int main(){ int i = 1; for (i = 1; i <= 10; i++) { if (i % 2 == 0) { continue;//這里含有 continue ,結(jié)束本次循環(huán),不輸出偶數(shù) } printf("%d/n", i); } return 0;}
5.for 循環(huán)語句使用時注意事項:
(1)for 循環(huán)中表達(dá)式1、2、3是選擇項,可以缺省,但中間的分號不能掉;
(2)若省略表達(dá)式2,則無判斷條件,會出現(xiàn)死循環(huán);
(3)表達(dá)式1和3中可以進(jìn)行多個變量初賦值和多個變量增量。
目前就這些!這些代碼都比較簡單,淺顯易懂,希望對一些初學(xué)者有一定幫助,也望其他大佬能多多指點!如有不足或錯誤之處,請諒解并指教哈!
謝謝觀看,再見啦!
以上代碼均可運行,所用編譯環(huán)境為 vs2019 ,運行時注意加上編譯頭文件#define _CRT_SECURE_NO_WARNINGS 1
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/122186.html
摘要:普通可迭代對象只有魔術(shù)方法,而不像迭代器一樣擁有魔術(shù)方法,這意味著它無法實現(xiàn)自遍歷過程,同時在經(jīng)過循環(huán)的它遍歷后,也不會破壞原有的結(jié)構(gòu)。這兩個是我創(chuàng)造的概念,詳見進(jìn)階迭代器與迭代器切片。 showImg(https://segmentfault.com/img/remote/1460000019621809); 本文原創(chuàng)并首發(fā)于公眾號【Python貓】,未經(jīng)授權(quán),請勿轉(zhuǎn)載。 原文地址:...
C語言程序設(shè)計 所有代碼都展示main函數(shù)里面的代碼 計算機(jī)的思維 輾轉(zhuǎn)相除法 int u = 32;int v = 32;//如果v=0,計算結(jié)束,u就是最大公約數(shù)//v!=0計算u/v的余數(shù),讓u=v v=余數(shù)while(v!+0){ int temp = u%v; u = v; v = temp;}printf(%d,u); 從計算機(jī)到程序再到算法 計算機(jī)的思維和優(yōu)勢是把所有可能...
閱讀 3727·2021-10-11 10:59
閱讀 1313·2019-08-30 15:44
閱讀 3485·2019-08-29 16:39
閱讀 2893·2019-08-29 16:29
閱讀 1806·2019-08-29 15:24
閱讀 814·2019-08-29 15:05
閱讀 1269·2019-08-29 12:34
閱讀 2334·2019-08-29 12:19