在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

C語(yǔ)言基礎(chǔ)篇--選擇/順序/循環(huán)結(jié)構(gòu)

正點(diǎn)原子 ? 2022-04-02 11:00 ? 次閱讀

以下文章來(lái)源于:公_眾_號(hào)開(kāi)源電子網(wǎng)

前言

C語(yǔ)言中,按照程序的執(zhí)行流程不同,分為順序結(jié)構(gòu)、分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。多么復(fù)雜的邏輯事物都是由這三個(gè)結(jié)構(gòu)組成。

順序結(jié)構(gòu)

順序結(jié)構(gòu)是最簡(jiǎn)單的一種流程結(jié)構(gòu),它采用自上而下的方式逐條執(zhí)行各語(yǔ)句。簡(jiǎn)易順序結(jié)構(gòu)如下所示:

pYYBAGJHtWuAAAbSAAA5cJxcb7Q569.png

分支結(jié)構(gòu)

分支結(jié)構(gòu),又稱(chēng)選擇結(jié)構(gòu),可以控制程序的部分流程是否被執(zhí)行,或者是從多條執(zhí)行路徑種選擇一條來(lái)執(zhí)行。在C語(yǔ)言中有兩種選擇語(yǔ)句:①if語(yǔ)句,用來(lái)實(shí)現(xiàn)兩個(gè)分支的選擇結(jié)構(gòu)②switch語(yǔ)句,用來(lái)實(shí)現(xiàn)多分支的選擇結(jié)構(gòu)。

選擇結(jié)構(gòu)if,具體用法如表格所示:

if (表達(dá)式) {語(yǔ)句}

if (表達(dá)式) {語(yǔ)句1}

else {語(yǔ)句2}

if (表達(dá)式) { if (表達(dá)式) {語(yǔ)句} }

else {語(yǔ)句}

if (表達(dá)式) {語(yǔ)句}

else if (表達(dá)式) {語(yǔ)句}

else {語(yǔ)句}

選擇結(jié)構(gòu)switch,具體使用格式如下:

switch(整型表達(dá)式)
{
  case整型常量表達(dá)式1:
  [語(yǔ)句1;break;]
  case整型常量表達(dá)式2:
  [語(yǔ)句2;break;]
  case整型常量表達(dá)式3:
  [語(yǔ)句3;break;]
 …
  [default:
  語(yǔ)句n;break;]
}

在程序運(yùn)行時(shí),首先會(huì)計(jì)算整型表達(dá)式的值,然后用該值與后面的所有case標(biāo)簽進(jìn)行一一匹配(即查看該值是否與case標(biāo)簽的表達(dá)式的值相同)。如果有匹配的case標(biāo)簽,則從該case標(biāo)簽起,執(zhí)行后續(xù)的語(yǔ)句,直至遇到break語(yǔ)句為止。如果沒(méi)有匹配到case標(biāo)簽,則從default標(biāo)簽起,執(zhí)行后續(xù)的語(yǔ)句,直到遇到break為止。

這里特別需要注意:①case后帶的表達(dá)式一定要是常數(shù),并且是整型。②在語(yǔ)句后面通常是有break關(guān)鍵字。③ 最后一般有default,即前面case沒(méi)有一個(gè)符合的情況,就會(huì)調(diào)到default里執(zhí)行。雖然說(shuō)語(yǔ)法上可以允許沒(méi)有default,但是為了完整,建議是需要的。

那么if和switch這兩種選擇結(jié)構(gòu)有啥區(qū)別呢?

if語(yǔ)句比較適用在對(duì)比條件比較復(fù)雜的且分支比較少的情況下使用;switch語(yǔ)句則是適用在對(duì)比條件比較簡(jiǎn)單且分支比較多的情況下使用;正常情況下,先考慮能不能用switch語(yǔ)句,假如不滿足使用需求,則使用if語(yǔ)句。當(dāng)然,不管黑貓白貓捉到老鼠的就是好貓,能實(shí)現(xiàn)效果即可。

循環(huán)結(jié)構(gòu)

循環(huán)結(jié)構(gòu)就是重復(fù)執(zhí)行一個(gè)語(yǔ)句塊,直到不滿足某個(gè)條件為止。在C語(yǔ)言中有三種循環(huán)語(yǔ)句:①while語(yǔ)句②do while語(yǔ)句③for語(yǔ)句

while語(yǔ)句也稱(chēng)while循環(huán),具體使用格式如下:

while(表達(dá)式)
  語(yǔ)句

while語(yǔ)句根據(jù)小括號(hào)內(nèi)表達(dá)式的值來(lái)決定是否執(zhí)行語(yǔ)句,當(dāng)表達(dá)式的值為假時(shí),循環(huán)結(jié)束,語(yǔ)句不會(huì)被執(zhí)行;假如表達(dá)式的值為真,語(yǔ)句被執(zhí)行,然后會(huì)再次判斷表達(dá)式的值,如此反復(fù),直至表達(dá)式的值為假。

do while語(yǔ)句也稱(chēng)do while循環(huán),具體使用格式如下:

do 
語(yǔ)句
while(表達(dá)式)

從結(jié)構(gòu)上,由“do”關(guān)鍵字開(kāi)頭,緊接著是語(yǔ)句也就是循環(huán)體了,最后是while關(guān)鍵字和表達(dá)式。do while語(yǔ)句是先執(zhí)行循環(huán)體,然后再檢查條件是否成立,若成立,再執(zhí)行循環(huán)體,這就是跟while語(yǔ)句不同。

for語(yǔ)句,相對(duì)前面兩個(gè)循環(huán)語(yǔ)句復(fù)雜一點(diǎn),具體使用格式如下:

for(表達(dá)式1;表達(dá)式2;表達(dá)式3)
語(yǔ)句

相比前面的while和do while語(yǔ)句,for語(yǔ)句的表達(dá)式有三個(gè),表達(dá)式之間用‘;’隔開(kāi),這三個(gè)表達(dá)式的作用和執(zhí)行時(shí)期是不一樣的,具體情況如下表:

表達(dá)式作用執(zhí)行時(shí)期
表達(dá)式1通常在這個(gè)地方對(duì)循環(huán)變量進(jìn)行初始化或賦值開(kāi)始時(shí)執(zhí)行1次
表達(dá)式2表達(dá)式的值為真時(shí)執(zhí)行循環(huán)體,為假時(shí)結(jié)束for語(yǔ)句循環(huán)體執(zhí)行前
表達(dá)式3通常在這個(gè)地方對(duì)循環(huán)變量進(jìn)行修改,通常是加減操作循環(huán)體執(zhí)行后

具體執(zhí)行流程:在for語(yǔ)句被執(zhí)行前,首先會(huì)執(zhí)行表達(dá)式1,然后再檢查表達(dá)式2的值:假如為假,不執(zhí)行循環(huán)體,結(jié)束for語(yǔ)句;假如為真,則執(zhí)行循環(huán)體語(yǔ)句。執(zhí)行完循環(huán)語(yǔ)句后,再去執(zhí)行表達(dá)式3,并再次去檢查表達(dá)式2的值,如此反復(fù),直到表達(dá)式2的值為假,結(jié)束for語(yǔ)句。

這三個(gè)循環(huán)語(yǔ)句,哪種情況用哪個(gè)好呢?

如果程序中固定了循環(huán)的次數(shù),那么就可以采用for語(yǔ)句。如果程序中必須執(zhí)行一次程序,那么就可以使用do while語(yǔ)句。除了以上兩種情況,就可以使用while語(yǔ)句。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6044

    文章

    44627

    瀏覽量

    638969
  • 嵌入式
    +關(guān)注

    關(guān)注

    5095

    文章

    19189

    瀏覽量

    307982
  • C語(yǔ)言
    +關(guān)注

    關(guān)注

    180

    文章

    7615

    瀏覽量

    137833
  • 電子技術(shù)
    +關(guān)注

    關(guān)注

    18

    文章

    920

    瀏覽量

    56340
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    分析C語(yǔ)言代碼結(jié)構(gòu)的設(shè)計(jì)問(wèn)題

    來(lái)分析一個(gè)C語(yǔ)言代碼結(jié)構(gòu)的設(shè)計(jì)問(wèn)題。 這段代碼,使用了兩次malloc,分別給 p1 和 p2 申請(qǐng)了內(nèi)存。用完后,內(nèi)存釋放,防止內(nèi)存泄漏。 大家覺(jué)得,這樣的代碼設(shè)計(jì)有沒(méi)有問(wèn)題。 代碼是某位學(xué)員在
    的頭像 發(fā)表于 02-11 09:31 ?37次閱讀

    Simcenter Micred Power Tester功率循環(huán)測(cè)試儀

    SimcenterMicredPowerTester功率循環(huán)測(cè)試儀使用結(jié)合了有效功率循環(huán)和熱結(jié)構(gòu)退化監(jiān)測(cè)的測(cè)試硬件,評(píng)估功率半導(dǎo)體的熱可靠性和使用壽命。為什么選擇
    的頭像 發(fā)表于 01-09 14:33 ?319次閱讀
    Simcenter Micred Power Tester功率<b class='flag-5'>循環(huán)</b>測(cè)試儀

    深入理解C語(yǔ)言循環(huán)語(yǔ)句的應(yīng)用與優(yōu)化技巧

    在程序設(shè)計(jì)中,我們常常需要重復(fù)執(zhí)行某一段代碼。為了提高效率和簡(jiǎn)化代碼,循環(huán)語(yǔ)句應(yīng)運(yùn)而生。C語(yǔ)言作為一門(mén)經(jīng)典的編程語(yǔ)言,提供了多種循環(huán)控制
    的頭像 發(fā)表于 12-07 01:11 ?260次閱讀
    深入理解<b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>:<b class='flag-5'>循環(huán)</b>語(yǔ)句的應(yīng)用與優(yōu)化技巧

    結(jié)構(gòu)體成員的順序會(huì)影響結(jié)構(gòu)體的大小嗎

    相同的結(jié)構(gòu)體成員,如果把順序調(diào)整一下,會(huì)不會(huì)影響結(jié)構(gòu)體的大小? 答案是會(huì)的,這主要跟字節(jié)對(duì)齊有關(guān)。 比如這樣的結(jié)構(gòu)體,前面兩個(gè)是 char 類(lèi)型,后面跟上一個(gè) int 類(lèi)型。 stru
    的頭像 發(fā)表于 11-25 16:24 ?276次閱讀

    如何選擇適合自己的編程語(yǔ)言

    在當(dāng)今這個(gè)技術(shù)日新月異的時(shí)代,編程語(yǔ)言選擇對(duì)于軟件開(kāi)發(fā)者來(lái)說(shuō)至關(guān)重要。不同的編程語(yǔ)言有著不同的優(yōu)勢(shì)和適用場(chǎng)景,因此,選擇合適的編程語(yǔ)言不僅
    的頭像 發(fā)表于 11-15 09:37 ?629次閱讀

    C語(yǔ)言C++中結(jié)構(gòu)體的區(qū)別

    同樣是結(jié)構(gòu)體,看看在C語(yǔ)言C++中有什么區(qū)別?
    的頭像 發(fā)表于 10-30 15:11 ?363次閱讀

    C語(yǔ)言與Java語(yǔ)言的對(duì)比

    C語(yǔ)言和Java語(yǔ)言都是當(dāng)前編程領(lǐng)域中的重要成員,它們各自具有獨(dú)特的優(yōu)勢(shì)和特點(diǎn),適用于不同的應(yīng)用場(chǎng)景。以下將從語(yǔ)法特性、內(nèi)存管理、跨平臺(tái)性、性能、應(yīng)用領(lǐng)域等多個(gè)方面對(duì)C
    的頭像 發(fā)表于 10-29 17:31 ?455次閱讀

    計(jì)算機(jī)程序的三種基本控制結(jié)構(gòu)是什么

    順序被執(zhí)行一次,直到程序結(jié)束。在順序結(jié)構(gòu)中,每個(gè)語(yǔ)句都是順序執(zhí)行的,不存在任何跳轉(zhuǎn)和分支。 選擇結(jié)構(gòu)
    的頭像 發(fā)表于 09-04 17:00 ?1721次閱讀

    技術(shù)干貨驛站 ▏深入理解C語(yǔ)言:掌握程序結(jié)構(gòu)知識(shí)

    在計(jì)算機(jī)編程的世界中,C語(yǔ)言被廣泛認(rèn)可為一門(mén)強(qiáng)大而高效的編程語(yǔ)言,其簡(jiǎn)潔的語(yǔ)法和直接的指令使得它成為了許多程序員的首選。了解C語(yǔ)言的程序
    的頭像 發(fā)表于 07-27 08:45 ?1544次閱讀
    技術(shù)干貨驛站 ▏深入理解<b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>:掌握程序<b class='flag-5'>結(jié)構(gòu)</b>知識(shí)

    【《大語(yǔ)言模型應(yīng)用指南》閱讀體驗(yàn)】+ 基礎(chǔ)

    今天開(kāi)始學(xué)習(xí)《大語(yǔ)言模型應(yīng)用指南》第一——基礎(chǔ),對(duì)于人工智能相關(guān)專(zhuān)業(yè)技術(shù)人員應(yīng)該可以輕松加愉快的完成此閱讀,但對(duì)于我還是有許多的知識(shí)點(diǎn)、專(zhuān)業(yè)術(shù)語(yǔ)比較陌生,需要網(wǎng)上搜索學(xué)習(xí)更多的資
    發(fā)表于 07-25 14:33

    PLC常用編程語(yǔ)言有哪些

    語(yǔ)言多種多樣,每種語(yǔ)言都有其獨(dú)特的特點(diǎn)和適用場(chǎng)景。本文將詳細(xì)介紹PLC常用的編程語(yǔ)言,包括梯形圖(LD)、指令表(IL)、功能模塊圖(FBD)、順序功能流程圖(SFC)以及
    的頭像 發(fā)表于 06-14 16:58 ?1787次閱讀

    嵌入式中C語(yǔ)言結(jié)構(gòu)體基本實(shí)現(xiàn)

    C語(yǔ)言中的數(shù)組只能允許程序員定義存儲(chǔ)相同類(lèi)型數(shù)據(jù)。但是結(jié)構(gòu)C語(yǔ)言編程中允許您存儲(chǔ)不同數(shù)據(jù)類(lèi)型的數(shù)據(jù)。
    的頭像 發(fā)表于 05-11 08:49 ?1134次閱讀
    嵌入式中<b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b><b class='flag-5'>結(jié)構(gòu)</b>體基本實(shí)現(xiàn)

    C語(yǔ)言結(jié)構(gòu)體史上最詳細(xì)的講解【軟件干貨】

    struct結(jié)構(gòu)體數(shù)據(jù)類(lèi)型 前言 我們知道,在C語(yǔ)言中有一些基本的數(shù)據(jù)類(lèi)型,如?char?int?float?long?double?string(c99) 等等數(shù)據(jù)類(lèi)型,他們可以表示
    的頭像 發(fā)表于 03-28 17:52 ?863次閱讀

    使用 MISRA C++:2023? 避免基于范圍的 for 循環(huán)中的錯(cuò)誤

    在前兩博客中,我們?向您介紹了新的 MISRA C++ 標(biāo)準(zhǔn)?和?C++ 的歷史?。在這篇博客中,我們將仔細(xì)研究以 C++ 中?for?循環(huán)
    的頭像 發(fā)表于 03-28 13:53 ?873次閱讀
    使用 MISRA <b class='flag-5'>C</b>++:2023? 避免基于范圍的 for <b class='flag-5'>循環(huán)</b>中的錯(cuò)誤

    嵌入式系統(tǒng)中C語(yǔ)言結(jié)構(gòu)體的基礎(chǔ)實(shí)現(xiàn)與應(yīng)用

    C語(yǔ)言中的數(shù)組只能允許程序員定義存儲(chǔ)相同類(lèi)型數(shù)據(jù)。但是結(jié)構(gòu)C語(yǔ)言編程中允許您存儲(chǔ)不同數(shù)據(jù)類(lèi)型的數(shù)據(jù)。
    發(fā)表于 03-12 14:29 ?568次閱讀
    嵌入式系統(tǒng)中<b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b><b class='flag-5'>結(jié)構(gòu)</b>體的基礎(chǔ)實(shí)現(xiàn)與應(yīng)用
    主站蜘蛛池模板: 在线看3344免费视频 | 四虎国产永久在线精品免费观看 | 欧美一级欧美三级在线观看 | 天天看天天爽 | 萝l在线精品社区资源 | 亚洲不卡视频在线观看 | 三级黄色在线视频 | 欧美性色黄| 你懂得的在线观看免费视频 | 毛片官网| 国产高清免费午夜在线视频 | 亚洲欧洲国产精品你懂的 | 免费毛片大全 | 在线高清国产 | 怡红院影院 | 日本一区二区在线免费观看 | 欧美高清一区二区三 | 欧美夜夜夜 | 日本三级黄色录像 | 国产精品美女久久久久网站 | 高清视频一区二区三区 | 午夜在线观看福利 | aa视频在线观看 | 日本在线观看一区 | 黄色视屏在线免费观看 | 日本中文在线三级在线播放 | 你懂得的在线观看免费视频 | www.999精品视频观看免费 | 99r8这里精品热视频免费看 | 韩国三级日本三级在线观看 | 国产美女在线精品免费观看 | 国产一区高清 | 日本免费一区二区三区视频 | 黄在线观看在线播放720p | 四虎国产在线观看 | 看黄色一级毛片 | 日本免费不卡一区 | 亚洲男人a天堂在线2184 | 日本不卡视频在线观看 | 在线jlzzjlzz免费播放 | 又色又爽又黄视频 |