最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言 while語句的用法詳解

 更新時間:2016年07月26日 11:51:46   投稿:lqh  
本文主要介紹C語言while 語句,這里對while 循環(huán)做詳細講解,并提供示例代碼,希望能幫助學習C語言的同學

在C語言中,共有三大常用的程序結(jié)構(gòu):

順序結(jié)構(gòu):代碼從前往后執(zhí)行,沒有任何“拐彎抹角”;

選擇結(jié)構(gòu):也叫分支結(jié)構(gòu),重點要掌握 if else、switch 以及條件運算符;

循環(huán)結(jié)構(gòu):重復執(zhí)行同一段代碼。

前面講解了順序結(jié)構(gòu)和選擇結(jié)構(gòu),本節(jié)開始講解循環(huán)結(jié)構(gòu)。所謂循環(huán)(Loop),就是重復地執(zhí)行同一段代碼,例如要計算 1+2+3+……+99+100 的值,就要重復進行99次加法運算。

while循環(huán)

while循環(huán)的一般形式為:
    while(表達式){
        語句塊
    }

其中表達式稱為循環(huán)條件,語句塊稱為循環(huán)體。

while語句的意思是:先計算表達式的值,當值為真(非0)時, 執(zhí)行循環(huán)體語句;執(zhí)行完循環(huán)體語句,再次計算表達式的值,如果為真,繼續(xù)執(zhí)行循環(huán)體……這個過程會一直重復,直到表達式的值為假(0),就退出循環(huán),執(zhí)行后面的語句。其執(zhí)行過程如下圖所示:

用while語句計算1加到100的值:

#include <stdio.h>
int main(void){
  int i=1, sum=0;
  while(i<=100){
    sum+=i;
    i++;
  }
  printf("%d\n",sum);
  return 0;
}

運行結(jié)果:

5050

代碼分析:

1) 程序運行到while語句時,因為 i=1,i<=100 的值為真,所以執(zhí)行循環(huán)體;執(zhí)行結(jié)束后 i 的值變?yōu)?2,sum 的值變?yōu)?1。

2) 接下來會繼續(xù)判斷 i<=100是否成立,因為此時 i=2,i<=100 成立,所以繼續(xù)執(zhí)行循環(huán)體;執(zhí)行結(jié)束后 i 的值變?yōu)?3,sum 的值變?yōu)?。

3) 重復執(zhí)行步驟 2)。

4) 當循環(huán)進行到第100次,i 的值變?yōu)?101,sum 的值變?yōu)?050;因為此時 i<=100 不再成立,所以就退出循環(huán),不再執(zhí)行循環(huán)體,轉(zhuǎn)而執(zhí)行while循環(huán)后面的代碼。

再看一個例子,統(tǒng)計從鍵盤輸入的一行字符的個數(shù):

#include <stdio.h>
int main(){
  int n=0;
  printf("Input a string:");
  while(getchar()!='\n') n++;
  printf("Number of characters: %d\n", n);
  return 0;
}

運行結(jié)果:

Input a string:c.biancheng.net
Number of characters: 15

本例程序中的循環(huán)條件為getchar()!='\n',其意義是,只要從鍵盤輸入的字符不是回車就繼續(xù)循環(huán)。循環(huán)體n++;完成對輸入字符個數(shù)計數(shù)。

do-while循環(huán)

除了while循環(huán),在C語言中還有一種 do-while 循環(huán)。

do-while循環(huán)的一般形式為:

do{
    語句塊
}while(表達式);

do-while循環(huán)與while循環(huán)的不同在于:它會先執(zhí)行循環(huán)體,然后再判斷表達式是否為真,如果為真則繼續(xù)循環(huán);如果為假,則終止循環(huán)。因此,do-while 循環(huán)至少要執(zhí)行一次循環(huán)體。其執(zhí)行過程可用下圖表示:

用do-while計算1加到100的值:

#include <stdio.h>
int main(){
  int i=1, sum=0;
  do{
    sum+=i;
    i++;
  }while(i<=100);
  printf("%d\n", sum);
  return 0;
}

運行結(jié)果:

5050

注意while(i<=100);最后的分號;,這個必須要有。

while循環(huán)和do-while各有特點,大家可以適當選擇,實際編程中使用while循環(huán)較多。

以上就是對 C語言while 語句用法的詳細介紹,有需要的同學可以參考下。

相關(guān)文章

  • 詳解DAG上的DP

    詳解DAG上的DP

    DAG:有向無環(huán)圖。DAG是學習動態(tài)規(guī)劃的基礎(chǔ),很多問題都可以直接轉(zhuǎn)化為DAG上的最長路、最短路或路徑計數(shù)問題。本文將詳細介紹DAG上的DP。
    2021-05-05
  • C++中priority_queue的使用與模擬實現(xiàn)

    C++中priority_queue的使用與模擬實現(xiàn)

    本文主要介紹了C++中priority_queue的使用與模擬實現(xiàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • VC6.0如何創(chuàng)建以及調(diào)用動態(tài)鏈接庫實例詳解

    VC6.0如何創(chuàng)建以及調(diào)用動態(tài)鏈接庫實例詳解

    作為客戶與后臺的中介,為了更好的調(diào)節(jié)兩方的關(guān)系,我明智滴選擇了webservice以及動態(tài)鏈接庫。在與客戶c++使動態(tài)鏈接庫方式,而與后臺java,使用webservice來交流溝通
    2013-01-01
  • C++ 命名空間詳解

    C++ 命名空間詳解

    這篇文章主要介紹了C++ 命名空間的的相關(guān)資料,文中示例代碼非常詳細,供大家參考和學習,感興趣的朋友可以了解下
    2021-11-11
  • C/C++使用socket實現(xiàn)判斷ip是否能連通

    C/C++使用socket實現(xiàn)判斷ip是否能連通

    這篇文章主要為大家詳細介紹了C/C++如何使用socket實現(xiàn)判斷ip是否能連通,文中的示例代碼講解詳細,具有一定的學習價值,感興趣的小伙伴可以了解一下
    2023-07-07
  • C++實現(xiàn)單鏈表按k值重新排序的方法

    C++實現(xiàn)單鏈表按k值重新排序的方法

    這篇文章主要介紹了C++實現(xiàn)單鏈表按k值重新排序的方法,結(jié)合實例形式分析了C++單鏈表中按照給定值進行判斷與排序的相關(guān)操作技巧,需要的朋友可以參考下
    2017-05-05
  • C++?Cartographer源碼中關(guān)于傳感器的數(shù)據(jù)傳遞實現(xiàn)

    C++?Cartographer源碼中關(guān)于傳感器的數(shù)據(jù)傳遞實現(xiàn)

    這篇文章主要介紹了C++?Cartographer源碼中關(guān)于傳感器的數(shù)據(jù)傳遞實現(xiàn),前面已經(jīng)談到了Cartographer中添加軌跡的方法和傳感器的數(shù)據(jù)流動走向。發(fā)現(xiàn)在此調(diào)用了LaunchSubscribers這個函數(shù)來訂閱相關(guān)傳感器數(shù)據(jù)
    2023-03-03
  • c語言:金幣陣列的問題

    c語言:金幣陣列的問題

    本文介紹了關(guān)于c語言:金幣陣列的問題,需要的朋友可以參考一下
    2013-03-03
  • C++ decltype類型說明符

    C++ decltype類型說明符

    在C++中,decltype作為操作符,用于查詢表達式的數(shù)據(jù)類型。decltype在C++11標準制定時引入,主要是為泛型編程而設(shè)計,以解決泛型編程中,由于有些類型由模板參數(shù)決定,而難以(甚至不可能)表示之的問題。
    2016-03-03
  • C++?反向迭代器模擬實現(xiàn)

    C++?反向迭代器模擬實現(xiàn)

    反向迭代器reverse_iterator是一種反向遍歷容器的迭代器,也就是從最后一個元素到第一個元素遍歷容器,本文主要介紹了C++?反向迭代器模擬實現(xiàn),感興趣的可以了解一下
    2024-01-01

最新評論

靖州| 鞍山市| 宿松县| 荆州市| 罗定市| 莆田市| 濮阳市| 东阳市| 普兰店市| 塘沽区| 石阡县| 南康市| 新绛县| 冕宁县| 左云县| 丹阳市| 阿图什市| 新建县| 白玉县| 扶风县| 平山县| 肥西县| 江西省| 深州市| 承德县| 昌吉市| 滨海县| 滦平县| 邮箱| 郁南县| 靖江市| 高雄市| 金乡县| 太白县| 开化县| 大石桥市| 阿城市| 景泰县| 商丘市| 福州市| 温泉县|