C語言for語句用法詳解

2022-10-04 02:09:07 字數 2178 閱讀 3723

首先,這裡所提到的類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...