C++筆記--控制語句

来源:https://www.cnblogs.com/krimes827828/archive/2023/03/08/17191303.html
-Advertisement-
Play Games

控制語句:程式預設是順序執行,但在實際項目中需要選擇、迴圈。 1 選擇控制語句if 1.1 if語句的形式 1 if(條件表達式) 2 {//複合語句,若幹條語句的集合 3 語句一; 4 語句二; 5 } 註意:如果條件成立執行大括弧里的所有語句,不成立的話大括弧里的語句都不執行。 if(條件表達式 ...


控制語句:程式預設是順序執行,但在實際項目中需要選擇、迴圈。

1 選擇控制語句if

1.1 if語句的形式

1 if(條件表達式)
2 {//複合語句,若幹條語句的集合
3   語句一;
4   語句二;
5 }

註意:如果條件成立執行大括弧里的所有語句,不成立的話大括弧里的語句都不執行。

if(條件表達式)  //如果if沒有{} 只能作用一條語句(if只能識別語句一)
語句一;
語句二;

案例一:判斷data是否被3整除

int data =12;
if(data%3 == 0)
{  
  cout<<data<<"能被3整除"<<endl;
}

1.2 if else

案例二:對一個int數據取餘數

int data =0;
cout<<"請輸入一個整數";
cin>>data;
if(data%2 ==0)
{
   cout<<"餘數為0";
}
 else
{        
  cout
<<"餘數為1"; } }

註意:如果項目有兩種結果,且不會同時出現,就選擇if...else...

1.3 if...else if...else語句

if(表達式1)
{    
  語句1;  
}
else if(表達式2)
{
  語句2;
}
...
else()
{
  語句n;        
}            
  1. 如果表達式1為真 執行語句1,其他條件將不會再判斷。只有當表達式1為假時 才會去判斷表達式2的真假。
  2. 如果表達式2為真執行語句2,其他條件將不會再判斷。只有當表達式2為假時才會去判斷表達式3的真假。(依此類推)只有所有表達式都為假時,最後才會執行else中的語句n。
  3. 註意:如果項目有多個結果,但是只會出現一個,請選擇if...else if  
  4. 案例一:輸入int數據求餘數:
int data =0;
    cout<<"請輸入一個整數";
    cin>>data;
    if(data%3 ==0)
    {
        cout<<"餘數為0";
    }
    else if(data%3==1)
    {
        cout<<"餘數為1";
    }
    else
    {
        cout<<"餘數為2";
    }

2 選擇控制語句 switch

switch(表達式) //
表達式只能是字元型(char)或整形的(short int int long int)
 { case 常量表達式1: 語句1: breakcase 常量表達式2: 語句2: breakdefault: 語句3; break; }

將表達式的結果與case後的常量表達式的值一 一對比,相等就從當前case語句處進入執行,直到遇到break跳出switch語句。(表達式只能是字元型(char)或整形的(short int int long int))

案例二:鍵盤輸入1~7的數值判斷是星期幾

   int data =0;
    cout<<"請輸入一個0~7之內的整數:";
    cin>>data;
    if(data>7||data<1)
    {
        cout<<"輸入無效";
//      return;
    }
    switch(data)
    {
    case(1):
        cout<<"周一"<<endl;
        break;
    case(2):
        cout<<"周二"<<endl;
        break;
    case(3):
        cout<<"周三"<<endl;
        break;
    case(4):
        cout<<"周四"<<endl;
        break;
    case(5):
        cout<<"周五"<<endl;
        break;
    case(6):
        cout<<"周六"<<endl;
        break;
    case(7):
        cout<<"周日"<<endl;
        break;


    }

if 和switch的區別:①if語句表達式沒有所謂的類型限定,switch限定字元型或者整型 

 ②if語句能完成的事情包含switch語句做的事情  ③switch是對結果值的判斷,if是對錶達式真假的判斷

3 迴圈控制語句 for

for(初始化語句;迴圈條件;步進語句)
{  //複合語句
  迴圈體;
}

初始化語句:只會在進入for迴圈前執行一次初始化動作

迴圈條件:每次迴圈都會執行,只有當迴圈條件為真時才會進入迴圈體

步進語句:每次迴圈體執行完成後會自動執行步進語句

案例三:for迴圈求0~100的和

 //對0~100求和
    int i =0;
    int sum = 0;
    for(i=0;i<=100;i++)
    {
        sum+=i;
    }
    cout<<"和="<<sum<<endl;

for迴圈中,break:跳出所在的迴圈,continue:後邊的語句將不會執行,進入下一次迴圈。

迴圈嵌套迴圈

for(i=0;i<10;i++)
{
  for(j=0;j<10;j++)
  {
    語句一;
  }
}

先寫內層迴圈 然後再寫外層迴圈

案例四:輸出九九乘法表

int i=0;
    int j=0;
    //輸出九九乘法表
    for(i=1;i<=9;i++)
    {cout<<endl;
    for(j=1;j<=i;j++)
    {
        cout<<j<<" × "<<i<<" = "<<i*j<<"  ";
    }
    }

 

 

4 迴圈控制語句while

//1、外部實現初始化 2、內部實現步進語句
while(迴圈條件)
{  
  迴圈語句;
}

案例五:while實現1~100求和

//1到100求和
    int i = 1;
    int sum = 0;
    while(i<=100)
    {
        sum+=i;

i++;

    }
    cout<<"sum= "<<sum<<endl;
}

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 昨天木子問我能不能做自動刷某音短視頻,還要自動刷小哥哥,不是小哥哥就划走。 我心想,這女人真麻煩,怎麼這麼多事。 不好好工作天天想著小哥哥! 為了不得罪她,當時我就先答應了下來,然而實際上我把小哥哥變成了小姐姐,刷什麼小哥哥,多沒品味! 好了,話不多說,我們直接上代碼! 代碼實戰 首先導入需要使用的 ...
  • 前言 每次啟動SpringBoot項目時,總是能看到控制台列印了一串字元,隱約能辨認出是“Spring”,不知大家是否也好奇過是怎麼實現的,是直接列印固定的字元串,還是根據什麼演算法去生成的?於是閑暇無事,探究一番。 只想修改banner可以跳到文末查看 SpringBoot是怎麼列印的 Banner ...
  • 簡介 在現實世界中,我們常常需要等待其它任務完成,才能繼續執行下一步。Java實現等待子線程完成再繼續執行的方式很多。我們來一一查看一下。 Thread的join方法 該方法是Thread提供的方法,調用join()時,會阻塞主線程,等該Thread完成才會繼續執行,代碼如下: private st ...
  • 說起開源CMS,你會想到哪些呢?WordPress?DoraCMS?joomla? 今天再給大家推薦一個非常好用的開源CMS:Wagtail 如果您正在選型的話,可以瞭解一下Wagtail的特點: 基於Django構建,具有出色的文檔管理功能和友好的用戶界面。 提供了一個靈活且易於使用的頁面編輯器, ...
  • 學習網頁設計和網路編程可能是一種有趣而有意義的體驗,但需要時間,精力和練習.這裡有一些技巧可以幫助您更輕鬆地學習這些技能: 從基礎知識開始:在您深入研究高級主題之前,重要的是要有牢固的理解很重要基礎知識.首先學習HTML,CSS和JavaScript,這是網路的基礎語言. 使用線上資源:線上資源有許 ...
  • 概述 鎖是電腦協調多個進程或線程併發訪問某一資源的機制。在資料庫中,除傳統的計算資源(CPU、RAM、I/O)的爭用以外,數據也是一種供許多用戶共用的資源。如何保證數據併發訪問的一致性、有效性是所有資料庫必須解決的一個問題,鎖衝突也是影響資料庫併發訪問性能的一個重要因素。從這個角度來說,鎖對資料庫 ...
  • Java編程語言是由Sun微系統公司在20世紀90年代早期開發的。儘管Java主要用於基於internet的應用程式,但它是一種簡單、高效、通用的語言。Java最初是為運行在多個平臺上的嵌入式網路應用程式而設計的。它是一種可移植的、面向對象的解釋性語言。 Java是非常可移植的。相同的Java應用程 ...
  • VB.NET語言線上運行編譯,是一款可線上編程編輯器,在編輯器上輸入VB.NET語言代碼,點擊運行,可線上編譯運行VB.NET語言,VB.NET語言代碼線上運行調試,VB.NET語言線上編譯,可快速線上測試您的VB.NET語言代碼,線上編譯VB.NET語言代碼發現是否存在錯誤,如果代碼測試通過,將會 ...
一周排行
    -Advertisement-
    Play Games
  • 前言 插件化的需求主要源於對軟體架構靈活性的追求,特別是在開發大型、複雜或需要不斷更新的軟體系統時,插件化可以提高軟體系統的可擴展性、可定製性、隔離性、安全性、可維護性、模塊化、易於升級和更新以及支持第三方開發等方面的能力,從而滿足不斷變化的業務需求和技術挑戰。 一、插件化探索 在WPF中我們想要開 ...
  • 歡迎ReaLTaiizor是一個用戶友好的、以設計為中心的.NET WinForms項目控制項庫,包含廣泛的組件。您可以使用不同的主題選項對項目進行個性化設置,並自定義用戶控制項,以使您的應用程式更加專業。 項目地址:https://github.com/Taiizor/ReaLTaiizor 步驟1: ...
  • EDP是一套集組織架構,許可權框架【功能許可權,操作許可權,數據訪問許可權,WebApi許可權】,自動化日誌,動態Interface,WebApi管理等基礎功能於一體的,基於.net的企業應用開發框架。通過友好的編碼方式實現數據行、列許可權的管控。 ...
  • Channel 是乾什麼的 The System.Threading.Channels namespace provides a set of synchronization data structures for passing data between producers and consume ...
  • efcore如何優雅的實現按年分庫按月分表 介紹 本文ShardinfCore版本 本期主角: ShardingCore 一款ef-core下高性能、輕量級針對分表分庫讀寫分離的解決方案,具有零依賴、零學習成本、零業務代碼入侵適配 距離上次發文.net相關的已經有很久了,期間一直在從事java相關的 ...
  • 前言 Spacesniffer 是一個免費的文件掃描工具,通過使用樹狀圖可視化佈局,可以立即瞭解大文件夾的位置,幫助用戶處理找到這些文件夾 當前系統C盤空間 清理後系統C盤空間 下載 Spacesniffer 下載地址:https://spacesniffer.en.softonic.com/dow ...
  • EDP是一套集組織架構,許可權框架【功能許可權,操作許可權,數據訪問許可權,WebApi許可權】,自動化日誌,動態Interface,WebApi管理等基礎功能於一體的,基於.net的企業應用開發框架。通過友好的編碼方式實現數據行、列許可權的管控。 ...
  • 一、ReZero簡介 ReZero是一款.NET中間件 : 全網唯一開源界面操作就能生成API , 可以集成到任何.NET6+ API項目,無破壞性,也可讓非.NET用戶使用exe文件 免費開源:MIT最寬鬆協議 , 一直從事開源事業十年,一直堅持開源 1.1 純ReZero開發 適合.Net Co ...
  • 一:背景 1. 講故事 停了一個月沒有更新文章了,主要是忙於寫 C#內功修煉系列的PPT,現在基本上接近尾聲,可以回頭繼續更新這段時間分析dump的一些事故報告,有朋友微信上找到我,說他們的系統出現了大量的http超時,程式不響應處理了,讓我幫忙看下怎麼回事,dump也抓到了。 二:WinDbg分析 ...
  • 開始做項目管理了(本人3年java,來到這邊之後真沒想到...),天天開會溝通整理需求,他們講話的時候忙裡偷閑整理一下常用的方法,其實語言還是有共通性的,基本上看到方法名就大概能猜出來用法。出去打水的時候看到外面太陽好好,真想在外面坐著曬太陽,回來的時候好兄弟三年前送給我的鍵盤D鍵不靈了,在打"等待 ...