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

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

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

C程序流程設(shè)計(jì)之選擇結(jié)構(gòu)

汽車電子技術(shù) ? 來(lái)源:嵌入式悅翔園 ? 作者:JamesBin ? 2023-02-17 14:26 ? 次閱讀

程序流程圖又稱程序框圖,是用統(tǒng)一規(guī)定的標(biāo)準(zhǔn)符號(hào)描述程序運(yùn)行具體步驟的圖形表示。程序框圖的設(shè)計(jì)是在處理流程圖的基礎(chǔ)上,通過(guò)對(duì)輸入輸出數(shù)據(jù)和處理過(guò)程的詳細(xì)分析,將計(jì)算機(jī)的主要運(yùn)行步驟和內(nèi)容標(biāo)識(shí)出來(lái)。程序框圖是進(jìn)行程序設(shè)計(jì)的最基本依據(jù),因此它的質(zhì)量直接關(guān)系到程序設(shè)計(jì)的質(zhì)量。

一、語(yǔ)句概述

C語(yǔ)句:以“;”作分隔符,編譯后產(chǎn)生機(jī)器指令。

C語(yǔ)句分類:

表達(dá)式語(yǔ)句:表達(dá)式加分號(hào)構(gòu)成。
空語(yǔ)句:;
復(fù)合語(yǔ)句:用 {…}括起來(lái)的一組語(yǔ)句
一般形式:{     [數(shù)據(jù)說(shuō)明部分;]
                    執(zhí)行語(yǔ)句部分;
            } 
說(shuō)明:
      “}”后不加分號(hào)
      語(yǔ)法上和單一語(yǔ)句相同
      復(fù)合語(yǔ)句可嵌套

二、程序的三種結(jié)構(gòu)

結(jié)構(gòu)化程序設(shè)計(jì)

基本思想:任何程序都可以用三種基本結(jié)構(gòu)表示,限制使用無(wú)條件轉(zhuǎn)移語(yǔ)句(goto)

結(jié)構(gòu)化程序:由三種基本結(jié)構(gòu)反復(fù)嵌套構(gòu)成的程序叫~

優(yōu)點(diǎn):結(jié)構(gòu)清晰,易讀,提高程序設(shè)計(jì)質(zhì)量和效率

三種基本結(jié)構(gòu)

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

圖片

選擇結(jié)構(gòu)

圖片

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

圖片

注:A,B,A1….An可以是一個(gè)簡(jiǎn)單語(yǔ)句,也可以是一個(gè)基本結(jié)構(gòu)

三、if選擇設(shè)計(jì)

if語(yǔ)句(條件選擇語(yǔ)句)

if語(yǔ)句的三種形式

形式一:

格式:if (expression)   statement

執(zhí)行過(guò)程:

if (x>y)
        printf(“%d”,x);

圖片

形式二:

格式:

if (expression)  statement
                     else   statement2

執(zhí)行過(guò)程:

if (x>y)   max=x;
       else         max=y;

圖片

形式三:

格式:

if ( expr1 )            statement1
else if (expr2 )      statement2
else if (expr3 )      statement3
…...
[ else              statementn  ]

執(zhí)行過(guò)程:

例:if (salary>1000)            index=0.4; 
        else if (salary>800)       index=0.3;
        else if (salary>600)       index=0.2;
        else if (salary>400)       index=0.1;
        else                                index=0;

圖片

說(shuō)明:

if后面的表達(dá)式類型任意

語(yǔ)句可以是復(fù)合語(yǔ)句

if(x)  <->if(x!=0)
if(!x) <->if(x==0)
例如:if(a==b&&x==y)    printf(“a=b,x=y”);
      if(3)    printf(“OK”);
      if(‘a(chǎn)’)   printf(“%d”,’a’);

例 考慮下面程序的輸出結(jié)果:

#include 
     main()
    {   int x,y;
         scanf(“%d,%d”,&x,&y);
         if(x>y)
             x=y;   y=x;
         else
             x++; y++;
         printf(“%d,%d\\n”,x,y);
}

運(yùn)行結(jié)果:

Compile Error!

if語(yǔ)句嵌套

if (expr1)
        if (expr2)   
              statement1
        else   
            statement2
if (expr1)
        if (expr2)   
             statement1
else
       statement3
if (expr1)
       statement1
else
        if(expr3)    
              statement3
        else   
             statement4
if (expr1)
        if (expr2)   statement1
        else           statement2
else
        if(expr3)    statement3
        else            statement4

例 輸入兩數(shù)并判斷其大小關(guān)系

#include 
main()
{   int x,y;
    printf("Enter integer x,y:");
    scanf("%d,%d",&x,&y);
    if(x!=y)
       if(x>y)  printf("X>Y\\n");
       else     printf("X);
    else
       printf("X==Y\\n");
}

運(yùn)行結(jié)果:

Enter  integer  x,y:12,23
            XEnter  integer  x,y:12,6
            X>Y
           Enter  integer  x,y:12,12
            X==Y

if ~ else 配對(duì)原則:缺省{ }時(shí),else總是和它上面離它最近的未配對(duì)的if配對(duì)

if(……)
    if(……)
        if(……)
        else…...
    else…...
else…...

例如:

if (a==b)
    if(b==c)
    printf(“a==b==c”);
else
     printf(“a!=b”);

修改后

if (a==b)
{      if(b==c)
       printf(“a==b==c”);
}
else
    printf(“a!=b”);

實(shí)現(xiàn)if~ else 正確配對(duì)方法:加{ }

四、switch語(yǔ)句

一般形式:

switch( 表達(dá)式)
{      case     E1:
                    語(yǔ)句組 1;
                    break;
        case     E2:
                   語(yǔ)句組 2;
                    break;
         …….
        case    En:
                  語(yǔ)句組 n;
                   break;
        [default:
                   語(yǔ)句組 ;
                    break;]
}

執(zhí)行過(guò)程:

圖片

說(shuō)明:

E1,E2,…En是常量表達(dá)式,且值必須互不相同
語(yǔ)句標(biāo)號(hào)作用,必須用break跳出
case后可包含多個(gè)可執(zhí)行語(yǔ)句,且不必加{ }
switch可嵌套
多個(gè)case可共用一組執(zhí)行語(yǔ)句

例如:

switch(score)
    {       case    5:    printf(“Very good!”);
             case    4:    printf(“Good!”);
             case    3:    printf(“Pass!”);
             case    2:    printf(“Fail!”);
             default  :    printf(“data error!”);
      }

運(yùn)行結(jié)果:score為5時(shí),輸出:

Very good! Good! Pass! Fail! data error!
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(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)投訴
  • 流程圖
    +關(guān)注

    關(guān)注

    2

    文章

    63

    瀏覽量

    18747
  • 程序設(shè)計(jì)
    +關(guān)注

    關(guān)注

    3

    文章

    261

    瀏覽量

    30395
  • 程序框圖
    +關(guān)注

    關(guān)注

    0

    文章

    8

    瀏覽量

    8399
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    選擇結(jié)構(gòu)程序設(shè)計(jì)

    選擇結(jié)構(gòu)程序設(shè)計(jì)要設(shè)計(jì)選擇結(jié)構(gòu)程序,要考慮兩個(gè)方面的問(wèn)題:一是在
    發(fā)表于 03-10 15:06

    選擇結(jié)構(gòu)程序設(shè)計(jì)

    實(shí)驗(yàn)  選擇結(jié)構(gòu)程序設(shè)計(jì) 一、實(shí)驗(yàn)?zāi)康?1)掌握邏輯表達(dá)式的正確書寫形式。(2)學(xué)會(huì)單分支和雙分支結(jié)構(gòu)程序的使用。(3)學(xué)
    發(fā)表于 09-23 19:27 ?2109次閱讀

    Labview程序框圖禁用結(jié)構(gòu)

    Labview程序框圖禁用結(jié)構(gòu),很好的Labview資料,快來(lái)下載學(xué)習(xí)吧。
    發(fā)表于 04-19 10:56 ?0次下載

    【實(shí)用】DSPC語(yǔ)言程序大全

    DSPC語(yǔ)言程序大全
    發(fā)表于 04-09 17:55 ?23次下載

    C語(yǔ)言教程之選擇結(jié)構(gòu)程序設(shè)計(jì)資料概述和設(shè)計(jì)實(shí)例免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是C語(yǔ)言教程之選擇結(jié)構(gòu)程序設(shè)計(jì)資料概述和設(shè)計(jì)實(shí)例免費(fèi)下載包括了:1.if條件分支結(jié)構(gòu)2.switch-case開關(guān)
    發(fā)表于 09-19 17:21 ?8次下載
    <b class='flag-5'>C</b>語(yǔ)言教程之<b class='flag-5'>選擇</b><b class='flag-5'>結(jié)構(gòu)</b><b class='flag-5'>程序</b>設(shè)計(jì)資料概述和設(shè)計(jì)實(shí)例免費(fèi)下載

    C語(yǔ)言程序設(shè)計(jì)實(shí)用教程之如何進(jìn)行順序程序資料和程序概述

    C程序流程一般分為順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)
    發(fā)表于 10-31 18:04 ?1次下載
    <b class='flag-5'>C</b>語(yǔ)言<b class='flag-5'>程序</b>設(shè)計(jì)實(shí)用教程之如何進(jìn)行順序<b class='flag-5'>程序</b>資料和<b class='flag-5'>程序</b>概述

    C語(yǔ)言程序設(shè)計(jì)實(shí)用教程之如何選擇結(jié)構(gòu)程序設(shè)計(jì)

    本文檔的主要內(nèi)容詳細(xì)介紹的是C語(yǔ)言程序設(shè)計(jì)實(shí)用教程之如何選擇結(jié)構(gòu)程序設(shè)計(jì):1 關(guān)系運(yùn)算符和關(guān)系表達(dá)式 2 邏輯運(yùn)算符邏輯表達(dá)式 3 if語(yǔ)句
    發(fā)表于 10-31 18:04 ?6次下載
    <b class='flag-5'>C</b>語(yǔ)言<b class='flag-5'>程序</b>設(shè)計(jì)實(shí)用教程之如何<b class='flag-5'>選擇</b><b class='flag-5'>結(jié)構(gòu)</b><b class='flag-5'>程序</b>設(shè)計(jì)

    C語(yǔ)言教程之如何選擇結(jié)構(gòu)程序設(shè)計(jì)的詳細(xì)資料概述

    本文檔的主要內(nèi)容詳細(xì)介紹的是C語(yǔ)言教程之如何選擇結(jié)構(gòu)程序設(shè)計(jì)的詳細(xì)資料概述。
    發(fā)表于 11-02 10:53 ?3次下載
    <b class='flag-5'>C</b>語(yǔ)言教程之如何<b class='flag-5'>選擇</b><b class='flag-5'>結(jié)構(gòu)</b><b class='flag-5'>程序</b>設(shè)計(jì)的詳細(xì)資料概述

    C語(yǔ)言程序設(shè)計(jì)教程之選擇結(jié)構(gòu)的資料講解

    本文檔的主要內(nèi)容詳細(xì)介紹的是C語(yǔ)言程序設(shè)計(jì)教程之選擇結(jié)構(gòu)的資料講解主要內(nèi)容包括了:1 語(yǔ)句與復(fù)合語(yǔ)句,2 if 語(yǔ) 句,3 if…else結(jié)構(gòu)
    發(fā)表于 01-08 14:19 ?11次下載
    <b class='flag-5'>C</b>語(yǔ)言<b class='flag-5'>程序</b>設(shè)計(jì)教程之<b class='flag-5'>選擇</b><b class='flag-5'>結(jié)構(gòu)</b>的資料講解

    C語(yǔ)言教程之使用選擇結(jié)構(gòu)設(shè)計(jì)C語(yǔ)言程序的資料說(shuō)明

    本文檔詳細(xì)介紹的是C語(yǔ)言教程之使用選擇結(jié)構(gòu)設(shè)計(jì)C語(yǔ)言程序的資料說(shuō)明主要內(nèi)容包括了:1.用邏輯運(yùn)算符實(shí)現(xiàn)
    發(fā)表于 02-15 11:26 ?10次下載
    <b class='flag-5'>C</b>語(yǔ)言教程之使用<b class='flag-5'>選擇</b><b class='flag-5'>結(jié)構(gòu)</b>設(shè)計(jì)<b class='flag-5'>C</b>語(yǔ)言<b class='flag-5'>程序</b>的資料說(shuō)明

    C語(yǔ)言程序設(shè)計(jì)教程之選擇結(jié)構(gòu)程序設(shè)計(jì)的資料說(shuō)明

    本文檔的主要內(nèi)容詳細(xì)介紹的是C語(yǔ)言程序設(shè)計(jì)教程之選擇結(jié)構(gòu)程序設(shè)計(jì)的資料說(shuō)明。
    發(fā)表于 02-21 14:26 ?4次下載
    <b class='flag-5'>C</b>語(yǔ)言<b class='flag-5'>程序</b>設(shè)計(jì)教程之<b class='flag-5'>選擇</b><b class='flag-5'>結(jié)構(gòu)</b><b class='flag-5'>程序</b>設(shè)計(jì)的資料說(shuō)明

    C語(yǔ)言實(shí)用教程之程序的控制結(jié)構(gòu)資料說(shuō)明

    本文檔詳細(xì)介紹的是C語(yǔ)言實(shí)用教程之程序的控制結(jié)構(gòu)資料說(shuō)明主要內(nèi)容包括了:1 算法及其描述方法,2 順序結(jié)構(gòu),3 選擇
    發(fā)表于 02-26 16:56 ?6次下載
    <b class='flag-5'>C</b>語(yǔ)言實(shí)用教程之<b class='flag-5'>程序</b>的控制<b class='flag-5'>結(jié)構(gòu)</b>資料說(shuō)明

    C語(yǔ)言程序設(shè)計(jì)第四講結(jié)構(gòu)程序設(shè)計(jì)選擇

    C語(yǔ)言程序設(shè)計(jì)第四講結(jié)構(gòu)程序設(shè)計(jì)選擇
    發(fā)表于 12-22 10:34 ?0次下載

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

    一個(gè)完整的C程序必須擁有一定的結(jié)構(gòu),這樣才可以規(guī)范的編輯C程序
    的頭像 發(fā)表于 02-21 14:31 ?1186次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>程序</b>的<b class='flag-5'>結(jié)構(gòu)</b>

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

    的方式逐條執(zhí)行各語(yǔ)句。簡(jiǎn)易順序結(jié)構(gòu)如下所示:分支結(jié)構(gòu)分支結(jié)構(gòu),又稱選擇結(jié)構(gòu),可以控制程序的部分
    的頭像 發(fā)表于 04-02 11:00 ?1568次閱讀
    <b class='flag-5'>C</b>語(yǔ)言基礎(chǔ)篇--<b class='flag-5'>選擇</b>/順序/循環(huán)<b class='flag-5'>結(jié)構(gòu)</b>