c++基礎十(流程結構)

安然心動發表於2020-10-18

程式流程結構

  基本的三種程式執行結構:順序結構、選擇結構、迴圈結構
  1.順序結構:程式從上至下按順序執行,中途不發生跳轉
  2.選擇結構:依據條件是否滿足,有選擇的進行相應的功能
  3.迴圈結構:依據條件是否滿足,多次迴圈執行某段程式碼

1.選擇結構

1.1 作用

  執行滿足條件的語句

1.2 if

1.2.1 單行格式

語法:
  if(條件){條件滿足後,所執行的語句}
流程圖:在這裡插入圖片描述

程式碼:

#include <iostream>
using namespace std;
int main()
{
	//輸入一個分數,大於60為及格並且輸出 
	double a;
	cout<<"請輸入分數:"<<endl; 
	cin>>a;
	if (a>=60)
	{
		cout<< "此成績以及格" <<endl; 
	 } 
	system("pause");
	return 0 ;
}

執行結果:
在這裡插入圖片描述

1.2.2 多行格式

語法:
  if(條件)
  {條件滿足後,所執行的語句}
  else
  {不滿足條件,所執行的語句}
流程圖:
在這裡插入圖片描述

程式碼:

#include <iostream>
using namespace std;
int main()
{
	//輸入一個分數,大於60為及格並且輸出,低於 60為掛科並且輸出 
	double a;
	cout<<"請輸入分數:"<<endl; 
	cin>>a;
	if (a>=60)
	{
		cout<< "此成績以及格" <<endl; 
	 } 
	 else
	 {
	 	cout<<"此成績以掛科"<<endl; 
	  } 
	system("pause");
	return 0 ;
}

執行介面:
在這裡插入圖片描述

1.2.3 多條件格式

  if(條件)
  {條件滿足後,所執行的語句}
  else if(條件)
  {不滿足條件,所執行的語句}
  else if(條件)
  {不滿足條件,所執行的語句}
  …
  else
  {不滿足條件,所執行的語句}
注:最後一個條件判斷可以為else,也可以為else if
流程圖:
在這裡插入圖片描述程式碼:

#include <iostream>
using namespace std ;
int main ()
{
	//輸入三個數,從這三個數中找出最大值
	double a,b,c;
	cout<<"請輸入三個數:"<<endl;
	cin>>a;
	cin>>b;
	cin>>c;
	double max=a; 
	if (b>a)
	{
		max=b;
		if (c>b)
		{
			max=c;
		}
	 } 
	 else
	 {
	 	if (c>a)
	 	{
	 		max=c;
		 }
	 }
	 cout<<"最大值為:"<<max<<endl;
	system ("pause");
	return 0;
}

執行介面:
在這裡插入圖片描述

1.3 三目運算子

  作用:能實現簡單的判斷
  語法:表示式1?表示式2:表示式3
  解釋:如果表示式1的條件為真,則執行表示式2的語句;如果表示式1的條件為假,則執行表示式3中的語句
  注:三目運算子返回的是變數,可以繼續賦值

程式碼:

#include <iostream>
using namespace std ;
int main()
{
	//判斷兩個值的大小,並且輸出最大值 
	double a,b,max; 
	cout<<"請輸入兩個數" <<endl;
	cin>>a;
	cin>>b;
	max=a>b?a:b; //三目運算子返回的是變數,可以繼續賦值 
	cout<<"最大值為"<<max<<endl; 
	system ("pause");
	return 0;
 } 

執行介面:
在這裡插入圖片描述

1.4 switch

  作用:執行多條件分支語句
  語法:
      switch(表示式)
      {
        case 結果1:執行語句;break;
        case 結果2:執行語句;break;
        case 結果3:執行語句; break;
                … … …
        case 結果n:執行語句;break;
        default:執行語句;break;
      }

解釋:
  當變數表示式所表達的量與其中一個case語句中的常量相符時,就執行此case語句後面的語句,並依次下去執行後面所有case語句中的語句,除非遇到break;語句跳出switch語句為止。如果變數表示式的量與所有case語句的常量都不相符,就執行default語句中的語句
  注:case後面的結果必須為整型和字元型,不可以是一個區間

程式碼:

#include <iostream>
using namespace std ;
int main ()
{
	//給一部電影進行評分,取值範圍0~10並且都為整數,其中0~5為差評,6~8為,9~10為好評 
	int rating;
	cout<<"請輸入你對此電影的評分:"<<endl; 
	cin>>rating;
	 
	 switch (rating)
	 {
	 	case 10:
	 	case 9:cout<<"好評"<<endl; 
	 	break;
	 	case 8:
	 	case 7:
	 	case 6:cout<<"中評"<<endl; 
	 	break;
	 	case 5: 
	 	case 4: 
	 	case 3: 
	 	case 2:
	 	case 1:
	 	case 0:cout<<"差評"<<endl; 
	 	break;
	 	default :cout<<"你輸入的評分不在範圍內"<<endl; 
	 	break;
	 }
	system("pause");
	return 0;
 } 

執行介面:
在這裡插入圖片描述

在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

1.5 小結

ifswitch三目運算子
判斷次數nn1
區別if能進行巢狀,能精確處理更復雜的邏輯問題switch通過表示式的值,能快速執行相應的語句,但侷限性是表示式的值只能是整型和字元型三目運算子只能判斷一次,但方便,快捷,而且是一個變數,可以直接進行賦值操作

2.迴圈結構

2.1 作用

  依據條件是否滿足,多次迴圈執行某段程式碼

2.2 while

語法:
   while(迴圈條件)
   { 迴圈語句}
流程圖:
在這裡插入圖片描述程式碼:

#include <iostream>
using namespace std;
int main ()
{
	//螢幕上列印0~10的數
	int num=0;
	while (num<11)
	{
		cout<<num<<endl; 
		num++;
	 } 
	system("pause");
	return 0;
}

執行介面:
在這裡插入圖片描述

2.3 do while

語法:
  do
  {迴圈語句}
  while(迴圈條件);
  注:while與do while的區別是,do while是先執行迴圈語句,再判斷條件
流程圖:在這裡插入圖片描述
程式碼:

#include <iostream>
using namespace std ;
int main ()
{
	//螢幕上列印1~10所有數 
	int num=1; 
	do
	{
		cout<<num<<" ";
		num++;
	}
	while (num<11);
	system ("pause");
	return 0; 
}

執行介面:
在這裡插入圖片描述

2.3 for

語法:
  for(表示式1;表示式2;表示式3)
  {迴圈語句}
注:表示式可以為空值
流程圖:
在這裡插入圖片描述

程式碼:

#include <iostream>
using namespace std;
int main()
{
	//螢幕上列印1~10所有數 
	for (int i=1;i<11;i++) 
	{
		cout<<i<<" ";
	}

	system ("pause");
	return 0;
 } 

執行介面:
在這裡插入圖片描述

2.4 巢狀迴圈

作用:在迴圈體中進行多次迴圈,用於更精確地解決一些實際問題

例:九九乘法表
思想:從行和列出發,先用大迴圈,表示行數,再用小迴圈表示列數;限制小迴圈判斷條件,用來形成梯形的形狀
程式碼:

#include <iostream>
using namespace std ;
int main ()
{
	//九九乘法表
	int i=1;
	while (i<10)
	{
			for (int j=1;j<=i;j++)
		{
	          cout<<i<<"*"<<j<<"="<<i*j<<"\t";
		}
		cout<<endl;
	 i++;
	 } 
	system("pause");
	return 0;
}

執行介面:
在這裡插入圖片描述

2.5 小結

  while,do…while和for,三者都有迴圈的功能,while和do…while的區別是判斷條件的先後,for和前面兩者相比,結構會更加的清楚

相關文章