精品丰满熟女一区二区三区_五月天亚洲欧美综合网_亚洲青青青在线观看_国产一区二区精选

  • <menu id="29e66"></menu>

    <bdo id="29e66"><mark id="29e66"><legend id="29e66"></legend></mark></bdo>

  • <pre id="29e66"><tt id="29e66"><rt id="29e66"></rt></tt></pre>

      <label id="29e66"></label><address id="29e66"><mark id="29e66"><strike id="29e66"></strike></mark></address>
      學(xué)習(xí)啦>學(xué)習(xí)英語>專業(yè)英語>計算機(jī)英語>

      c語言for語句的用法

      時間: 長思709 分享

        C、C++、C#和Java這些語言中,for語句的語法和執(zhí)行流程都是一樣的。本文將就這一語句的在C語言中的用法進(jìn)行一個較為深入的討論。

        c語言for語句的用法:

        復(fù)制代碼 代碼如下:

        for (表達(dá)式1;表達(dá)式2;表達(dá)式3)

        {

        循環(huán)語句

        }

        表達(dá)式1 給循環(huán)變量賦初值

        表達(dá)式2 為循環(huán)條件

        表達(dá)式3 用來修改循環(huán)變量的值,稱為循環(huán)步長。

        for語句的執(zhí)行流程:

        例:編程計算:1+2+3+...+99+100的結(jié)果。

        這是累加問題,累加問題的通用表達(dá)式為:S = S + T;

        其中,S是一個變量,用來存儲累加最后的結(jié)果,稱之為累加器;T是一個表達(dá)式,代表每次需要加入累加器的中的值。

        累加一般是通過循環(huán)結(jié)構(gòu)實(shí)現(xiàn)的。循環(huán)之前要設(shè)置累加器S的初始值為0。

        累加項T可以是很簡單的表達(dá)式,也有可能是一個通過分析得到的較復(fù)雜的表達(dá)式。

        ?

        1

        2

        3

        4

        5

        6int S = 0;

        for (int i = 1; i <= 100; i++)

        {

        S = S + i;

        }

        printf("%d\n",S);

        注意:

        1)對于已經(jīng)確定是累加算法的題目,首先確定累加項與循環(huán)變量的關(guān)系;

        2)然后,考慮第一個累加項的值是多少,以確定循環(huán)變量的初值;

        3)其次,確定最后一個累加項的值,確定循環(huán)條件;

        4)最后,考慮每個累加項之間的關(guān)系,以確定循環(huán)變量的變化(步長值)。

        例:編程計算S = a + aa + aaa + aaaa + ... 的前n項之和。

        例如:如果a = 3,n = 5,則表達(dá)式為:S = 3 + 33 + 333 + 3333 + 33333。

        ?

        1

        2

        3

        4

        5

        6

        7

        8int S = 0;

        int t = 0;

        for (int i = 0;i < 5;i++ )

        {

        t = t * 10 + 3;

        S = S + t;

        }

        printf("%d\n",S);

        累加算法也可以演化為連乘的形式:S = 1 * 2 * 3 * ... * n。

        連乘的算法和累加算法相似,循環(huán)體實(shí)現(xiàn)的是S = S * T的形式。需要注意的S的初值不是0,而是要設(shè)為1。

        在求連乘時,由于每乘一次結(jié)果增長都非???,所以應(yīng)該注意是否會出現(xiàn)溢出的問題。

        循環(huán)程序設(shè)計思路:

        (1)輸入是什么?用來確定原始值。

        (2)輸出是什么?確定應(yīng)該輸出的結(jié)果。

        (3)從輸入轉(zhuǎn)換為輸出需要怎樣的步驟,是否需要重復(fù)(確定是否需要使用循環(huán)語句以及循環(huán)語句的內(nèi)容)。

        (4)如果需要重復(fù),能否提前預(yù)知重復(fù)的次數(shù)?用來確定使用while、do while、for中的哪種循環(huán)語句。

        (5)何時不再需要重復(fù)?用來確定循環(huán)條件以及循環(huán)體中使循環(huán)條件趨近于0的語句。

        例:水仙花數(shù)、四葉玫瑰數(shù)、五角星數(shù)、六位數(shù)的問題。

        水仙花數(shù):每位數(shù)字的3次冪之和等于它本身。例:1^3 + 5^3 + 3^3 = 153。

        四葉玫瑰數(shù):每位數(shù)字的4次冪之和等于它本身。

        五角星數(shù):每位數(shù)字的5次冪之和等于它本身。

        六位數(shù):每位數(shù)字的6次冪之和等于它本身。

        ?

        1

        2

        3

        4

        5

        6

        7

        8

        9

        10

        11

        12

        13

        14

        15

        16

        17

        18

        19

        20

        21

        22

        23

        24

        25

        26

        27

        28// 打印出所有的水仙花數(shù)

        int i,j,k,n,s;

        for(i = 1;i <= 9;i++)

        for(j = 0;j <= 9;j++)

        for(k = 0;k <= 9;k++)

        {

        n = k * k * k + j * j * j + i * i * i;

        s = i * 100 + j * 10 + k;

        if (n == s)

        {

        printf("%d\n",n);

        }

        }

        或:

        // 打印出所有水仙花數(shù)

        int i,j,k,n,s;

        printf("水仙花數(shù)有:\n");

        for(n = 100;n < 1000;n++)

        {

        i = n / 100; /*分解出百位*/

        j = n / 10 % 10; /*分解出十位*/

        k = n % 10; /*分解出個位*/

        s = i * i * i + j * j * j + k * k * k;

        if(s == n)

        {

        printf("%d\n",n);

        }

        }

        最后我用例子來總結(jié)一下吧! 下面的例子是一個對1-10這10個數(shù)求和的例子。

        復(fù)制代碼 代碼如下:

        int i, sum = 0, num = 10; // 聲明幾個變量:i 計數(shù), sum 存儲最后的總和, num 表示多少個數(shù),用來控制邊界。

        for(i = 1; i <= num; i++) // for語句包含三個語句,用;隔開。

        { //1設(shè)置初始值,2邊界控制,3通常用來調(diào)整計數(shù)值。

        sum += i; // 相當(dāng)于 sum = sum + i; 表示不斷地加i。 {}內(nèi)的語句均為循環(huán)體,用4表示。

        } // for循環(huán)的執(zhí)行順序為 1-2-4-3-2-4-3-2-4-3-2................直到i > num.這時,將退出循環(huán)。

        printf("The sum from 1 to 10 is ", sum); // 打印輸出sum值。

      512642