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

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

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

C語(yǔ)言的循環(huán)與分支

汽車電子技術(shù) ? 來源:微亮筆記 ? 作者: PASSION ? 2023-02-21 15:32 ? 次閱讀

我們大家都知道,c語(yǔ)言是一門** 結(jié)構(gòu)化 **的程序設(shè)計(jì)語(yǔ)言,程序的運(yùn)行都是以某種結(jié)構(gòu)和順序?yàn)楣羌苋?zhí)行的,那么本期就向大家介紹一下c語(yǔ)言的幾種結(jié)構(gòu)。

本期主要介紹分支與循環(huán)語(yǔ)句

1.什么是語(yǔ)句

2.if語(yǔ)句

3.switch語(yǔ)句

  • 什么是語(yǔ)句

c語(yǔ)言中用一個(gè)分號(hào) ;隔開的就是一條語(yǔ)句。例如:

int main()
{
   int a=0;//語(yǔ)句由分號(hào)隔開,一條語(yǔ)句由分號(hào)表示結(jié)束
   printf ("%d\\n" , a);
   ; //這也是一種語(yǔ)句
   return 0;
}

一個(gè)程序基本的組成單位就是語(yǔ)句,值得一提的是 即使一個(gè)語(yǔ)句中只有一個(gè)分號(hào)(如上所示),它也是一條正確的語(yǔ)句,我們后面會(huì)有特殊的用法。

  • 分支語(yǔ)句

圖片

如上圖,我們?cè)?a href="http://ttokpm.com/v/tag/1315/" target="_blank">編程中常會(huì)遇到上述的結(jié)構(gòu),它們含有兩個(gè)或多個(gè)分支,如果想準(zhǔn)確表達(dá)上圖所表示的意思,我們就要使用分支語(yǔ)句,其中包含if語(yǔ)句和switch語(yǔ)句。

  • lf語(yǔ)句

if語(yǔ)句的語(yǔ)法結(jié)構(gòu)

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


if(表達(dá)式){
??語(yǔ)句1;
}
else
{
??語(yǔ)句2;
}
//多分支
if(表達(dá)式1){
??語(yǔ)句1
}
else if(表達(dá)式2){
??語(yǔ)句2;
}
else {
??語(yǔ)句3;
}

以上三種結(jié)構(gòu)幾乎可用于一切的分支情況。

  • if語(yǔ)句如何執(zhí)行

對(duì)于這種結(jié)構(gòu)的分支語(yǔ)句來說:

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

只需要判斷表達(dá)式的值是否為真,若表達(dá)式為真則執(zhí)行語(yǔ)句,否則跳出分支語(yǔ)句。

如何判斷表達(dá)式是否為真?

表達(dá)式為零則為假,表達(dá)式為非零則為真

對(duì)于這種結(jié)構(gòu)的分支語(yǔ)句來說:

if(表達(dá)式){
??語(yǔ)句1;
}
else
{
??語(yǔ)句2;
}

只需要判斷表達(dá)式的值是否為真,若表達(dá)式為真則執(zhí)行語(yǔ)句1,否則執(zhí)行語(yǔ)句2。

對(duì)于這種結(jié)構(gòu)的分支語(yǔ)句來說:

if(表達(dá)式1){
??語(yǔ)句1
}
else if(表達(dá)式2){
??語(yǔ)句2;
}
else {
??語(yǔ)句3;
}

首先判斷表達(dá)式1的值是否為真,如果為真則執(zhí)行語(yǔ)句1,否則判斷表達(dá)式2的值是否為真,若表達(dá)式2的值為真則執(zhí)語(yǔ)句2,否則執(zhí)行語(yǔ)句3。

值得一提的是,if自動(dòng)匹配之后的一條語(yǔ)句,但若超過兩條,則需要用”{}“括起來。如下圖所示,程序返回了”4“,驗(yàn)證了我們的說法。

#include
int  test(int a)
{
  if (a)
    return 2;//若if包含下一條語(yǔ)句,程序會(huì)打印4,若包含兩條以上,程序會(huì)打印2
  return 4;
}
int main()
{
  int a = 1;
  int b=test(a);
  printf("%d\\n", b);
  return 0;
}
  • switch語(yǔ)句

switch也是一種分支語(yǔ)句。常常用于多分支的情況,例如,下面這種情景:

輸入1,輸出星期一
輸入2,輸出星期二
輸入3,輸出星期三
輸入4,輸出星期四
輸入5,輸出星期五
輸入6,輸出星期六
輸入7,輸出星期日

switch語(yǔ)句的語(yǔ)法結(jié)構(gòu)

switch(整型表達(dá)式)
{
??case 整型表達(dá)式值1:
????語(yǔ)句1;
??case 整型表達(dá)式值2:
????語(yǔ)句2;
??case 整型表達(dá)式值3:
????語(yǔ)句3;
??case 整型表達(dá)式值4:
????語(yǔ)句4;
…
??default :
????語(yǔ)句5;
}
  • switch語(yǔ)句如何執(zhí)行

    switch語(yǔ)句首先判斷整型表達(dá)式的值,當(dāng)整型表達(dá)式與某個(gè)case后的值i相等時(shí),則執(zhí)行語(yǔ)句i至最后一條語(yǔ)句,當(dāng)整型表達(dá)式的值與任意一個(gè)case后的值均不相等,則執(zhí)行default語(yǔ)句至最后一條語(yǔ)句。

  • switch中的break

    switch語(yǔ)句只能選擇從某條語(yǔ)句開始執(zhí)行,并不能選擇只執(zhí)行某條case后的語(yǔ)句。也就是說,switch語(yǔ)句在開始執(zhí)行后,除非遇到break或return,否則語(yǔ)句會(huì)逐個(gè)執(zhí)行接下來的case語(yǔ)句直到語(yǔ)句結(jié)束。這里可以借用break語(yǔ)句來實(shí)現(xiàn)多分支。

那么上面打印星期幾的問題就可用以下代碼來解決:

# include 
int main()
{
  int day;
  printf("請(qǐng)輸入day的值\\n");
  scanf_s("%d", &day);
  switch (day) {
  case 1:printf("星期一\\n");break;
  case 2:printf("星期二\\n");break;
  case 3:printf("星期三\\n");break;
  case 4:printf("星期四\\n");break;
  case 5:printf("星期五\\n");break;
  case 6:printf("星期六\\n");break;
  case 7:printf("星期日\(chéng)\n");break;
  }
}
  • switch語(yǔ)句的特殊應(yīng)用場(chǎng)景

那么如果我們的需求變成了”輸入15,輸出工作日,輸入67,輸出休息日“的話,我們可以通過調(diào)整輸出語(yǔ)句和break 語(yǔ)句的位置來實(shí)現(xiàn)。如下所示

#include
#include
#include
int main()
{
  int day;
  printf("請(qǐng)輸入day的值\\n");
  scanf_s("%d", &day);
  switch (day) {
  case 1:
  case 2:
  case 3:
  case 4:
  case 5:printf("工作日\(chéng)\n");break;
  case 6:
  case 7:printf("休息日\(chéng)\n");break;
  }
}
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    C語(yǔ)言基礎(chǔ)知識(shí)(5)--循環(huán)語(yǔ)句

    C語(yǔ)言基礎(chǔ)知識(shí)(5)--循環(huán)語(yǔ)句
    的頭像 發(fā)表于 06-15 10:18 ?2028次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>基礎(chǔ)知識(shí)(5)--<b class='flag-5'>循環(huán)</b>語(yǔ)句

    C語(yǔ)言中for循環(huán)的用法和應(yīng)用 C語(yǔ)言中for循環(huán)與while循環(huán)的區(qū)別

    C語(yǔ)言中的循環(huán)結(jié)構(gòu)時(shí),for循環(huán)是最常用的一種。它允許重復(fù)執(zhí)行一段代碼,直到滿足特定條件為止。
    發(fā)表于 08-18 16:33 ?2984次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>中for<b class='flag-5'>循環(huán)</b>的用法和應(yīng)用 <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>中for<b class='flag-5'>循環(huán)</b>與while<b class='flag-5'>循環(huán)</b>的區(qū)別

    C語(yǔ)言循環(huán)結(jié)構(gòu)的使用方法

    詳細(xì)介紹了C語(yǔ)言while循環(huán)結(jié)構(gòu)、do-while循環(huán)結(jié)構(gòu)、for循環(huán)結(jié)構(gòu)、循環(huán)退出語(yǔ)句的語(yǔ)法
    發(fā)表于 11-02 11:26 ?1503次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b><b class='flag-5'>循環(huán)</b>結(jié)構(gòu)的使用方法

    C語(yǔ)言for循環(huán)的用法和注意事項(xiàng)

    C 語(yǔ)言是一種廣泛使用的編程語(yǔ)言,它具有簡(jiǎn)潔、高效、靈活的特點(diǎn)。C 語(yǔ)言中有很多控制流程的語(yǔ)句,其中 for
    的頭像 發(fā)表于 11-20 18:27 ?2192次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>for<b class='flag-5'>循環(huán)</b>的用法和注意事項(xiàng)

    C語(yǔ)言入門教程-if語(yǔ)句和while循環(huán)

    if語(yǔ)句和while循環(huán) C語(yǔ)言中,if語(yǔ)句和while循環(huán)都會(huì)用到布爾表達(dá)式。下面是一個(gè)使用if語(yǔ)句的簡(jiǎn)單例子: #include
    發(fā)表于 07-29 10:48 ?8506次閱讀

    C++語(yǔ)言基礎(chǔ)講解視頻do while循環(huán)語(yǔ)句

    C++語(yǔ)言基礎(chǔ)講解視頻do while循環(huán)語(yǔ)句
    發(fā)表于 01-14 15:32 ?5次下載

    C++語(yǔ)言基礎(chǔ)講解視頻Switch分支條件判斷語(yǔ)句

    C++語(yǔ)言基礎(chǔ)講解視頻Switch分支條件判斷語(yǔ)句
    發(fā)表于 01-14 08:00 ?7次下載

    C++語(yǔ)言基礎(chǔ)講解視頻while循環(huán)語(yǔ)句

    C++語(yǔ)言基礎(chǔ)講解視頻while循環(huán)語(yǔ)句,喜歡的朋友可以下載來學(xué)習(xí)。
    發(fā)表于 01-14 15:31 ?3次下載

    C語(yǔ)言教程之循環(huán)顯示隨機(jī)數(shù)問題

    C語(yǔ)言教程之循環(huán)顯示隨機(jī)數(shù)問題,很好的C語(yǔ)言資料,快來學(xué)習(xí)吧。
    發(fā)表于 04-25 15:03 ?0次下載

    C語(yǔ)言教程之使用循環(huán)結(jié)構(gòu)設(shè)計(jì)C語(yǔ)言程序的資料說明

    本文檔詳細(xì)介紹的是C語(yǔ)言教程之使用循環(huán)結(jié)構(gòu)設(shè)計(jì)C語(yǔ)言程序的資料說明主要內(nèi)容包括了:1.while循環(huán)
    發(fā)表于 02-15 11:27 ?2次下載
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>教程之使用<b class='flag-5'>循環(huán)</b>結(jié)構(gòu)設(shè)計(jì)<b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>程序的資料說明

    C語(yǔ)言的3種循環(huán)結(jié)構(gòu)分析

    C語(yǔ)言循環(huán)結(jié)構(gòu)有for循環(huán)、while循環(huán)、do循環(huán)和goto
    的頭像 發(fā)表于 05-20 13:43 ?1.1w次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>的3種<b class='flag-5'>循環(huán)</b>結(jié)構(gòu)分析

    從零開始跟我學(xué)C語(yǔ)言之分支結(jié)構(gòu)(下)

    Hi!這里是漁火。今天我們繼續(xù)來講C語(yǔ)言分支結(jié)構(gòu)。在C語(yǔ)言里,可以使用if-else實(shí)現(xiàn)分支結(jié)
    的頭像 發(fā)表于 02-07 09:27 ?772次閱讀

    C語(yǔ)言循環(huán)分支-2

    而在c語(yǔ)言中我們經(jīng)常會(huì)需要重復(fù)地進(jìn)行一些指令,但是不斷的編輯重復(fù)代碼不僅很繁瑣,還容易出現(xiàn)bug,因此循環(huán)語(yǔ)句的使用就非常有必要。今天要介紹的就是循環(huán)語(yǔ)句相關(guān)的知識(shí)。
    的頭像 發(fā)表于 02-21 15:35 ?661次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>的<b class='flag-5'>循環(huán)</b>與<b class='flag-5'>分支</b>-2

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

    讀取更多技術(shù)文章,請(qǐng)掃碼關(guān)注前言在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),它
    的頭像 發(fā)表于 04-02 11:00 ?1452次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>基礎(chǔ)篇--選擇/順序/<b class='flag-5'>循環(huán)</b>結(jié)構(gòu)

    c語(yǔ)言在while中嵌套if循環(huán)

    C語(yǔ)言是一種廣泛使用的面向過程編程語(yǔ)言,它提供了許多控制結(jié)構(gòu)來幫助程序員實(shí)現(xiàn)復(fù)雜的邏輯和流程控制。其中,while循環(huán)和if語(yǔ)句是非常常見和重要的控制結(jié)構(gòu)。本文將詳細(xì)介紹
    的頭像 發(fā)表于 11-22 10:09 ?5381次閱讀