亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 8.學c51的基礎 8 《 控制流程語句 》.txt

?? 學習51單片機必備的一些C語言基礎知識
?? TXT
字號:
========================================
詳細內容八:學C51的基礎---- 控制流程語句
========================================
    1.3 控制流程語句
    Turbo C2.0提供了豐富、靈活的控制流程語句, 主要有:條件語句、循環語句和開關語句。下面將對這些語句作詳細介紹。

    1.3.1  條件語句
    象其它語言一樣Turbo C2.0也提供條件語句。在Turbo C2.0中條件語句的一般形式為:

    if(表達式)
       語句1;
    else
       語句2;

    上述結構表示: 如果表達式的值為非0(TURE)即真, 則執行語句1, 執行完語句1從語句2后開始繼續向下執行; 如果表達式的
值為0(FALSE)即假, 則跳過語句1而執行語句2。所謂表達式是指關系表達式和邏輯表達式的結合式, 關于表達式前面已作過介紹, 
這是不再重復。
    注意:
    1. 條件執行語句中"else 語句2;"部分是選擇項, 可以缺省, 此時條件語句變成:

      if(表達式)  語句1;

    表示若表達式的值為非0則執行語句1 , 否則跳過語句1繼續執行。
    2. 如果語句1或語句2有多于一條語句要執行時, 必須使用 "{}" 把這些語句包括在其中, 此時條件語句形式為:

      if(表達式)
      	{
          語句體1;
      	}
      else
      	{
          語句體2;
      	}

    3. 條件語句可以嵌套, 這種情況經常碰到, 但條件嵌套語句容易出錯, 其原因主要是不知道哪個if對應哪個else。例如:

      if(x>20||x<-10)
      if(y<=100&&y>x)
          printf("Good");
      else
          printf("Bad");

    對于上述情況, Turbo C2.0規定: else 語句與最近的一個if語句匹配, 上例中的 else 與 if(y<=100&&y>x) 相匹配。為了
使 else與if(x>20||x<-10) 相匹配, 必須用花括號。如下所示:

      if(x>20||x<-10)
      {
          if(y<=100&&y>x)
            printf("Good");
       }
       else
          printf("Bad");

    4. 可用階梯式if-else-if結構。
    階梯式結構的一般形式為:

      if(表達式1)
         語句1;
      else if(表達式2)
        語句2;
      else if(表達式3)
        語句3;
          .
          .
          .
      else
        語句n;

    這種結構是從上到下逐個對條件進行判斷, 一旦發現條件滿點足就執行與它有關的語句, 并跳過其它剩余階梯; 若沒有一個條
件滿足, 則執行最后一個else語句n。最后這個else常起著"缺省條件"的作用。同樣, 如果每一個條件中有多于一條語句要執行時,
必須使用"{}"把這些語句包括在其中。


    1.3.2 循環語句
    Turbo C2.0提供三種基本的循環語句: for語句、while語句和do-while語句。

    1.3.2.1  for循環
    for循環是開界的。它的一般形式為:

     for(<初始化>; <條件表過式>; <增量>)
          語句;

    初始化總是一個賦值語句, 它用來給循環控制變量賦初值; 條件表達式是一個關系表達式, 它決定什么時候退出循環; 增量定
義循環控制變量每循環一次后按什么方式變化。這三個部分之間用";"分開。

    例如:

     for(i=1; i<=10; i++)
          語句;

    上例中先給i賦初值1, 判斷i是否小于等于10, 若是則執行語句, 之后值增加1。再重新判斷, 直到條件為假, 即i>10時, 結束
循環。
    注意:
    1. for循環中語句可以為語句體, 但要用"{"和"}"將參加循環的語句括起來。
    2. for循環中的"初始化"、"條件表達式"和"增量"都是選擇項, 即可以缺省, 但";"不能缺省。省略了初始化, 表示不對循環
控制變量賦初值。省略了條件表達式, 則不做其它處理時便成為死循環。省略了增量, 則不對循環控制變量進行操作, 這時可在語
句體中加入修改循環控制變量的語句。
    3. for循環可以有多層嵌套。
    4. for(;;)表示死循環.

    例16:

     main()
     {
          int i, j, k;
          printf("i j k\n");
          for (i=0; i<2; i++)
            for(j=0; j<2; j++)
               for(k=0; k<2; k++)
                  printf(%d %d %d\n", i, j, k);
     }

    輸出結果為:
     i  j  k
     0  0  0
     0  0  1
     0  1  0
     0  1  1
     1  0  0
     1  0  1
     1  1  0
     1  1  1

    1.3.2.2 while循環
    while循環的一般形式為:

      while(條件)
          語句;

    while循環表示當條件為真時, 便執行語句。直到條件為假才結束循環。并繼續執行循環程序外的后續語句。    
    例17:
     #include<stdio.h>
     main()
     {
          char c;
          c=''\0'';             /*初始化c*/
          while(c!=''\X0D'')    /*回車結束循環*/
            c=getche();       /*帶回顯的從鍵盤接收字符*/
     }

    上例中, while循環是以檢查c是否為回車符開始, 因其事先被初始化為空, 所以條件為真, 進入循環等待鍵盤輸入字符; 一旦
輸入回車, 則c=''\X0D'', 條件為假, 循環便告結束。
    與for循環一樣,while循環總是在循環的頭部檢驗條件,這就意味著循環可能什么也不執行就退出。
    注意:
    1. 在while循環體內也允許空語句。
       例如:  while((c=getche())!=''\X0D'');  //這個循環直到鍵入回車為止。
    2. 可以有多層循環嵌套。
    3. 語句可以是語句體, 此時必須用"{}"括起來。
    4. while(1);表示條件始終成立,即死循環.
    例18:

     #include<stdio.h>
     main()
     {
          char c, fname[13];
          FILE *fp;                /*定義文件指針*/
          printf("File name:");    /*提示輸入文件名*/
          scanf("%s", fname);      /*等待輸入文件名*/
          fp=fopen(fname, "r");    /*打開文件只讀*/
          while((c=fgetc(fp)!=EOF) /*讀取一個字符并判斷是否到文件結束*/
               putchar(c);         /*文件未結束時顯示該字符*/
     }

    1.3.2.3 do-while 循環
    do-while 循環的一般格式為:

       do
           語句;
       while(條件);

    這個循環與while循環的不同在于: 它先執行循環中的語句, 然后再判斷條件是否為真, 如果為真則繼續循環; 如果為假, 則
終止循環。因此, do-while循環至少要執行一次循環語句。
    同樣當有許多語句參加循環時, 要用"{"和"}"把它們括起來。

1.3.3 開關語句
    在編寫程序時, 經常會碰到按不同情況分轉的多路問題, 這時可用嵌套 if-else-if 語句來實現, 但if-else-if語句使用不方
便, 并且容易出錯。對這種情況, Turbo C2.0提供了一個開關語句。開關語句格式為:

          switch(變量)
          {
               case 常量1:
                    語句1或空;
               case 常量2:
                    語句2或空;
                    .
                    .
                    .
               case 常量n;
                    語句n或空;
               default:
                    語句n+1或空;
          }

    執行switch開關語句時, 將變量逐個與case后的常量進行比較, 若與其中一個相等, 則執行該常量下的語句, 若不與任何一個
常量相等, 則執行default 后面的語句。
    注意:
    1. switch中變量可以是數值, 也可以是字符。
    2. 可以省略一些case和default。
    3. 每個case或default后的語句可以是語句體, 但不需要使用"{}"括起來。

    下例的switch中變量為整數型。

    例19:

     main()
     {
          int test;
          for(test=0; test<=10; test++)
          {
               switch(test)                  /*變量為整型數的開關語句*/
               {
                    case 1:
                         printf("%d\n", test);
                         break;              /*退出開關語句*/
                    case 2:
                         printf("%d\n", test);
                         break;
                    case 3:
                         printf("%d\n", test);
                         break;
                    default:
                         puts("Error");
                         break;
               }
          }
     }

    下例的switch中變量為字符型。

    例20:

     #include<stdio.h>
     main()
     {
          char c;
          while(c!=27)     /*循環直到按Esc鍵結束*/
          {
               c=getch();   /*從鍵盤不回顯接收一個字符*/
               switch(c)
               {
                    case ''A'':  /*接收的字符為''A''*/
                         putchar(c);
                         break;  /*退出開關語句*/
                    case ''B'':
                         putchar(c);
                         break;
                    default:     /*接收的字符非''A''和''B''*/
                         puts("Error");
                         break;
               }
          }
     }


    1.3.4 break、continue和goto語句

    1.3.4.1 break語句
    break語句通常用在循環語句和開關語句中。當break用于開關語句switch中時, 可使程序跳出switch而執行switch以后的語
句; 如果沒有break語句, 則將成為一個死循環而無法退出。break在switch 中的用法已在前面介紹開關語句時的例子中碰到,這
里不再舉例。
    當break語句用于do-while、for、while循環語句中時, 可使程序終止循環而執行循環后面的語句, 通常break語句總是與if
語句聯在一起。 即滿足條件時便跳出循環。

    例19:

     main()
     {
          int i=0;
          char c;
          while(1)                 /*設置循環*/
          {
               c=''\0'';             /*變量賦初值*/
               while(c!=13&&c!=27) /*鍵盤接收字符直到按回車或Esc鍵*/
               {
                    c=getch();
                    printf("%c\n", c);
               }
               if(c==27)
                    break;          /*判斷若按Esc鍵則退出循環*/
               i++;
               printf("The No. is %d\n", i);
          }
          printf("The end");
     }

    注意:
    1. break語句對if-else的條件語句不起作用。
    2. 在多層循環中, 一個break語句只向外跳一層。

    1.3.4.2 continue 語句
    continue語句的作用是跳過循環本中剩余的語句而強行執行下一次循環。
    continue語句只用在for、while、do-while等循環體中,常與if條件語句一起使用,用來加速循環。

    例20:

     main()
     {
          char c;
          while(c!=0X0D)      /*不是回車符則循環*/
          {
               c=getch();
               if(c==0X1B)
                    continue; /*若按Esc鍵不輸出便進行下次循環*/
               printf("%c\n", c);
          }
     }

    1.3.4.3 goto 語句
    goto語句是一種無條件轉移語句, 與BASIC中的goto語句相似。goto 語句的使用格式為:

    goto  標號;

    其中標號是Turbo C2.0中一個有效的標識符, 這個標識符加上一個":" 一起出現在函數內某處, 執行goto語句后, 程序將跳轉
到該標號處并執行其后的語句。另外標號必須與goto語句同處于一個函數中, 但可以不在一個循環層中。通常 goto 語句與if條件
語句連用, 當滿足某一條件時, 程序跳到標號處運行。
    goto語句通常不用, 主要因為它將使程序層次不清, 且不易讀, 但在多層嵌套退出時, 用goto語句則比較合理。
    例19用goto語句時變為:

    例21:

     main()
     {
          int i=0;
          char c;
          while(1)
          {
               c=''\0'';
               while(c!=13)
               {
                    c=getch();
                    if(c==27)
                      goto quit;
                    printf("%c\n", c);
               }
               i++;
               printf("The No. is %d\n", i);
          }
          quit:
               printf("The end");
     } 



 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区三区免费| 欧美一区二区在线免费播放 | 欧洲一区二区av| 欧美一区二区播放| 亚洲免费电影在线| 国产一区三区三区| 67194成人在线观看| 一色桃子久久精品亚洲| 精品一区二区三区在线视频| 欧美在线观看一二区| 国产欧美综合色| 久久er99热精品一区二区| 欧美色图一区二区三区| 中文字幕成人网| 韩国成人在线视频| 91精品国产综合久久精品app| 亚洲欧洲精品一区二区三区| 极品美女销魂一区二区三区 | 亚洲国产精品久久久久婷婷884| 国产999精品久久久久久绿帽| 777午夜精品免费视频| 一二三区精品福利视频| 91丨九色丨尤物| 香蕉加勒比综合久久| 91视频在线看| 综合久久久久综合| 99久久精品免费看| 日韩毛片一二三区| 色偷偷88欧美精品久久久| 国产精品久久毛片av大全日韩| 国产成人av一区二区三区在线观看| 日韩一区二区高清| 蜜乳av一区二区三区| 日韩欧美中文字幕公布| 日本不卡的三区四区五区| 欧美一区二区三区视频在线| 奇米影视一区二区三区小说| 91精品国产综合久久久蜜臀粉嫩| 午夜a成v人精品| 欧美精品777| 久久精品理论片| 精品国产乱码久久久久久夜甘婷婷 | 亚洲成人精品在线观看| 欧美日韩一区二区三区视频| 天堂资源在线中文精品| 91精品啪在线观看国产60岁| 亚洲午夜电影在线| 91精品欧美综合在线观看最新| 午夜av一区二区三区| 日韩免费观看高清完整版| 国产综合色精品一区二区三区| 国产亚洲欧美一级| 91小视频免费观看| 日韩激情一二三区| 久久久久青草大香线综合精品| 国产91丝袜在线18| 夜色激情一区二区| 欧美电视剧免费观看| 高清日韩电视剧大全免费| 亚洲人妖av一区二区| 欧美日韩国产一级片| 精品写真视频在线观看| 国产精品免费久久久久| 欧美日韩亚洲综合一区| 韩国欧美一区二区| 综合激情成人伊人| 日韩免费一区二区| 97久久超碰国产精品| 日本伊人精品一区二区三区观看方式 | 久久精品国产77777蜜臀| 中文字幕av免费专区久久| 欧美人伦禁忌dvd放荡欲情| 经典三级一区二区| 亚洲综合激情另类小说区| 欧美mv日韩mv| 91亚洲资源网| 国内一区二区在线| 亚洲一二三四在线| 久久久久久免费网| 欧美日韩一区二区三区在线看 | 337p粉嫩大胆噜噜噜噜噜91av| 波多野结衣中文一区| 美洲天堂一区二卡三卡四卡视频| 国产精品污网站| 日韩你懂的在线播放| 欧美亚洲国产一区二区三区va| 国产a精品视频| 老司机精品视频在线| 亚洲香蕉伊在人在线观| 欧美国产乱子伦| 久久综合久久综合久久| 欧美日韩高清一区二区三区| 波多野结衣中文字幕一区 | 亚洲综合久久久| 中文字幕一区二区三区不卡在线| 日韩欧美在线网站| 欧美日韩国产综合视频在线观看| 成人爱爱电影网址| 国产成人在线视频播放| 久久 天天综合| 美女视频黄频大全不卡视频在线播放 | 99re亚洲国产精品| 国产白丝网站精品污在线入口| 蜜臂av日日欢夜夜爽一区| 午夜欧美大尺度福利影院在线看| 亚洲女子a中天字幕| 中文字幕亚洲区| 国产精品国产精品国产专区不片| 26uuu精品一区二区在线观看| 91精品国产品国语在线不卡| 欧美三级一区二区| 欧美色图第一页| 欧美精品 日韩| 91麻豆精品国产自产在线观看一区 | 亚洲国产毛片aaaaa无费看| 亚洲另类春色国产| 夜夜爽夜夜爽精品视频| 亚洲一级在线观看| 亚洲电影你懂得| 日韩国产成人精品| 蜜臀av在线播放一区二区三区| 蜜臀av性久久久久蜜臀aⅴ流畅 | 夜夜精品视频一区二区| 一区二区三区电影在线播| 一区二区三区中文字幕| 亚洲国产日韩一区二区| 日韩国产在线观看一区| 久久 天天综合| 成人深夜福利app| 91丨国产丨九色丨pron| 欧美婷婷六月丁香综合色| 欧美日韩日日摸| 欧美不卡一区二区三区四区| 久久久久久黄色| 亚洲人成网站影音先锋播放| 亚洲制服丝袜在线| 久久66热偷产精品| eeuss鲁一区二区三区| 欧美性色黄大片手机版| 日韩欧美二区三区| 国产精品午夜久久| 亚洲伊人色欲综合网| 久久国产剧场电影| 97久久久精品综合88久久| 欧美日韩国产色站一区二区三区| 日韩一区二区在线免费观看| 国产亚洲自拍一区| 亚洲综合免费观看高清在线观看 | 一区二区三区四区蜜桃| 日韩av一二三| 成人精品免费网站| 337p亚洲精品色噜噜狠狠| 欧美激情一区在线观看| 亚洲国产成人高清精品| 国产主播一区二区三区| 91高清视频在线| www国产亚洲精品久久麻豆| 亚洲六月丁香色婷婷综合久久| 久久国产精品72免费观看| 色综合久久88色综合天天| 精品美女被调教视频大全网站| 亚洲日本成人在线观看| 国产一区二区三区观看| 在线观看精品一区| 欧美经典三级视频一区二区三区| 午夜激情久久久| 91蜜桃在线观看| 久久影院电视剧免费观看| 亚洲一区二区三区四区五区黄 | 欧美亚洲自拍偷拍| 国产欧美日韩亚州综合 | 亚洲三级在线看| 国产剧情在线观看一区二区| 欧美日韩dvd在线观看| 国产精品乱码一区二区三区软件| 奇米色一区二区| 色婷婷综合在线| ...xxx性欧美| 成人午夜av在线| 精品欧美一区二区在线观看| 午夜激情一区二区| 91国产成人在线| 亚洲精品国产第一综合99久久| 国产麻豆视频精品| 精品美女一区二区| 老司机精品视频在线| 日韩一区二区三免费高清| 亚洲午夜私人影院| 在线观看日韩av先锋影音电影院| 国产精品久久久久久福利一牛影视| 麻豆精品国产传媒mv男同 | 国产精品传媒视频| 国产中文字幕精品| 久久网站热最新地址| 国内精品伊人久久久久av一坑 | 中文字幕在线不卡一区| 国产成人av在线影院| 久久精品亚洲一区二区三区浴池| 美女久久久精品| 日韩三级视频在线看|