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

C++ 程序流程結(jié)構(gòu)詳解

 更新時(shí)間:2021年09月12日 15:00:24   作者:最親密如臨大敵  
這篇文章主要介紹了C++程序的程序流程結(jié)構(gòu)以及關(guān)系和邏輯運(yùn)算符講解,是C++入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下

1.選擇結(jié)構(gòu)

1.1 判斷語(yǔ)句if

1.單行if語(yǔ)句 if

#include<iostream>
using namespace std;
int main() {
	//選擇語(yǔ)句 if語(yǔ)句
	//用戶輸入分?jǐn)?shù),如果分?jǐn)?shù)大于600,視為考上一本,在屏幕上輸出
	//1、用戶輸入分?jǐn)?shù)
	int score = 0;
	cout << "請(qǐng)輸入一個(gè)分?jǐn)?shù):"<<endl;
	cin >> score;
	//2、打印用戶輸入的分?jǐn)?shù)
	cout << "您輸入的分?jǐn)?shù)為:" << score << endl;
	//3、判斷是否大于600,如果大于,那么輸出
	if (score >600)
	{
		cout << "恭喜您考上了一本大學(xué)";
	}
	return 0;
}

2.多行if語(yǔ)句 if...else

#include<iostream>
using namespace std;
int main() {
	//1、用戶輸入分?jǐn)?shù)
	int score = 0;
	cout << "請(qǐng)輸入一個(gè)分?jǐn)?shù):" << endl;
	cin >> score;
	//2、打印用戶輸入的分?jǐn)?shù)
	cout << "您輸入的分?jǐn)?shù)為:" << score << endl;
	//3、判斷是否大于600,如果大于,那么輸出
	if (score > 600)
	{
		cout << "恭喜 您考上了一本大學(xué)!";
	}
	else
	{
		cout << "未考上一本";
	}
	return 0;
}

3.多條件if語(yǔ)句 if...else if...else if ...else

#include<iostream>
using namespace std;
int main() {
	//1、用戶輸入分?jǐn)?shù)
	int score = 0;
	cout << "請(qǐng)輸入一個(gè)分?jǐn)?shù):" << endl;
	cin >> score;
	//2、打印用戶輸入的分?jǐn)?shù)
	cout << "您輸入的分?jǐn)?shù)為:" << score << endl;
	//3、分?jǐn)?shù)大于600,視為考上一本大學(xué)
	//大于500,視為考上二本大學(xué),屏幕輸出
	//大于400,視為考上三本大學(xué),屏幕輸出
	//小于等于400,視為未考上本科
	if (score > 600)
	{
		cout << "恭喜 您考上了一本大學(xué)!";
	}
	else if (score > 500)
	{
		cout << "恭喜 您考上了二本大學(xué)!";
	}
	else if (score > 400)
	{
		cout << "恭喜 您考上了二本大學(xué)!";
	}
	else
	{
		cout << "未考上本科";
	}
	return 0;
}

4.嵌套if語(yǔ)句

例1:三個(gè)數(shù)找最大

#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整除;

法一:使用關(guān)系運(yùn)算符判斷

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

琺二:嵌套if

#include<iostream>
using namespace std;             //命名空間 
int main() {	//主函數(shù)
	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 三目運(yùn)算符判斷

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

【解釋】若表達(dá)式1的值為真,則執(zhí)行表達(dá)式2,并返回表達(dá)式2的結(jié)果;

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

例3:兩個(gè)數(shù)找最大

#include<iostream>
using namespace std;
int main() {
	//三目運(yùn)算符
	//創(chuàng)建3個(gè)變量 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++中三目運(yùn)算符返回的是變量,可以繼續(xù)賦值
	(a > b ? a : b)=100;
	cout << "A=" << a << endl;
	cout << "B=" << b << endl;
	return 0;
}

例4:判斷一個(gè)數(shù)是否是3和5的整倍數(shù)

#include<iostream>
using namespace std;             //命名空間 
int main() {	//主函數(shù)
	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 開(kāi)關(guān)語(yǔ)句switch

注意點(diǎn):

1.switch語(yǔ)句中表達(dá)式類型只能是整型或字符型;

2.case里如果沒(méi)有break,那么程序會(huì)一直向下執(zhí)行。

例5:給電影評(píng)分

#include<iostream>
using namespace std;
int main() {
	//switch語(yǔ)句
	//給電影進(jìn)行打分
	//10~9 經(jīng)典
	//8~7 非常好
	//6~5 一般
	//5以下 爛片
	//1、提示用戶給電影評(píng)分
	cout << "請(qǐng)給電影評(píng)分" << endl;
	//2、用戶開(kāi)始進(jìn)行打分
	int score;
	cin >> score;
	cout << "Score=" << score << endl;
	//3、根據(jù)用戶輸入的分?jǐn)?shù)來(lái)提示用戶最后的結(jié)果
	switch (score)
	{
	case 10:
			cout << "您認(rèn)為是經(jīng)典電影" << endl;
			break;//退出當(dāng)前分支
	case 9:
		cout << "您認(rèn)為是經(jīng)典電影" << endl;
		break;
	case 8:
		cout << "您認(rèn)為是電影非常好" << endl;
		break;
	case 7:
		cout << "您認(rèn)為是電影非常好" << endl; 
		break;
	case 6:
		cout << "您認(rèn)為是電影一般" << endl; 
		break;
	case 5:
		cout << "您認(rèn)為是電影一般" << endl; 
		break;
	default:
		cout << "您認(rèn)為是爛片" << endl;
		break;
	}
	//if和switch區(qū)別
	//switch 缺點(diǎn),判斷時(shí)候只能是整型或者字符型,不可以是一個(gè)區(qū)間
	//switch 有點(diǎn),結(jié)構(gòu)清晰,執(zhí)行效率高
	return 0;
}

例6:星期幾

switch語(yǔ)句內(nèi)遇break才停止執(zhí)行

#include<iostream>
using namespace std;             //命名空間 
int main() {	//主函數(shù)
	int n;
	cin >> n;
	switch (n)//首先跳轉(zhuǎn)到與輸入一樣的case,接著往下走,遇break停止或知道語(yǔ)句走完才停止
	{
	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;
}

輸出結(jié)果:

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

2.1 while

例1:用while循環(huán)計(jì)算1~10累加

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

例2:案例-猜數(shù)字

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

2.2 do...while

例3:用do...while循環(huán)計(jì)算1~10累加

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

while與do...while的區(qū)別:

do...while無(wú)論while中條件是否為真,先執(zhí)行{}內(nèi)語(yǔ)句;

while中條件若為假,則不執(zhí)行。

例4:案例-水仙花數(shù)

#include<iostream>
using namespace std;
int main() {
	int num = 100;
	do
	{
		int a = num % 10;//	個(gè)位
		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循環(huán)計(jì)算1~10累加

#include<iostream>
using namespace std;             //命名空間 
int main() {	//主函數(shù)
	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的數(shù)字
	//2、找7的倍數(shù),個(gè)位有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 循環(huán)控制

1.break:跳出循環(huán)

例7:遇到負(fù)數(shù),則停止累加

#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) 	//判斷輸入是否為負(fù)數(shù),是負(fù)數(shù)就停止累加 
			break;
		sum += n; 	//對(duì)輸入的數(shù)進(jìn)行累加
	}
	cout << "The Result :" << sum << endl;
	return 0;
}

2.continu:跳出本次循環(huán),繼續(xù)下一次循環(huán)

例8:遇負(fù),則不進(jìn)行累加,接著加下一個(gè)正數(shù)

#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)	//判斷輸入是否為負(fù)數(shù)
			continue;
		sum += n;	//對(duì)輸入的數(shù)進(jìn)行累加
	}
	cout << "The Result :" << sum << endl;
	return 0;
}

3.goto:跳轉(zhuǎn)到label,接著往下走

例9:跳轉(zhuǎn)

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

注意點(diǎn):goto語(yǔ)句不能越過(guò)復(fù)合語(yǔ)句之外的變量定義的語(yǔ)句,例如,下面是非法的

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

正確的:

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

2.5 循環(huán)嵌套

例10:打印三角形

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


例11:打印星圖

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


例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;
}

總結(jié)

本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • Java基礎(chǔ)篇之反射機(jī)制詳解

    Java基礎(chǔ)篇之反射機(jī)制詳解

    本文詳細(xì)講解了Java基礎(chǔ)篇之反射機(jī)制,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-01-01
  • Java OpenCV實(shí)現(xiàn)人臉識(shí)別過(guò)程詳解

    Java OpenCV實(shí)現(xiàn)人臉識(shí)別過(guò)程詳解

    這篇文章主要介紹了Java OpenCV實(shí)現(xiàn)人臉識(shí)別過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • JAVA與SQL 中的null與NULL解析

    JAVA與SQL 中的null與NULL解析

    這篇文章主要介紹了JAVA與SQL 中的null與NULL解析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • maven-surefire-plugin總結(jié)示例詳解

    maven-surefire-plugin總結(jié)示例詳解

    這篇文章主要介紹了maven-surefire-plugin總結(jié),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-07-07
  • 簡(jiǎn)單了解Java的默認(rèn)和靜態(tài)方法

    簡(jiǎn)單了解Java的默認(rèn)和靜態(tài)方法

    這篇文章主要介紹了簡(jiǎn)單了解Java的默認(rèn)和靜態(tài)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • spring boot整合kafka過(guò)程解析

    spring boot整合kafka過(guò)程解析

    這篇文章主要介紹了spring boot整合kafka過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • 淺析java class 文件

    淺析java class 文件

    以下是對(duì)java中的class文件進(jìn)行了詳細(xì)的介紹,需要的朋友可以過(guò)來(lái)參考下
    2013-08-08
  • SpringBoot整合kafka遇到的版本不對(duì)應(yīng)問(wèn)題及解決

    SpringBoot整合kafka遇到的版本不對(duì)應(yīng)問(wèn)題及解決

    這篇文章主要介紹了SpringBoot整合kafka遇到的版本不對(duì)應(yīng)問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • springboot配置mybatis和事務(wù)管理方式

    springboot配置mybatis和事務(wù)管理方式

    這篇文章主要介紹了springboot配置mybatis和事務(wù)管理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • java 實(shí)現(xiàn)取int型的第二個(gè)字節(jié)的數(shù)

    java 實(shí)現(xiàn)取int型的第二個(gè)字節(jié)的數(shù)

    這篇文章主要介紹了java 實(shí)現(xiàn)取int型的第二個(gè)字節(jié)的數(shù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-01-01

最新評(píng)論

恩施市| 慈利县| 舞阳县| 崇州市| 永顺县| 福清市| 堆龙德庆县| 青冈县| 万盛区| 海阳市| 青海省| 富源县| 葵青区| 突泉县| 依兰县| 常德市| 隆回县| 拉萨市| 峨边| 郑州市| 南宫市| 高平市| 武义县| 龙岩市| 浦江县| 嵊泗县| 二连浩特市| 沂水县| 琼海市| 肃宁县| 桃园县| 九龙坡区| 六盘水市| 游戏| 闸北区| 法库县| 金堂县| 岳西县| 陇南市| 攀枝花市| 佛山市|