溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

C++的程序流程控制實例分析

發(fā)布時間:2022-08-01 16:23:25 來源:億速云 閱讀:134 作者:iii 欄目:開發(fā)技術(shù)

今天小編給大家分享一下C++的程序流程控制實例分析的相關(guān)知識點,內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

一、前言

C++支持最基本的三種程序運行結(jié)構(gòu):

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

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

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

順序結(jié)構(gòu):程序按順序執(zhí)行,不發(fā)生跳轉(zhuǎn)

選擇結(jié)構(gòu):依據(jù)條件是否滿足,有選擇的執(zhí)行相應(yīng)功能

循環(huán)結(jié)構(gòu):依據(jù)條件是否滿足,循環(huán)多次執(zhí)行某段代碼 二、選擇結(jié)構(gòu) 1、if語句

作用: 執(zhí)行滿足條件的語句

if語句的三種形式:

  • 單行格式if語句

  • 多行格式if語句

  • 多條件的if語句

單行格式if語句:if(條件){ 條件滿足執(zhí)行的語句 }

代碼示例:

int main() {
	//選擇結(jié)構(gòu)-單行if語句
	//輸入一個分?jǐn)?shù),如果分?jǐn)?shù)大于600分,視為考上一本大學(xué),并在屏幕上打印
	int score = 0;
	cout << "請輸入一個分?jǐn)?shù):" << endl;
	cin >> score;
	cout << "您輸入的分?jǐn)?shù)為: " << score << endl;
	//if語句
	//注意事項,在if判斷語句后面,不要加分號
	if (score > 600)
	{
		cout << "我考上了一本大學(xué)!??!" << endl;
	}
	return 0;
}

注意:if條件表達(dá)式后不要加分號

多行格式if語句:if(條件){ 條件滿足執(zhí)行的語句 }else{ 條件不滿足執(zhí)行的語句 };

代碼示例:

int main() {
	//選擇結(jié)構(gòu)-單行if語句
	//輸入一個分?jǐn)?shù),如果分?jǐn)?shù)大于600分,視為考上一本大學(xué),并在屏幕上打印
	int score = 0;
	cout << "請輸入一個分?jǐn)?shù):" << endl;
	cin >> score;
	cout << "您輸入的分?jǐn)?shù)為: " << score << endl;
	//if語句
	//注意事項,在if判斷語句后面,不要加分號
	if (score > 600)
	{
		cout << "我考上了一本大學(xué)?。。?quot; << endl;
	}
	return 0;
}

多條件的if語句:if(條件1){ 條件1滿足執(zhí)行的語句 }else if(條件2){條件2滿足執(zhí)行的語句}... else{ 都不滿足執(zhí)行的語句}

代碼示例:

int main() {
	int score = 0;
	cout << "請輸入考試分?jǐn)?shù):" << endl;
	cin >> score;
	if (score > 600)
	{
		cout << "我考上了一本大學(xué)" << endl;
	}
	else
	{
		cout << "我未考上一本大學(xué)" << endl;
	}
	return 0;
}

嵌套if語句:在if語句中,可以嵌套使用if語句,達(dá)到更精確的條件判斷

2、三目運算符

作用: 通過三目運算符實現(xiàn)簡單的判斷

語法:表達(dá)式1 ? 表達(dá)式2 :表達(dá)式3

解釋:

  • 如果表達(dá)式1的值為真,執(zhí)行表達(dá)式2,并返回表達(dá)式2的結(jié)果;

  • 如果表達(dá)式1的值為假,執(zhí)行表達(dá)式3,并返回表達(dá)式3的結(jié)果。

代碼示例:

int main() {
	int a = 10;
	int b = 20;
	int c = 0;
	c = a > b ? a : b;
	cout << "c = " << c << endl;
	//C++中三目運算符返回的是變量,可以繼續(xù)賦值
	(a > b ? a : b) = 100;
	cout << "a = " << a << endl;
	cout << "b = " << b << endl;
	cout << "c = " << c << endl;
	return 0;
}

總結(jié):和if語句比較,三目運算符優(yōu)點是短小整潔,缺點是如果用嵌套,結(jié)構(gòu)不清晰

3、switch語句

作用: 執(zhí)行多條件分支語句

語法:

switch(表達(dá)式)
{
	case 結(jié)果1:執(zhí)行語句;break;
	case 結(jié)果2:執(zhí)行語句;break;
	...
	default:執(zhí)行語句;break;

}

代碼示例:

int main() {
	//請給電影評分 
	//10 ~ 9   經(jīng)典   
	// 8 ~ 7   非常好
	// 6 ~ 5   一般
	// 5分以下 爛片
	int score = 0;
	cout << "請給電影打分" << endl;
	cin >> score;
	switch (score)
	{
	case 10:
	case 9:
		cout << "經(jīng)典" << endl;
		break;
	case 8:
		cout << "非常好" << endl;
		break;
	case 7:
	case 6:
		cout << "一般" << endl;
		break;
	default:
		cout << "爛片" << endl;
		break;
	}
	return 0;
}

注意1:switch語句中表達(dá)式類型只能是整型或者字符型
注意2:case里如果沒有break,那么程序會一直向下執(zhí)行
總結(jié):與if語句比,對于多條件判斷時,switch的結(jié)構(gòu)清晰,執(zhí)行效率高,缺點是switch不可以判斷區(qū)間

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

1、while循環(huán)語句

作用: 滿足循環(huán)條件,執(zhí)行循環(huán)語句

語法: while(循環(huán)條件){ 循環(huán)語句 }

解釋:只要循環(huán)條件的結(jié)果為真,就執(zhí)行循環(huán)語句

示例:

int main() {
	int num = 0;
	while (num < 10)
	{
		cout << "num = " << num << endl;
		num++;
	}
	return 0;
}

注意:在執(zhí)行循環(huán)語句時候,程序必須提供跳出循環(huán)的出口,否則出現(xiàn)死循環(huán)

2、do&hellip;while循環(huán)語句

作用: 滿足循環(huán)條件,執(zhí)行循環(huán)語句

語法: do{ 循環(huán)語句 } while(循環(huán)條件);

注意: 與while的區(qū)別在于do&hellip;while會先執(zhí)行一次循環(huán)語句,再判斷循環(huán)條件

代碼示例:

int main() {
	int num = 0;
	do
	{
		cout << num << endl;
		num++;

	} while (num < 10);
	return 0;
}

總結(jié):與while循環(huán)區(qū)別在于,do&hellip;while先執(zhí)行一次循環(huán)語句,再判斷循環(huán)條件

3、for循環(huán)語句

作用: 滿足循環(huán)條件,執(zhí)行循環(huán)語句

語法: for(起始表達(dá)式;條件表達(dá)式;末尾循環(huán)體) { 循環(huán)語句; }

代碼示例:

int main() {
	for (int i = 0; i < 10; i++)
	{
		cout << i << endl;
	}
	return 0;
}

詳解:

注意:for循環(huán)中的表達(dá)式,要用分號進(jìn)行分隔

總結(jié):while , do&hellip;while, for都是開發(fā)中常用的循環(huán)語句,for循環(huán)結(jié)構(gòu)比較清晰,比較常用

四、跳轉(zhuǎn)語句

1、break語句

作用: 用于跳出選擇結(jié)構(gòu)或者循環(huán)結(jié)構(gòu)

break使用的時機:

  • 出現(xiàn)在switch條件語句中,作用是終止case并跳出switch

  • 出現(xiàn)在循環(huán)語句中,作用是跳出當(dāng)前的循環(huán)語句

  • 出現(xiàn)在嵌套循環(huán)中,跳出最近的內(nèi)層循環(huán)語句

代碼示例:

int main() {
	//1、在switch 語句中使用break
	cout << "請選擇您挑戰(zhàn)副本的難度:" << endl;
	cout << "1、普通" << endl;
	cout << "2、中等" << endl;
	cout << "3、困難" << endl;
	int num = 0;
	cin >> num;
	switch (num)
	{
	case 1:
		cout << "您選擇的是普通難度" << endl;
		break;
	case 2:
		cout << "您選擇的是中等難度" << endl;
		break;
	case 3:
		cout << "您選擇的是困難難度" << endl;
		break;
	}
	return 0;
}

2、continue語句

作用: 在循環(huán)語句中,跳過本次循環(huán)中余下尚未執(zhí)行的語句,繼續(xù)執(zhí)行下一次循環(huán)

代碼示例:

int main() {
	for (int i = 0; i < 100; i++)
	{
		if (i % 2 == 0)
		{
			continue;
		}
		cout << i << endl;
	}
	return 0;
}

注意:continue并沒有使整個循環(huán)終止,而break會跳出循環(huán)

3、goto語句

作用: 可以無條件跳轉(zhuǎn)語句

語法: goto 標(biāo)記;

解釋: 如果標(biāo)記的名稱存在,執(zhí)行到goto語句時,會跳轉(zhuǎn)到標(biāo)記的位置

代碼示例:

int main() {
	cout << "1" << endl;
	goto FLAG;
	cout << "2" << endl;
	cout << "3" << endl;
	cout << "4" << endl;
	FLAG:
	cout << "5" << endl;
	return 0;
}

注意:在程序中不建議使用goto語句,以免造成程序流程混亂

以上就是“C++的程序流程控制實例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學(xué)習(xí)更多的知識,請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

c++
AI