91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

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

正點原子 ? 2022-04-02 11:00 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

以下文章來源于:公_眾_號開源電子網(wǎng)

前言

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

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

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

pYYBAGJHtWuAAAbSAAA5cJxcb7Q569.png

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

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

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

if (表達式) {語句}

if (表達式) {語句1}

else {語句2}

if (表達式) { if (表達式) {語句} }

else {語句}

if (表達式) {語句}

else if (表達式) {語句}

else {語句}

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

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

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

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

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

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

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

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

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

while(表達式)
  語句

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

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

do 
語句
while(表達式)

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

for語句,相對前面兩個循環(huán)語句復雜一點,具體使用格式如下:

for(表達式1;表達式2;表達式3)
語句

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

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

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

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

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

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

    關(guān)注

    6076

    文章

    45492

    瀏覽量

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

    關(guān)注

    5198

    文章

    20435

    瀏覽量

    333900
  • C語言
    +關(guān)注

    關(guān)注

    183

    文章

    7644

    瀏覽量

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

    關(guān)注

    19

    文章

    930

    瀏覽量

    60014
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    C語言主要特點

    。 3.數(shù)據(jù)類型豐富。C語言提供的數(shù)據(jù)類型包括整形、浮點型、字符型、數(shù)組類型、指針類型、結(jié)構(gòu)體類型和共用體類型等,C99又擴充了復數(shù)浮點型、超長整型(long long)和布爾類型(b
    發(fā)表于 01-05 07:41

    C語言循環(huán)隊列

    data; } return -1; // Buffer is empty } 循環(huán)隊列是一種高效的數(shù)據(jù)結(jié)構(gòu),適用于緩沖區(qū)和數(shù)據(jù)流應(yīng)用,例如串口通信接收緩沖。
    發(fā)表于 12-12 08:28

    C語言的編程技巧

    設(shè)計,分層開發(fā)代碼,便于理解和維護。 ?8、避免使用GOTO語句?:盡管GOTO語句在某些情況下仍然有用,但現(xiàn)代編程更傾向于使用函數(shù)和循環(huán)控制結(jié)構(gòu),以提高代碼的可讀性和維護性。 ?9、利用C
    發(fā)表于 11-27 06:46

    C語言程序的結(jié)構(gòu)

    ,87LPC764有4KB的Flash ROM,而筆者的程序量只有2KB多點,因而第一個想法是改用C語言作為主要的開發(fā)語言,應(yīng)該不至于導致代碼空間不夠用。其次,考慮到需要定時功能的模塊(或稱任務(wù),以下統(tǒng)稱任務(wù)
    發(fā)表于 11-26 08:12

    C語言的分支結(jié)構(gòu)介紹

    1.簡單if語句 C語言中的分支結(jié)構(gòu)語句中的if條件語句。 簡單if語句的基本結(jié)構(gòu)如下: 代碼語言:javascript if(表達
    發(fā)表于 11-25 07:48

    控制結(jié)構(gòu)介紹

    1. 順序結(jié)構(gòu):按照代碼的書寫順序,逐行執(zhí)行程序。這是最基本的程序結(jié)構(gòu)。 2. 選擇結(jié)構(gòu):根據(jù)
    發(fā)表于 11-24 06:43

    C語言結(jié)構(gòu)體使用

    型的數(shù)據(jù)組合。 結(jié)構(gòu)體的聲明與定義 結(jié)構(gòu)體的聲明一般形式為: c struct 結(jié)構(gòu)體名{ 成員1; 成員2; ... }; //注意分號 例如:
    發(fā)表于 11-12 08:30

    第4章 C語言基礎(chǔ)以及流水燈的實現(xiàn)(4.5 4.6)

    4.5while循環(huán)語句 在單片機C語言編程的時候,每個程序都會固定的加一句while(1),這條語句就可以起到死循環(huán)的作用。對于while語句來說,他的一般形式是: ? ? ? ?w
    的頭像 發(fā)表于 11-06 11:21 ?341次閱讀

    人工智能行業(yè)如何使用for循環(huán)語句進行循環(huán)

    人工智能行業(yè)可以使用以下是關(guān)于for循環(huán)在不同編程語言中的基本用法說明: Python中的for循環(huán): 主要用于遍歷序列(列表、元組、字符串等) 典型結(jié)構(gòu):for item in se
    的頭像 發(fā)表于 09-10 12:55 ?561次閱讀

    基礎(chǔ)3:掌握Python中的條件語句與循環(huán)

    在Python編程語言中,條件語句和循環(huán)是構(gòu)成復雜邏輯和數(shù)據(jù)處理的基石。本篇基礎(chǔ)教程將幫助您深入了解Python中的條件語句和循環(huán)結(jié)構(gòu),讓您能夠更好地控制程序流程。 條件語句 條件語句
    發(fā)表于 07-03 16:13

    C語言精彩編程百例-364頁

    內(nèi)容提要 C是一種通用的程序設(shè)計語言,它包含了緊湊的表達式、豐富的運算符集合、現(xiàn)代控制流以及數(shù)據(jù)結(jié)構(gòu)等四個部分。C語言功能豐富,衣達能力強,
    發(fā)表于 06-13 17:28

    《ESP32S3 Arduino開發(fā)指南》第三章 C/C++語言基礎(chǔ)

    ++基礎(chǔ),由于篇幅有限,在此僅對C/C++語言基礎(chǔ)進行簡單介紹。本章將分為如下9個小節(jié):3.1 數(shù)據(jù)類型3.2 運算符3.3 表達式3.4 數(shù)組3.5 字符串3.6 注釋3.7 順序
    發(fā)表于 06-10 09:20

    深入理解C語言C語言循環(huán)控制

    C語言編程中,循環(huán)結(jié)構(gòu)是至關(guān)重要的,它可以讓程序重復執(zhí)行特定的代碼塊,從而提高編程效率。然而,為了避免程序進入無限循環(huán),
    的頭像 發(fā)表于 04-29 18:49 ?2033次閱讀
    深入理解<b class='flag-5'>C</b><b class='flag-5'>語言</b>:<b class='flag-5'>C</b><b class='flag-5'>語言</b><b class='flag-5'>循環(huán)</b>控制

    必看!15個C語言常見陷阱及避坑指南

    ? C語言雖強大,但隱藏的“坑”也不少!稍不留神就會導致程序崩潰、數(shù)據(jù)異常。本文整理15個高頻陷阱,助你寫出更穩(wěn)健的代碼! ? 陷阱1:運算符優(yōu)先級混淆? 問題:運算符優(yōu)先級不同可能導致計算順序錯誤
    的頭像 發(fā)表于 03-16 12:10 ?1769次閱讀

    全套C語言培訓資料—PPT課件

    全套C語言培訓資料,共427頁,13個章節(jié):C語言概述、程序的靈魂—算法、數(shù)據(jù)類型 & 運算符與表達式、順序程序設(shè)計、
    發(fā)表于 03-12 14:50