首先,這裡所提到的類c語言指的是如c、c++、c#和j**a等語法和c語言一樣www.cppcns.com或類似的程式語言。這些語言中,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++)
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++ )
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++)
}或:// 列印出所有水仙花數
int i,j,k,n,s;
printf("水仙花數有:\n");
for(n = 100;n < 1000;n++)
}最後我用例子來總結一下吧! 下面的例子是乙個對1-10這10個數求和的例子。
複製** **如下:
int i, sum = 0, num = 10; // 宣告幾個變數:i 計數, sum 儲存最後的總和, num 表示多少個數,用來控制邊界。
for(i = 1; i <= num; i++) // for語句包含三個語句,用;隔開。
內的語句均為迴圈體,用4表示www.cppcns.com。
} // for迴圈的執行順序為 1-2-4-3-2-4-3-2-4-3-2................直到i > num.這時,將退出迴圈。
printf("the sum from 1 to 10 is ", sum); //fmg**pjnjr 列印輸出sum值。
本文標題: c語言for語句用法詳解
本文位址:
C語言if語句詳解
用if語句可以構成分支結構。它根據給定的條件進行判斷,以決定執行某個分支程式段。c語言的if語句有三種基本形式。1 第一種形式為基本形式 if if 表示式 語句 其語義是 如果表示式的值為真,則執行其後的語句,否則不執行該語句。其過程可表示為下圖。例5 3 main 本例程式中,輸入兩個數a b。...
C語言switch語句詳解
include stdio.h void main 這裡沒有用到break.輸入1,得到 abcde 輸入2,得到 bcde 輸入3,得到 cde 問 1,case如果是條件式子,為什麼輸入 2 的時候,與 3 4 不符,也會輸出 cd 2,如果不是條件式子,為什麼輸入 2 的時候,a 又沒能輸出?...
C語言typedef用法詳解
typedef type define 是c語言的關鍵字,它的作用是為一種資料型別定義乙個新名字。一般用來簡化型別定義。typedef宣告的用法和普通宣告的用法基本相同,只是把typedef放在宣告的前面。不使用typedef char ptr to char 使用typedef typedef c...