中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

C++程序的選擇結構和循環結構詳解

發布時間:2021-09-13 09:06:50 來源:億速云 閱讀:129 作者:chen 欄目:開發技術

這篇文章主要介紹“C++程序的選擇結構和循環結構詳解”,在日常操作中,相信很多人在C++程序的選擇結構和循環結構詳解問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”C++程序的選擇結構和循環結構詳解”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

目錄
  • 1.選擇結構

    • 1.1 判斷語句if

      • 1.單行if語句 if

      • 2.多行if語句 if...else

      • 3.多條件if語句 if...else if...else if ...else

      • 4.嵌套if語句

    • 1.2 三目運算符判斷

      • 1.3 開關語句switch

      • 2.循環結構

        • 2.1 while

          • 2.2 do...while

            • 2.3 for

              • 2.4 循環控制

                • 1.break:跳出循環

                • 2.continu:跳出本次循環,繼續下一次循環

                • 3.goto:跳轉到label,接著往下走

              • 2.5 循環嵌套


            1.選擇結構

            1.1 判斷語句if

            1.單行if語句 if
            #include<iostream>
            using namespace std;
            int main() {
            	//選擇語句 if語句
            	//用戶輸入分數,如果分數大于600,視為考上一本,在屏幕上輸出
            	//1、用戶輸入分數
            	int score = 0;
            	cout << "請輸入一個分數:"<<endl;
            	cin >> score;
            	//2、打印用戶輸入的分數
            	cout << "您輸入的分數為:" << score << endl;
            	//3、判斷是否大于600,如果大于,那么輸出
            	if (score >600)
            	{
            		cout << "恭喜您考上了一本大學";
            	}
            	return 0;
            }
            2.多行if語句 if...else
            #include<iostream>
            using namespace std;
            int main() {
            	//1、用戶輸入分數
            	int score = 0;
            	cout << "請輸入一個分數:" << endl;
            	cin >> score;
            	//2、打印用戶輸入的分數
            	cout << "您輸入的分數為:" << score << endl;
            	//3、判斷是否大于600,如果大于,那么輸出
            	if (score > 600)
            	{
            		cout << "恭喜 您考上了一本大學!";
            	}
            	else
            	{
            		cout << "未考上一本";
            	}
            	return 0;
            }
            3.多條件if語句 if...else if...else if ...else
            #include<iostream>
            using namespace std;
            int main() {
            	//1、用戶輸入分數
            	int score = 0;
            	cout << "請輸入一個分數:" << endl;
            	cin >> score;
            	//2、打印用戶輸入的分數
            	cout << "您輸入的分數為:" << score << endl;
            	//3、分數大于600,視為考上一本大學
            	//大于500,視為考上二本大學,屏幕輸出
            	//大于400,視為考上三本大學,屏幕輸出
            	//小于等于400,視為未考上本科
            	if (score > 600)
            	{
            		cout << "恭喜 您考上了一本大學!";
            	}
            	else if (score > 500)
            	{
            		cout << "恭喜 您考上了二本大學!";
            	}
            	else if (score > 400)
            	{
            		cout << "恭喜 您考上了二本大學!";
            	}
            	else
            	{
            		cout << "未考上本科";
            	}
            	return 0;
            }
            4.嵌套if語句

            例1:三個數找最大

            #include<iostream>
            using namespace std;
            int main() {
            	int a, b, c;
            	cin >> a >> b >> c;
            	cout << "A=" << a << endl;
            	cout << "B=" << b << endl;
            	cout << "C=" << c << endl;
            	if (a>b)// a比b大
            	{
            		if (a>c)//a最大
            		{
            			cout << "A最大" << endl;
            		}
            		else
            		{ 
            			cout << "C最大" << endl;
            		}
            	}
            	else// b比a大
            	{
            		if (b > c)//b最大
            		{
            			cout << "B最大" << endl;
            		}
            		else
            		{
            			cout << "C最大" << endl;
            		}
            	}
            	return 0;
            }

            例2:判斷是否是閏年

            閏年的定義:

            • 能被4整除,但不能被100整除;

            • 能被400整除;

            法一:使用關系運算符判斷

            #include<iostream>
            using namespace std;             //命名空間 
            int main() {	//主函數
            	int year;
            	cin >> year;
            	if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)//&&優先級更高 
            	{
            		cout << "閏年" << endl;
            	}
            	else
            	{
            		cout << "不是閏年" << endl;
            	}
            	return 0;
            }

            琺二:嵌套if

            #include<iostream>
            using namespace std;             //命名空間 
            int main() {	//主函數
            	int year;
            	cin >> year;
            	if (year % 4 == 0)
            	{
            		if (year%100==0)
            		{
            			if (year % 400 == 0) {
            				cout << "閏年" << endl;
            			}
            			else
            			{
            				cout << "不是閏年" << endl;
            			}
            		}
            		else
            		{
            			cout << "閏年" << endl;
            		}
            	}
            	else
            	{
            		cout << "不是閏年" << endl;
            	}
            	return 0;
            }

            1.2 三目運算符判斷

            語法:表達式1 ? 表達式2 : 表達式3

            【解釋】若表達式1的值為真,則執行表達式2,并返回表達式2的結果;

            若表達式1的值為假,則執行表達式3,并返回表達式3的結果

            例3:兩個數找最大

            #include<iostream>
            using namespace std;
            int main() {
            	//三目運算符
            	//創建3個變量 a b c
            	// 將a和b做比較,將變量大的值賦值給變量c
            	int a = 10;
            	int b = 0;
            	int c;
            	c=(a > b ? a : b);
            	cout << "C=" << c << endl;//10
            	//C++中三目運算符返回的是變量,可以繼續賦值
            	(a > b ? a : b)=100;
            	cout << "A=" << a << endl;
            	cout << "B=" << b << endl;
            	return 0;
            }

            例4:判斷一個數是否是3和5的整倍數

            #include<iostream>
            using namespace std;             //命名空間 
            int main() {	//主函數
            	int num;
            	cout << "Please input a number:" << endl;
            	cin >> num;
                //法1:
            	(num % 3== 0&&num%5==0) ? 
                    cout << "yes" << endl : 
                    cout << "no" << endl;
                //法2:
                (num % 3 == 0)?
            		((num%5==0) ? cout << "yes" << endl : cout << "no" << endl):
            		cout << "no" << endl;
            	return 0;
            }

            1.3 開關語句switch

            注意點:

            1.switch語句中表達式類型只能是整型或字符型;

            2.case里如果沒有break,那么程序會一直向下執行。

            例5:給電影評分

            #include<iostream>
            using namespace std;
            int main() {
            	//switch語句
            	//給電影進行打分
            	//10~9 經典
            	//8~7 非常好
            	//6~5 一般
            	//5以下 爛片
            	//1、提示用戶給電影評分
            	cout << "請給電影評分" << endl;
            	//2、用戶開始進行打分
            	int score;
            	cin >> score;
            	cout << "Score=" << score << endl;
            	//3、根據用戶輸入的分數來提示用戶最后的結果
            	switch (score)
            	{
            	case 10:
            			cout << "您認為是經典電影" << endl;
            			break;//退出當前分支
            	case 9:
            		cout << "您認為是經典電影" << endl;
            		break;
            	case 8:
            		cout << "您認為是電影非常好" << endl;
            		break;
            	case 7:
            		cout << "您認為是電影非常好" << endl; 
            		break;
            	case 6:
            		cout << "您認為是電影一般" << endl; 
            		break;
            	case 5:
            		cout << "您認為是電影一般" << endl; 
            		break;
            	default:
            		cout << "您認為是爛片" << endl;
            		break;
            	}
            	//if和switch區別
            	//switch 缺點,判斷時候只能是整型或者字符型,不可以是一個區間
            	//switch 有點,結構清晰,執行效率高
            	return 0;
            }

            例6:星期幾

            switch語句內遇break才停止執行

            #include<iostream>
            using namespace std;             //命名空間 
            int main() {	//主函數
            	int n;
            	cin >> n;
            	switch (n)//首先跳轉到與輸入一樣的case,接著往下走,遇break停止或知道語句走完才停止
            	{
            	case 1:
            		cout << "Monday" << endl;
            	case 2:
            		cout << "Tuesday" << endl;
            	case 3:
            		cout << "Wednesday" << endl;
            	case 4:
            		cout << "Thursday" << endl;
            	case 5:
            		cout << "Friday" << endl;
            	case 6:
            		cout << "Saturday" << endl;
            	case 7:
            		cout << "Sunday" << endl;
            	default:
            		cout << "input error" << endl;
            	}
            	return 0;
            }

            輸出結果:

            C++程序的選擇結構和循環結構詳解

            2.循環結構

            2.1 while

            例1:用while循環計算1~10累加

            #include<iostream>
            using namespace std;             //命名空間 
            int main() {	//主函數
            	int i = 1, sum = 0;
            	while (i<=10)
            	{
            		sum += i;
            		i++;
            	}
            	cout << sum << endl;
            	return 0;
            }

            例2:案例-猜數字

            #include<iostream>
            using namespace std;
            #include<ctime>
            int main() {
            	//添加隨機數種子 作用利用當前系統時間生成隨機數,防止每次隨機數都一樣
            	srand((unsigned int)time(NULL));
            	//1、系統生成隨機數
            	int num = rand() % 100 + 1; //生成0~100的隨機數
            	cout << num << endl;
            	//2、玩家進行猜測
            	cout << "請玩家輸入猜測的數據:" << endl;
            	int val;	//玩家輸入的數據
            	while (1)
            	{
            		cin >> val;
            		//3、判斷玩家的猜測
            		if (val > num)
            		{
            			cout << "猜測過大!" << endl;
            		}
            		else if(val < num)
            		{
            			cout << "猜測過小!" << endl;
            		}
            		else
            		{
            			cout << "猜對啦!" << endl;
            			break;	//利用該關鍵字,退出循環
            		}
            	}
            	//猜對 退出游戲
            	//猜錯 提示猜的結果,過大或者過小 重新返回第2步
            	return 0;
            }

            2.2 do...while

            例3:用do...while循環計算1~10累加

            #include<iostream>
            using namespace std;             //命名空間 
            int main() {	//主函數
            	int i = 1, sum = 0;
            	do
            	{
            		sum += i;
            		i++;
            	} while (i <= 10);
            	cout << sum << endl;//55
            	return 0;
            }

            while與do...while的區別:

            do...while無論while中條件是否為真,先執行{}內語句;

            while中條件若為假,則不執行。

            例4:案例-水仙花數

            #include<iostream>
            using namespace std;
            int main() {
            	int num = 100;
            	do
            	{
            		int a = num % 10;//	個位
            		int b = num / 10 % 10;	//十位
            		int c = num / 100;	//百位
            		if (num == a*a*a+b*b*b+c*c*c)
            		{
            			cout << num << endl;
            		}
            		num++;
            	} while (num<1000);
            	return 0;
            }

            2.3 for

            例5:用for循環計算1~10累加

            #include<iostream>
            using namespace std;             //命名空間 
            int main() {	//主函數
            	int sum = 0;
            	for (int i = 1; i <= 10; i++)
            	{
            		sum += i;
            	}
            	cout << sum << endl;
            	return 0;
            }

            例6:敲桌子

            #include<iostream>
            using namespace std;
            int main() {
            	//1、輸出1~100的數字
            	//2、找7的倍數,個位有7,十位有7
            	for (int i = 1; i <=100; i++)
            	{
            		if (i%7==0||i%10==7||i/10%10==7) {
            			cout << "敲桌子!" << endl;
            		}
            		else
            		{
            			cout << i << endl;
            		}
            	}
            	return 0;
            }

            2.4 循環控制

            1.break:跳出循環

            例7:遇到負數,則停止累加

            #include <iostream>
            using namespace std;
            int main()
            {
            	int i, n, sum;
            	sum = 0;
            	cout << "input 10 number" << endl;
            	for (i = 1; i <= 10; i++)
            	{
            		cout << i << ":";
            		cin >> n;
            		if (n < 0) 	//判斷輸入是否為負數,是負數就停止累加 
            			break;
            		sum += n; 	//對輸入的數進行累加
            	}
            	cout << "The Result :" << sum << endl;
            	return 0;
            }
            2.continu:跳出本次循環,繼續下一次循環

            例8:遇負,則不進行累加,接著加下一個正數

            #include <iostream>
            using namespace std;
            int main()
            {
            	int i, n, sum;
            	sum = 0;
            	cout << "input 10 number" << endl;
            	for (i = 1; i <= 10; i++)
            	{
            		cout << i << ":";
            		cin >> n;
            		if (n < 0)	//判斷輸入是否為負數
            			continue;
            		sum += n;	//對輸入的數進行累加
            	}
            	cout << "The Result :" << sum << endl;
            	return 0;
            }
            3.goto:跳轉到label,接著往下走

            例9:跳轉

            #include <iostream>
            using namespace std;
            int main()
            {
            	int ivar = 0;			//定義一個整型變量,初始化為0
            	int num = 0;			//定義一個整型變量,初始化為0
            label:  					//定義一個標簽
            	ivar++;					//ivar自加1
            	num += ivar;			//累加求和
            	if (ivar < 10)			//判斷ivar是否小于100
            	{
            		goto label;			//轉向標簽
            	}
            	cout << ivar << num << endl;
            	return 0;
            }

            注意點:goto語句不能越過復合語句之外的變量定義的語句,例如,下面是非法的

            	goto label;
            	int i 10;
            label:
            	cout << "goto" << endl;

            正確的:

            	goto label;
            	{
            	int i 10; 
            	}
            label:
            	cout << "goto" << endl;

            2.5 循環嵌套

            例10:打印三角形

            #include<iostream>
            using namespace std;             //命名空間 
            int main() {	//主函數
            	int i, j, k;
            	for (i = 1; i <= 5; i++)					//控制行數
            	{
            		for (j = 1; j <= 5 - i; j++)				//控制空格數
            			cout << " ";
            		for (k = 1; k <= 2 * i - 1; k++)			//控制打印*號的數量
            			cout << "*";
            		cout << endl;
            	}
            	return 0;
            }

            C++程序的選擇結構和循環結構詳解

            例11:打印星圖

            #include<iostream>
            using namespace std;
            int main() {
            	//利用嵌套循環實現星圖
            	//打印一行星圖
            	//外層循環
            	for (int i = 0; i < 10; i++)
            	{
            		//內層循環
            		for (int j = 0; j < 10; j++) {
            			cout << "* ";
            		}
            		cout << endl;
            	}
            	return 0;
            }

            C++程序的選擇結構和循環結構詳解

            例12:輸出乘法口訣表

            #include<iostream>
            using namespace std;
            int main() {
            	for (int i = 1; i < 10; i++)
            	{
            		for (int j = 1; j <= i; j++) {
            			cout << j << "*" << i << "=" << i * j << "\t";
            		}
            		cout << endl;
             	}
            	return 0;
            }

            C++程序的選擇結構和循環結構詳解

            到此,關于“C++程序的選擇結構和循環結構詳解”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

            向AI問一下細節

            免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

            c++
            AI

            分宜县| 朝阳区| 五常市| 根河市| 孟村| 南昌县| 淮南市| 辽源市| 曲阳县| 朝阳县| 嘉黎县| 望城县| 阿拉善右旗| 建湖县| 桂林市| 渭南市| 连山| 酉阳| 澎湖县| 吉隆县| 伊通| 宽甸| 东乡族自治县| 遂川县| 琼结县| 安乡县| 和平县| 怀远县| 绥中县| 错那县| 安阳县| 桐乡市| 平潭县| 米泉市| 六安市| 焉耆| 开封县| 宁武县| 开平市| 房产| 逊克县|