欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++控制結(jié)構(gòu)詳情

 更新時間:2022年03月10日 10:52:34   作者:機(jī)器學(xué)習(xí)入坑者  
這篇文章主要介紹了C++控制結(jié)構(gòu)詳情,C++的控制結(jié)構(gòu)和其它編程語言類似包括順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu),更多相關(guān)資料需要的小伙伴可以參考下面文章內(nèi)容

C++的控制結(jié)構(gòu)和其它編程語言類似,共包含以下三種:

  • 順序結(jié)構(gòu)
  • 選擇結(jié)構(gòu)
  • 循環(huán)結(jié)構(gòu)

不知道是否有論文證明過,上述三種結(jié)構(gòu)是否實現(xiàn)所有的邏輯。

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

即表達(dá)式按照上下順序執(zhí)行,比如下面的代碼:

printf("Hello");
printf("\n");
printf("World");

程序會依次輸出“Hello World”。

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

選擇結(jié)構(gòu)可以使用if語句或者switch語句實現(xiàn),下面分別記錄。

2.1、 if語句

采用if實現(xiàn)的選擇結(jié)構(gòu)含有3種情況:

  • 單層選擇if-else
  • 嵌套判斷if-else
  • 多重判斷if-else if

單層選擇的選擇采用if-else實現(xiàn),其語法如下:

if (表達(dá)式) 語句1
else 語句2

比如判斷x是否大于10,若是則輸出yes,否則輸出no:

int x = 100;
if (x>10)
? ? {
? ? ? ? printf("yes");
? ? }
else?
? ? {
? ? ? ? printf("no");?
? ? }

此外,if-else內(nèi)部可以嵌套新的判斷,比如判斷if x>10以后可以繼續(xù)判斷x和20的關(guān)系,else 后可以判斷x繼續(xù)判斷x和5的關(guān)系:

int x = 100;
? ? if (x>10)
? ? {
? ? ? ? if (x>20)
? ? ? ? {
? ? ? ? ? ? printf("x>20");
? ? ? ? }
? ? }
? ? else?
? ? {
? ? ? ? if (x<5)
? ? ? ? {
? ? ? ? ? ? printf("x<5");
? ? ? ? }
? ? }

除了上述兩種方式,還可以使用if-else if對某種條件進(jìn)行多次判斷,當(dāng)前面的判斷不成立時繼續(xù)判斷后面:

if (x>50)
? ? {
? ? ? ? printf("x>50");
? ? }
else if (x>30)
? ? {
? ? ? printf("x>30");
? ? }
else
? ? {
? ? ? ? printf("all no");
? ? }

2.2 、switch語句

當(dāng)需要判斷的條件是同一個表達(dá)式的值時可以使用switch語句,比如判斷x具體為什么值:

int x = 100;
? ? switch (x)
? ? {case 10:
? ? ? ? {
? ? ? ? ? ? printf("x= 10");
? ? ? ? ? ? break;
? ? ? ? }
? ? ? ? case 100:
? ? ? ? {
? ? ? ? ? ? printf("x = 100");
? ? ? ? ? ? break;
? ? ? ? }
? ? ? ? default:
? ? ? ? {
? ? ? ? ? ? printf("unknown");
? ? }}

switch語句使用有兩個注意事項,第一是case中使用break才能保證后面的case不被執(zhí)行;第二是case后的表達(dá)式是必須是常量表達(dá)式,比如整型、字符型或者枚舉型。

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

C++中包含3種循環(huán)語句:while、do while以及for,下面分別介紹。

3.1 、while語句

while語句表示當(dāng)滿足某個條件時,語句被循環(huán)執(zhí)行,一般需要在循環(huán)體內(nèi)部改變表達(dá)式的值,語法如下:

while (表達(dá)式) 語句

比如當(dāng)x<10時不斷在屏幕顯示“yes”,并將x進(jìn)行加1直到循環(huán)停止:

int x = 1;
? ? while (x<10)
? ? {
? ? ? ? printf("yes\n");
? ? ? ? x ++;
? ? }

3.2 do while 語句

盡管do whilewhile的功能十分類似,但是C++單獨(dú)使用do while肯定是有原因的。do while的語法為:

do 語句
while (表達(dá)式)

同樣采用x<10時不斷在屏幕顯示yes為例:

int x = 1;
do {
? ? ? ? printf("yes\n");
? ? ? ? x ++;
? ? }while(x<10);

while和do while的區(qū)別是先執(zhí)行語句還是先判斷表達(dá)式。do while也經(jīng)常在循環(huán)體內(nèi)部改變判斷條件表達(dá)式的值,比如上述代碼中的x++一行。

3.3 for語句

在python中for經(jīng)常作為迭代功能使用,這和C++的for有些不同,

其語法如下:

for(初始語句;判斷條件;更新)
{循環(huán)主體語句}

執(zhí)行順序為:首先執(zhí)行“初始語句”,當(dāng)滿足“判斷條件”時就去執(zhí)行“循環(huán)主體語句”,否則就退出循環(huán),每次“循環(huán)主體語句”執(zhí)行后進(jìn)行“更新”,重復(fù)前述操作。下面展示了在x<10時不斷的在屏幕輸出No:

for (int x=1; x<10; x++){
? ? ? ? printf("No\n");
? ? }

4、總結(jié)

每學(xué)一點(diǎn)都再次印證了C++確實很復(fù)雜這一點(diǎn),需要特別注意的有:

  • switch中的break
  • 各種循環(huán)結(jié)構(gòu)的結(jié)束條件(防止死循環(huán))

到此這篇關(guān)于C++控制結(jié)構(gòu)詳情的文章就介紹到這了,更多相關(guān)C++控制結(jié)構(gòu)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++ 模版雙向鏈表的實現(xiàn)詳解

    C++ 模版雙向鏈表的實現(xiàn)詳解

    本篇文章是對C++中的模版雙向鏈表進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C++中隱式類型轉(zhuǎn)換學(xué)習(xí)筆記

    C++中隱式類型轉(zhuǎn)換學(xué)習(xí)筆記

    在本篇文章里小編給大家整理的是一篇關(guān)于C++中隱式類型轉(zhuǎn)換學(xué)習(xí)筆記內(nèi)容,有興趣的跟著小編來學(xué)習(xí)下吧。
    2020-02-02
  • 用標(biāo)準(zhǔn)c++實現(xiàn)string與各種類型之間的轉(zhuǎn)換

    用標(biāo)準(zhǔn)c++實現(xiàn)string與各種類型之間的轉(zhuǎn)換

    這個類在頭文件中定義, < sstream>庫定義了三種類:istringstream、ostringstream和stringstream,分別用來進(jìn)行流的輸入、輸出和輸入輸出操作。另外,每個類都有一個對應(yīng)的寬字符集版本
    2013-09-09
  • C語言的isatty函數(shù)和ttyname函數(shù)以及sendmsg函數(shù)用法

    C語言的isatty函數(shù)和ttyname函數(shù)以及sendmsg函數(shù)用法

    這篇文章主要介紹了C語言的isatty函數(shù)和ttyname函數(shù)以及sendmsg函數(shù)用法,是C語言入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-09-09
  • C++設(shè)計模式編程中簡單工廠與工廠方法模式的實例對比

    C++設(shè)計模式編程中簡單工廠與工廠方法模式的實例對比

    這篇文章主要介紹了C++設(shè)計模式編程中簡單工廠與工廠方法模式的實例對比,文中最后對兩種模式的優(yōu)缺點(diǎn)總結(jié)也比較詳細(xì),需要的朋友可以參考下
    2016-03-03
  • C++中new的越界訪問問題

    C++中new的越界訪問問題

    越界訪問指訪問了不是程序申請的內(nèi)存區(qū)域,比如申請了5個字節(jié)的char數(shù)組,結(jié)果讀寫數(shù)據(jù)的第六個元素,或者訪問了釋放后的內(nèi)存等等。
    2016-04-04
  • Qt實現(xiàn)進(jìn)程間通信

    Qt實現(xiàn)進(jìn)程間通信

    這篇文章主要為大家詳細(xì)介紹了Qt實現(xiàn)進(jìn)程間通信,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • C語言實現(xiàn)三子棋游戲的示例代碼

    C語言實現(xiàn)三子棋游戲的示例代碼

    今天我們將會用C語言實現(xiàn)三子棋。所謂三子棋,就是三行三列的棋盤,玩家可以和電腦下棋,率先連成三個的獲勝。話不多說,我們開始吧
    2022-10-10
  • C語言位圖算法詳解

    C語言位圖算法詳解

    這篇文章主要介紹了C語言實現(xiàn)的位圖算法,主要包括了位圖算法的定義與應(yīng)用,對于C程序算法設(shè)計的學(xué)習(xí)有一定的借鑒價值,需要的朋友可以參考下
    2014-09-09
  • C語言函數(shù)超詳細(xì)講解下篇

    C語言函數(shù)超詳細(xì)講解下篇

    函數(shù)是一組一起執(zhí)行一個任務(wù)的語句。每個?C?程序都至少有一個函數(shù),即主函數(shù)?main()?,所有簡單的程序都可以定義其他額外的函數(shù),函數(shù)我們分兩篇來講解,接下來開始第二篇
    2022-04-04

最新評論