程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> C說話for語句用法詳解

C說話for語句用法詳解

編輯:關於C++

C說話for語句用法詳解。本站提示廣大學習愛好者:(C說話for語句用法詳解)文章只能為提供參考,不一定能成為您想要的結果。以下是C說話for語句用法詳解正文


起首,這裡所提到的類C說話指的是如C、C++、C#和Java等語法和C說話一樣或相似的法式設計說話。這些說話中,for語句的語法和履行流程都是一樣的。本文遷就這一語句的用法停止一個較為深刻的評論辯論。

for語句:

for (表達式1;表達式2;表達式3)
{
  輪回語句
}

表達式1 給輪回變量賦初值
表達式2 為輪回前提
表達式3 用來修正輪回變量的值,稱為輪回步長。

for語句的履行流程:

例:編程盤算:1+2+3+...+99+100的成果。
這是累加成績,累加成績的通用表達式為:S = S + T;
個中,S是一個變量,用來存儲累加最初的成果,稱之為累加器;T是一個表達式,代表每次須要參加累加器的中的值。
累加普通是經由過程輪回構造完成的。輪回之前要設置累加器S的初始值為0。
累加項T可所以很簡略的表達式,也有能夠是一個經由過程剖析獲得的較龐雜的表達式。

int S = 0;
for (int i = 1; i <= 100; i++)
{
  S = S + i;
}
printf("%d\n",S);

留意:
1)關於曾經肯定是累加算法的標題,起首肯定累加項與輪回變量的關系;
2)然後,斟酌第一個累加項的值是若干,以肯定輪回變量的初值;
3)其次,肯定最初一個累加項的值,肯定輪回前提;
4)最初,斟酌每一個累加項之間的關系,以肯定輪回變量的變更(步長值)。

例:編程盤算S = a + aa + aaa + aaaa + ... 的前n項之和。
例如:假如a = 3,n = 5,則表達式為:S = 3 + 33 + 333 + 3333 + 33333。

int 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。
連乘的算法和累加算法類似,輪回體完成的是S = S * T的情勢。須要留意的S的初值不是0,而是要設為1。
在求連乘時,因為每乘一次成果增加都異常快,所以應當留意能否會湧現溢出的成績。

輪回法式設計思緒:

(1)輸出是甚麼?用來肯定原始值。
(2)輸入是甚麼?肯定應當輸入的成果。
(3)從輸出轉換為輸入須要如何的步調,能否須要反復(肯定能否須要應用輪回語句和輪回語句的內容)。
(4)假如須要反復,可否提早預知反復的次數?用來肯定應用while、do while、for中的哪一種輪回語句。
(5)什麼時候不再須要反復?用來肯定輪回前提和輪回體中使輪回前提趨近於0的語句。

例:水仙花數、四葉玫瑰數、五角星數、六位數的成績。

水仙花數:每位數字的3次冪之和等於它自己。例:1^3 + 5^3 + 3^3 = 153。
四葉玫瑰數:每位數字的4次冪之和等於它自己。
五角星數:每位數字的5次冪之和等於它自己。
六位數:每位數字的6次冪之和等於它自己。

// 打印出一切的水仙花數
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);
     }
    }
或:
// 打印出一切水仙花數
    int i,j,k,n,s;
    printf("水仙花數有:\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);
      }
    }

最初我用例子來總結一下吧! 上面的例子是一個對1-10這10個數乞降的例子。


int i, sum = 0, num = 10;       // 聲明幾個變量:i 計數, sum 存儲最初的總和, num 表現若干個數,用來掌握界限。
for(i = 1; i <= num; i++)   // for語句包括三個語句,用;離隔。
{                                     //1設置初始值,2界限掌握,3平日用來調劑計數值。
    sum += i;          // 相當於 sum = sum + i; 表現赓續地加i。 {}內的語句均為輪回體,用4表現。
}  // for輪回的履行次序為 1-2-4-3-2-4-3-2-4-3-2................直到i > num.這時候,將加入輪回。
printf("The sum from 1 to 10 is ", sum);     // 打印輸入sum值。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved