c語言for語句
⑴ for語句,c語言
#include <stdio.h>
int main()
{
int n;
int i;
float result = 0;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
result += 1.0 / i;
}
printf("%f\n",result);
return 0;
}
⑵ c語言中for語句的用法及規則是什麼
c語言中for語句用法:for是C語言中的一個關鍵字,主要用來控制循環語句的執行。
無論是循環1還是循環2,都是不會執行,因為你的a和b的初時值都是1,但是你的循環條件分別是a<0,b<0,因此循環都不會執行,把a<0和b<0;改成a<100和b<100。
第2個for語句,前邊有{}括弧,編譯都過不了,如果沒有{}括弧,就是printf("%d",b);執行100次後,printf("%d",a);執行1次,再用第一個for循環重復上面的操作100次。總的就是printf("%d",b);10000次,printf("%d",a);100次。
注意事項
1、for循環中的變數可以是一個也可以是多個。
2、for循環中語句可以為語句體, 語句體外加大括弧"{}"將參加循環的語句括起來。
3、for循環中的"單次表達式"、"條件表達式"和"循環體語句"都是選擇項, 即可以預設成只剩下「;」的空語句。
以上內容參考:網路-for循環
⑶ C語言中for循環語句
for()語句包括三個表達式,第一個和第三個可以省略,省略第一個的意思是在for之前已經對變數初始化,例如i=0;
for(;i<=5;i++)
和for(i=0;i<=5;i++)意思相同;第三個省略的意思也很明顯,原來的i++
可以在for循環語句中實現,例如
for(i=0;i<=5;i++)
和for(i=0;i<=5;){i++;}作用是一樣的!
⑷ c語言中for語句是怎麼用的
for是C語言中的一個關鍵字,主要用來控制循環語句的執行。
下面舉例說明for語句的使用方法:
int i;for(i=0; i<3; i++) // i=0是初始化部分;i<3是循環判斷條件部分(當滿足此條件時才進入執行for循環中的語句);i++是執行完循環體語句後的操作{ printf("HelloWorld");}// 上面的for語句就是控制輸出3次HelloWorld
⑸ C語言的for循環語句
1.首先定義一個循環變數 i。定義的時候可以不給它賦初值,在 for 循環裡面再給它賦初值也行。但前面說過,最好在定義變數的時候就對它進行初始化,如果值不確定就初始化為 0...
2.然後定義一個用來存放「和」的變數 sum,並給它賦初值 0,然後進入 for 循環:
3.首先求解表達式1,即給變數i賦初值,i=1;表達式1隻執行這一次,下面都不會再執行了。
4.然後求解表達式2,若 1<=100 成立,則執行 for 循環中的內嵌語句。
⑹ C語言里的for語句怎麼用
對於問題1
我們只討論循環:
開始
for (i=0; i<2; i++)
i=0 往下執行 for(j=0; j<2; j++)
j=0往下執行 for(k=0; k<2; k++)
k=0 往下執行 printf(「%d %d %d\n", i, j, k);
輸出 i j k 顯然輸出的是 0 0 0
輸出後執行 k++, k值變為1 與2比較 顯然 k<2 繼續執行 輸出
此時 i=0 j=0 k=1 輸出為 0 0 1
輸出後執行 k++, k值變為2 與2比較 顯然 2<2 為假,跳出k循環回到上一級循環執行 j++
j=1與2比較 顯然1<2 往下執行(此時i=0 , j=1)再次執行k循環int k=0
將k值重新賦值為0 執行輸出 此時 i=0 j=1 k=0 輸出 0 1 0
執行輸出後k++,k值為1與2比較 顯然1<2 繼續 k的循環 此時k=2,j=1 i=0
執行輸出為 0 1 1
輸出後k++ ,k值為2與2比較 2<2為假跳出k循環 返回j循環 返回時k=2,j=1 i=0 執行j++ ,j的值為 2顯然 2<2為假 ,跳出j循環 返回i循環 此時k=2,j=2 i=0, 執行i++,i值為1 與2比較 顯然1<2 往下執行
i=1,執行 j 循環 int j=0 j值變為0
j=0 向下執行 k循環 int jk=0 k值變為0
k=0 向下執行輸出 此時 i=1 j=0 k=0 輸出 1 0 0
(此時回到了i=0的開始情況 )
參照前面的分析繼續執行 依次會 輸出 1 0 1
1 1 0
1 1 1
當輸出到 1 1 1 的 時候繼續想下執行k++,k值變為2 與2比較 結果為假回到j循環此時 i=1,j=1 ,k=2 ;執行j 循環中的j++,j值為2與2比較 結果為假回到i循環此時 i=1,j=2 ,k=2 ;執行i 循環中的i++,i值為2與2比較 結果為假退出循環 此時i=2,j=2 ,k=2;退出循環後下下執行結束程序
對於問題2 while(1)就是條件為永真 你用while(3) while(2) 都可以 就是while()函數的語句不停的執行 ,此時只能用跳轉或者break 語句來跳出循環
但是while(0)表示永假 即while()裡面的不執行 當然do while()除外 它是先執行後判斷,但是也僅僅執行席次就不在執行了for(;;)裡面空的意思就是條件為永真,沒有退出的判別條件也就是相當於while(1)(習慣用 1 0 表示真假) 當然也可以用break或者跳轉退出循環,但是那和for(;;)的判斷無關。 所以for(;;)簡單的講就是條件為永真 循環不斷的執行 除非遇到函數內部的跳轉 或者函數裡面嵌套的判斷退出為止
eg : 1>
int i=0;
int j=0;
for(;;) {i++;
j++ ;} //不停的死循環
2>int i=0;
int j=0;
for(;;) {i++;
j++ ;
if(i>10)break;
}
不停的循環直到i>10由內部判斷退出循環
對於問題3 你只要將 1維理解 和for語句的一維理解透徹 再在此基礎上擴展就行了
多維數組可以分解為多個一維數組的 多個for的嵌套同樣可以分解為一個一個的循環
只要很清晰的知道 數組下標 與判斷時候條件值的狀態 就好分析了
對於初學者來數 數組畫圖分析 以表格的形式在紙上分析,而循環語句同樣的將判斷的條件分解來 在紙上模擬,一步一步的跟進狀態 從簡單的開始慢慢深入 ,不怕麻煩 仔細研究很如意理解的.
⑺ C語言for語句
一、1--100所有數和
#include<stdio.h>
main()
{
int
i=0,sum=0;
for(i=1;i<=100;i++)
sum=sum+i;
printf("%d\n",sum);
}
二、100以內奇數和和偶數和
#include<stdio.h>
main()
{
int
i=0,odd=0,even=0;
/*odd是奇數,even是偶數*/
for(i=1;i<=99;i+=2)
{
odd=odd+i;
even=even+i+1;
}
printf("%d,%d\n",odd,even);
}
二、列印1000以內的水仙花數
#include<stdio.h>
main()
{
int
i,j,k,n;
printf("'water
flower'number
is:");
for(n=100;n<1000;n++)
{
i=n/100;
j=(n-i*100)/10;
k=n%10;
if(i*i*i+j*j*j+k*k*k==n)
printf("%d\n",n);
}
}
四、TC運行出
*
**(這中間是不是少了一行三個星的?所以一下分兩種答案)
****
*****
******
//有三個星的情況
#include<stdio.h>
main()
{
char
a='*';
int
i=0,j=0;
for(i=1;i<=6;i++)
{
for(j=1;j<=i;j++)
{
printf("%c",a);
}
printf("\n");
}
}
//沒有三個星的情況
#include<stdio.h>
main()
{
char
a='*';
int
i=0,j=0;
for(i=1;i<=2;i++)
/*列印第一二行*/
{
for(j=1;j<=i;j++)
{
printf("%c",a);
}
printf("\n");
}
for(i=4;i<=6;i++)/*列印第三四五行*/
{
for(j=1;j<=i;j++)
{
printf("%c",a);
}
printf("\n");
}
}
五、用*列印出菱形
#include<stdio.h>
#include<math.h>
main()
{
int
i=0;j=0;
int
wholeline=0;/*需要輸入要列印幾行的菱形,因此,這個數必須是奇數*/
int
midline=0;/*菱形的中間行*/
printf("輸入菱形行數,必須為奇數:");
scanf("%d",&wholeline);
if(wholeline/2==0)
(printf("錯了\n");return
0;)
midline=(wholeline+1)/2;
for(i=1;i<=wholeline;i++)
{
for(j=1;j<=abs(midline-i);j++)
printf("
");/*列印空格,注意,引號之間有個空格*/
for(j=1;j<(
(midline-i)>=0?(i*2-1):((midline*2-i)*2-1)
);j++)
printf("*");/*列印星號*/
printf("\n");
}
}
六、運行出
1
121
12321
1234321
123454321
#include<stdio.h>
main()
{
int
i=0,j=0;
for(i=1;i<=5;i++)
{
for(j=1;j<=5-i;j++)
printf("
");/*列印空格,注意,引號之間有個空格*/
for(j=1;j<=i;j++)
printf("%d",j);
for(j=j-2;j>0;j--)
printf("%d",j);
printf("\n");
}
}
不用數組,不用函數,用純c編程,累死我了,我只是口頭編,沒調試過(手頭沒有編譯環境),可能會出現錯誤哈,勿怪
⑻ for在c語言中是什麼意思
c語言中for語句用法:
for是C語言中的一個關鍵字,主要用來控制循環語句的執行。
舉例:
int i;for(i=0; i<3; i++) 。
// i=0是初始化部分;i<3是循環判斷條件部分(當滿足此條件時才進入執行for循環中的語句);i++是執行完循環體語句後的操作{printf("HelloWorld")}。
// 上面的for語句就是控制輸出3次HelloWorld。
相關內容解釋:
for循環是編程語言中一種循環語句,而循環語句由循環體及循環的判定條件兩部分組成,其表達式為:for(單次表達式;條件表達式;末尾循環體){中間循環體}。
1.語句最簡形式為:for( ; ; )。
2.一般形式為:for(單次表達式;條件表達式;末尾循環體)。
{中間循環體};其中,表示式皆可以省略,但分號不可省略,因為「;」可以代表一個空語句,省略了之後語句減少,即為語句格式發生變化,則編譯器不能識別而無法進行編譯。
for循環小括弧里第一個「;」號前為一個為不參與循環的單次表達式,其可作為某一變數的初始化賦值語句, 用來給循環控制變數賦初值; 也可用來計算其它與for循環無關但先於循環部分處理的一個表達式。
「;」號之間的條件表達式是一個關系表達式,其為循環的正式開端,當條件表達式成立時執行中間循環體。
執行的中間循環體可以為一個語句,也可以為多個語句,當中間循環體只有一個語句時,其大括弧{}可以省略,執行完中間循環體後接著執行末尾循環體。
執行末尾循環體後將再次進行條件判斷,若條件還成立,則繼續重復上述循環,當條件不成立時則跳出當下for循環。
⑼ C語言中,for語句的用法
????????樓上的回答還真是搞得我一頭霧水。。。真的是看不懂說的什麼。(「就是你上邊的i=1的部分」)。。都不知道上邊哪去找i=1?我也說說對for的個人看法吧:先說說用偽代碼表示for形式:for(initialize;test;update)statement這個形式我想你也看得懂吧!在這給你翻譯下:你也看到了他的形式。 for(這裡面是用分號分開的三個控製表達式。)initialize表達式只在循環語句執行前執行一次。然後是對test表達式求值。如果test的值為真就循環就執行一次。然後計算update。計算update後再一次檢查test表達式。如果為真就再一次執行循環。真到test條件表達式為假。也就是為0。循環結束。statement也就是循環執行的語句。他可以是簡單語句也可以是復合語句。不知道這樣我說得明不明白。還有點值得說明:for是個入口條件循環。所以for有可能一次循環也不執行。最後就對樓上給出的回答做個簡單的for。for (i=1;i<8;i++)printf ("Game Oever");當i大於或等於8時。循環結束。否則執行printf語句