精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

從零開始跟我學C語言之循環結構(下)

jf_ZqFkd6Up ? 來源:linux迷 ? 2023-02-12 17:27 ? 次閱讀

Hi!這里是漁火。今天我們來講用while語句和do-while語句實現循環結構。

C語言中,使用while語句完成不定次數的循環,如果滿足循環條件,則反復執行循環體語句,當循環條件不滿足時退出循環。while語句在使用時,總是先要判斷一個條件,使用可以用while語句實現“當型”循環。while語句的一般形式如下:while(表達式)循環體;。接下來我們來看一個例子。

【由鍵盤輸入一串字符,分別統計輸入字符中數字字符、字母字符以及其他字符的個數。】


#include
//2023.2.5漁火 Linux迷 www.linuxmi.com
int main()
{
  int d,l,o;
  char ch;
  d=l=o=0;
  printf("請輸入一串字符:");
  while((ch=getchar())!='
')
    if((ch>='0')&&(ch<='9'))
      d++;
    else if ((ch>='a')&&(ch<='z')||(ch>='A')&&(ch<='Z'))
      l++;
    else 
      o++;
  printf("數字%d個,字母%d個,其他%d個
",d,l,o);
          //2023.2.5漁火 Linux迷 www.linuxmi.com
  return 0;
}
運行結果如下://隨便輸入字母字符數字

eb652f02-aab6-11ed-bfe3-dac502259ad0.png

分析:按照題意,由鍵盤輸入一行字符是一個重復的動作,每輸入一個字符都需要判斷屬于哪種字符,分別進行統計。若輸入的是一個回車符時,程序運行結束。(ch=getchar())!=' ' 不能寫成ch=getchar()!=' ' 兩者不等價。循環體為為一條完整的if語句,若有多條語句時,必須使用復合語句的形式。while后面的括號“()”不可省略。

在C語言中,do-while語句也用于完成不定次數的循環,與while語句不同的是,do-while語句首先執行一次循環體,然后判斷循環條件,如果滿足,則反復執行循環語句,否則結束循環。do-while語句的一般形式如下:do 循環體 while(表達式);。接下來我們來看兩個例子。

【求自然數的最大公約數和最小公倍數】


#include
//2023.2.5漁火 Linux迷 www.linuxmi.com
int main()
{
  int a,b,r,n,m;
  printf("請輸入兩個整數:");
  scanf("%d%d",&a,&b);
  m=a,n=b;
  do
  {
    r=a%b;
    a=b;
    b=r;
   } while(r!=0);
   printf("%d和%d的最大公約數是:%d
",m,n,a);
   printf("最小公倍數是:%d",m*n/a);
          //2023.2.5漁火 Linux迷 www.linuxmi.com
  return 0;
}


運行結果如下://輸入12 72

eb953f44-aab6-11ed-bfe3-dac502259ad0.png

【輸入一個整數,統計該數的位數】


#include
//2023.2.5漁火 Linux迷 www.linuxmi.com
int main()
{
  long n,m;
  int count=0;
  printf("請輸入一個整數:");
  scanf("%ld",&n);
  m=n;
  if(n<0)n=-m;
  do{
    n=n/10;
    count++;
  } while(n!=0);
  printf("整數%ld有%d位數
",m,count);
            //2023.2.5漁火 Linux迷 www.linuxmi.com 
  return 0;
}
運行結果如下://輸入1235698

ebb84962-aab6-11ed-bfe3-dac502259ad0.png 許多時候當循環結構中出現多個循環條件時,要求當某個條件滿足時會立即結束循環,或者循環結構中根據條件會跳過某些語句繼續循環,這就要在循環結構中配合使用break語句和continue語句。

break語句的一般形式如下:break;。當break語句用于循環語句中時,可使程序終止循環而轉去執行循環語句的后繼語句。通常break語句總是與if語句一起配合使用,即滿足條件時便跳出循環。

continue語句的作用是跳過循環體continue后面的語句,繼續下一次循環。continue語句只能用在循環語句中,常與if語句一起使用。continue語句的一般形式如下:continue;。我們來看一個用到continue語句的程序設計。

【把1~100之間能被7整除的數,以每行5個的形式在屏幕上輸出。】


#include
//2023.2.5漁火 Linux迷 www.linuxmi.com
int main()
{
  int i,n=1;
  for(i=1;i<=100;i++)
  {
    if(i%7!=0)
      continue;
    printf("%4d",i);
    if(n++%5==0)printf("
");
  }
          //2023.2.5漁火 Linux迷 www.linuxmi.com
  return 0;
}
ebea642e-aab6-11ed-bfe3-dac502259ad0.png

在C語言中,還有一種可以實現循環控制的語句,即goto語句。goto語句的一般形式如下:goto語句標號;。

說明:語句標號是一個有效的標識符,使用時在語句的后面跟一個“;”出現在函數中某語句的前面。程序執行到goto語句時,會控制跳轉到該語句標號處,達到控制循環的目的。語句標號必須與goto語句處于同一個函數中。通常goto語句與if語句連用實現循環控制。大型程序中由于goto語句可能存在不合理的使用,會使程序結構變壞,所以結構化程序設計中,不建議使用goto語句。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11225

    瀏覽量

    208920
  • C語言
    +關注

    關注

    180

    文章

    7598

    瀏覽量

    136182
  • 程序
    +關注

    關注

    116

    文章

    3776

    瀏覽量

    80848
  • 函數
    +關注

    關注

    3

    文章

    4304

    瀏覽量

    62429
  • 循環結構
    +關注

    關注

    0

    文章

    22

    瀏覽量

    7716

原文標題:從零開始跟我學 C 語言之循環結構(下)

文章出處:【微信號:Linux迷,微信公眾號:Linux迷】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    跟我學C語言之順序結構(上)

    hi!這里是漁火。今天我們來講講 C 語言的順序結構。所謂順序結構就是按照程序代碼的書寫順序,自上而下依次執行。我們來看一個例子,感受順序
    發表于 02-02 10:06 ?539次閱讀

    從零開始單片機C語言

    本帖最后由 igbt 于 2011-4-21 10:12 編輯 《從零開始單片機C語言》是單片機入門教材。
    發表于 04-21 10:04

    從零開始電路基礎》(從零開始電子技術叢書)

    電氣控制與PLC技術].劉建清.掃描版.pdf[從零開始電子測量技術].李建清.掃描版.pdf[從零開始CPLD和Verilog.HDL編程技術].李建清.掃描版.pdf[
    發表于 06-05 23:12

    從零開始單片機C語言——PDF

    `下載地址:http://yunpan.cn/QGCsezJtF5mjp[從零開始單片機C語言].李建清.掃描版`
    發表于 09-29 16:28

    從零開始單片機C語言,很全的資料

    `從零開始單片機C語言,很全的資料需要的網盤里取從零開始單片機
    發表于 07-22 09:20

    從零開始電子》叢書全套網盤分享

    從零開始模擬電子技術鏈接:https://pan.baidu.com/s/13rp09WUy3z_CZMJEZMrzkA提取碼:othe【從零開始電子叢書】
    發表于 06-28 18:45

    初學者都在看!!從零開始單片機C語言從零開始電子叢書】

    初學者都在看!!從零開始單片機C語言從零開始電子叢書】
    發表于 07-27 15:32

    跟我學數字電路

    跟我學數字電路
    發表于 04-09 23:09 ?0次下載

    從零開始單片機C語言 李建清.掃描版

    電子發燒友網站提供《從零開始單片機C語言 李建清.掃描版.txt》資料免費下載
    發表于 08-29 16:59 ?0次下載

    [從零開始單片機C語言].李建清.掃描版_部分2

    電子發燒友網站提供《[從零開始單片機C語言].李建清.掃描版_部分2.txt》資料免費下載
    發表于 08-31 08:07 ?0次下載

    從零開始單片機C語言.haozip02

    從零開始單片機C語言.haozip02,論壇只允許上傳小于20M的壓縮包, 總共分兩卷,需要下載兩個壓縮包才能解壓成功。
    發表于 08-16 18:54 ?0次下載

    從零開始單片機C語言.haozip01

    從零開始單片機C語言.haozip01,論壇只允許上傳小于20M的壓縮包, 總共分兩卷,需要下載兩個壓縮包才能解壓成功。
    發表于 08-16 19:37 ?0次下載

    從零開始跟我學C語言之分支結構(上)

    今天我們來講分支結構。計算機在執行程序時,通常都是按照語句的書寫順序執行的,但在許多情況需要根據條件選擇所要執行的語句,這就選擇所要的語句。C語言中用于實現分支
    的頭像 發表于 02-06 10:14 ?884次閱讀

    從零開始跟我學C語言之分支結構

    Hi!這里是漁火。今天我們繼續來講C語言的分支結構。在C語言里,可以使用if-else實現分支結構
    的頭像 發表于 02-07 09:27 ?785次閱讀

    從零開始跟我學C語言之循環結構(上)

    Hi!這里是漁火。今天我們來學校C語言中的循環結構循環結構
    的頭像 發表于 02-10 15:30 ?827次閱讀