溫馨提示×

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

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

C/C++中for語(yǔ)句循環(huán)使用的方法是什么

發(fā)布時(shí)間:2023-03-27 11:18:59 來(lái)源:億速云 閱讀:124 作者:iii 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要介紹“C/C++中for語(yǔ)句循環(huán)使用的方法是什么”,在日常操作中,相信很多人在C/C++中for語(yǔ)句循環(huán)使用的方法是什么問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”C/C++中for語(yǔ)句循環(huán)使用的方法是什么”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

    for 循環(huán)允許您編寫(xiě)一個(gè)執(zhí)行特定次數(shù)的循環(huán)的重復(fù)控制結(jié)構(gòu)。

    語(yǔ)法

    C++ 中 for 循環(huán)的語(yǔ)法:

    int n=10;
    for(int i;i<=n;i++)
    {
        cout<<"點(diǎn)贊+關(guān)注,愛(ài)你么么噠";
    }

    下面是 for 循環(huán)的控制流:

    1. init 會(huì)首先被執(zhí)行,且只會(huì)執(zhí)行一次。這一步允許您聲明并初始化任何循環(huán)控制變量。您也可以不在這里寫(xiě)任何語(yǔ)句,只要有一個(gè)分號(hào)出現(xiàn)即可。

    2. 接下來(lái),會(huì)判斷 condition。如果為真,則執(zhí)行循環(huán)主體。如果為假,則不執(zhí)行循環(huán)主體,且控制流會(huì)跳轉(zhuǎn)到緊接著 for 循環(huán)的下一條語(yǔ)句。

    3. 在執(zhí)行完 for 循環(huán)主體后,控制流會(huì)跳回上面的 increment 語(yǔ)句。該語(yǔ)句允許您更新循環(huán)控制變量。該語(yǔ)句可以留空,只要在條件后有一個(gè)分號(hào)出現(xiàn)即可。

    4. 條件再次被判斷。如果為真,則執(zhí)行循環(huán),這個(gè)過(guò)程會(huì)不斷重復(fù)(循環(huán)主體,然后增加步值,再然后重新判斷條件)。在條件變?yōu)榧贂r(shí),for 循環(huán)終止。

    C/C++中for語(yǔ)句循環(huán)使用的方法是什么

     實(shí)例

    #include <iostream>
    using namespace std;
     
    int main ()
    {
       // for 循環(huán)執(zhí)行
       for( int a = 10; a < 20; a = a + 1 )
       {
           cout << "a 的值:" << a << endl;
       }
     
       return 0;
    }

    當(dāng)上面的代碼被編譯和執(zhí)行時(shí),它會(huì)產(chǎn)生下列結(jié)果:

    a 的值: 10
    a 的值: 11
    a 的值: 12
    a 的值: 13
    a 的值: 14
    a 的值: 15
    a 的值: 16
    a 的值: 17
    a 的值: 18
    a 的值: 19

    基于范圍的for循環(huán)(C++11)

    for 語(yǔ)句允許簡(jiǎn)單的范圍迭代:

    int my_array[5] = {1, 2, 3, 4, 5};
    // 每個(gè)數(shù)組元素乘于 2
    for (int &x : my_array)
    {
        x *= 2;
        cout << x << endl;  
    }
    // auto 類(lèi)型也是 C++11 新標(biāo)準(zhǔn)中的,用來(lái)自動(dòng)獲取變量的類(lèi)型
    for (auto &x : my_array) {
        x *= 2;
        cout << x << endl;  
    }

     上面for述句的第一部分定義被用來(lái)做范圍迭代的變量,就像被聲明在一般for循環(huán)的變量一樣,其作用域僅只于循環(huán)的范圍。而在":"之后的第二區(qū)塊,代表將被迭代的范圍。

    #include<iostream>  
    #include<string>  
    #include<cctype>  
    using namespace std;  
      
    int main()  
    {  
        string str("some string");  
        // range for 語(yǔ)句  
        for(auto &c : str)  
        {  
            c = toupper(c);  
        }  
        cout << str << endl;  
        return 0;  
    }

    隨堂筆記!

    for語(yǔ)句的基本格式

    題目 1149: 

    for (表達(dá)式1;表達(dá)式2;表達(dá)式3) {
        // 循環(huán)體語(yǔ)句
    }

    for 語(yǔ)句中的三個(gè)表達(dá)式可部分或全部省略,但兩個(gè)分號(hào)不能省略。

    常見(jiàn)的是:將表達(dá)式1放在了 for 語(yǔ)句之前,或表達(dá)式3放在了循環(huán)體中,在 for 語(yǔ)句中就可相應(yīng)地省略表達(dá)式1或表達(dá)式3。

    如:

    for(i=1,s=0; i<=100; i++) {
        sum += i;
    }

    可寫(xiě)成如下形式:

    i=1; 
    sum=0;
    for ( ;i<=100; ) {
        sum+=i;  
        i++;
    }      
    // 等效于while循環(huán)

    表達(dá)式2也可省略,寫(xiě)成:

    for (; ;) {…}

    此時(shí),系統(tǒng)約定表達(dá)式2的值為 1,即恒為真,則等同于:

    for (; 1;) {…}

    題目 1149: 

    C語(yǔ)言訓(xùn)練-計(jì)算1~N之間所有奇數(shù)之和

    時(shí)間限制: 1s 內(nèi)存限制: 128MB 提交: 6699 解決: 4978

    題目描述

    計(jì)算1~N之間所有奇數(shù)之和

    輸入格式

    正整數(shù)N

    輸出格式

    1~N之間所有奇數(shù)之和

    樣例輸入

    復(fù)制

    10

    樣例輸出

    復(fù)制

    25

    #include<iostream>
    using namespace std;
    int main()
    {
        int n,i;
        int sum = 0;
        cin >> n;
        for(i = 1; i <= n; i ++)
        {
            if(i % 2 != 0)   //替換為if(i % 2)的效果是一樣的
                sum += i;
        }
        cout << sum;
        return 0;
    }

    環(huán)形方陣

    #include<iostream>
    using namespace std;
    int main()
    {
    	int a [101][101];
    	int n,j,i,k;
    	cin>>n;
    	for(k=1;k<=(n+1)/2;k++)
    	{
    		for(i=k;i<=n+1-k;i++)
    		{
    			for(j=k;j<=n+1-k;j++)
    			{
    				a[i][j];
    			}
    		}
    	}	
    		
    	for(i=1;i<=n;i++)
    	{
    		for(j=1;j<=n;j++)
    		{
    			cout<<a[i][j]<<"  ";
    		}
    		cout<<endl;
    	}
    	
    	return 0;
     
    }

    干貨直達(dá) 

    只要存在特定條件,就執(zhí)行條件循環(huán)。例如,只要輸入值無(wú)效,就會(huì)執(zhí)行輸入驗(yàn)證循環(huán)。在編寫(xiě)一個(gè)條件循環(huán)時(shí),無(wú)法知道它將迭代的次數(shù)。

    有時(shí)候程序員知道循環(huán)必須執(zhí)行的確切迭代次數(shù)。重復(fù)特定次數(shù)的循環(huán)稱(chēng)為計(jì)數(shù)控制循環(huán)。例如,如果一個(gè)循環(huán)要求用戶輸入一年中每個(gè)月的銷(xiāo)售金額,則它將迭代 12 次。這實(shí)際上意味著,循環(huán)數(shù)為 12,并要求用戶在每次計(jì)數(shù)時(shí)輸入銷(xiāo)售金額。

    計(jì)數(shù)控制循環(huán)必須具有 3 個(gè)要素:

    • 必須將計(jì)數(shù)器變量初始化為起始值。

    • 必須通過(guò)將其與最終值進(jìn)行比較來(lái)測(cè)試計(jì)數(shù)器變量。當(dāng)計(jì)數(shù)器變量達(dá)到其最終值時(shí),循環(huán)終止。

    • 必須在每次迭代期間更新計(jì)數(shù)器變量。這通常通過(guò)變量遞增來(lái)完成。

    前面已經(jīng)介紹過(guò),通過(guò)使用 while循環(huán)來(lái)創(chuàng)建計(jì)數(shù)控制循環(huán)的方法,但是,由于計(jì)數(shù)控制循環(huán)實(shí)在太常用,所以 C++又提供了另外一種特別適合計(jì)數(shù)控制的循環(huán),即所謂的 for循環(huán)。

    與前面介紹的其他循環(huán)一樣,如果循環(huán)體中只有一個(gè)語(yǔ)句,則可以省略大括號(hào)。

    for 循環(huán)的第一行是循環(huán)頭。在關(guān)鍵詞 for 之后,括號(hào)內(nèi)有 3 個(gè)表達(dá)式,用分號(hào)分隔(注意第 3 個(gè)表達(dá)式之后沒(méi)有分號(hào)):

    • 第一個(gè)表達(dá)式是初始化表達(dá)式,它通常用于將計(jì)數(shù)器初始化為其起始值。這是循環(huán)執(zhí)行的第一個(gè)動(dòng)作,只做一次。

    • 第二個(gè)表達(dá)式是測(cè)試表達(dá)式。它以與 while 和 do-while 循環(huán)中的測(cè)試表達(dá)式相同的方式測(cè)試條件,并控制循環(huán)的執(zhí)行。只要這個(gè)條件為 true,for 循環(huán)的主體將重復(fù)。與 while 循環(huán)一樣,for 循環(huán)也是一個(gè)預(yù)測(cè)試循環(huán),因此它在每次迭代之前判斷測(cè)試表達(dá)式。

    • 第三個(gè)表達(dá)式是更新表達(dá)式。它在每次迭代結(jié)束時(shí)執(zhí)行。通常,這是一個(gè)遞增循環(huán)計(jì)數(shù)器變量的語(yǔ)句。

    以下是一個(gè)簡(jiǎn)單的 for 循環(huán)示例,將打印“Hello”字符串 5 次:

    for (count = 1; count <= 5; count++)
        cout << "Hello" << endl;

    在該循環(huán)中,初始化表達(dá)式為 count = 1,測(cè)試表達(dá)式為“count <= 5”,更新表達(dá)式為 count++。循環(huán)的主體只有一個(gè)語(yǔ)句,即 cout 語(yǔ)句。圖 1 說(shuō)明了循環(huán)執(zhí)行過(guò)程中發(fā)生的事件順序。

    請(qǐng)注意如何使用計(jì)數(shù)器變量 count 來(lái)控制循環(huán)迭代的次數(shù)。它的值從 1 開(kāi)始,每次循環(huán)迭代之后遞增 1。只要表達(dá)式 "count <= 5" 保持為 true,循環(huán)將重復(fù)迭代。但是,在 5 次迭代之后,count 將變成 6,這導(dǎo)致測(cè)試表達(dá)式變?yōu)?false,所以循環(huán)終止。

    還要注意的是,在這個(gè)例子中,count 變量?jī)H在循環(huán)頭中使用,以控制循環(huán)迭代的次數(shù)。它不用于任何其他目的。當(dāng)然,也可以在循環(huán)體內(nèi)使用計(jì)數(shù)器變量。例如,來(lái)看下面的代碼:

    for (number = 1; number <= 5; number++)
        cout << number << " ";

    此循環(huán)中的計(jì)數(shù)器變量為 number。除了控制迭代次數(shù)之外,它也被用在循環(huán)體中。此循環(huán)將產(chǎn)生以下輸出:

    1 2 3 4 5

    可以看到,循環(huán)在每次迭代期間顯示 number 變量的內(nèi)容。

    下面的程序通過(guò)使用 for 循環(huán)而不是 while 循環(huán)來(lái)顯示數(shù)字 1?5 及其平方值。

    #include <iostream>
    #include <iomanip>
    using namespace std;
     
    int main()
    {
        int num;
        cout << "Number Square\n";
        cout << "--------------\n";
        for (num =1; num <= 5; num++)
            cout << setw (4) << num << setw (7) << (num * num) << endl;
        return 0;
    }

    到此,關(guān)于“C/C++中for語(yǔ)句循環(huán)使用的方法是什么”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

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

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

    AI