C語言for迴圈,c語言中for語句是怎麼用的

2022-12-17 00:36:02 字數 6181 閱讀 4259

1樓:匿名使用者

為什麼?我想為你為什麼不知道原因,這是很簡單的邏輯推算題,一看就知道你的呼叫的函式返回值就是你的輸入值,我猜你是想要的結果是1,1*2,1*2*3,1*2*3*4,1*2*3*4*5是吧?呼叫函式的形參只是在你用的時候形成,當呼叫完畢就會釋放,j的運算結果不會保留在記憶體當中,因此你想要那種結果的話,辦法可以好像dingpwen所說那樣把j宣告為靜態變數,關鍵字為static,不過最好是把

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

printf("%d",f(i));

printf("\n");

改成for(i=1;i<=5;i++)

加上括號,執行結果不會一連串,一行顯示迴圈一次的結果比較好判斷或者不改變呼叫函式,改變主函式

main()

} 同樣可以得到結果

2樓:匿名使用者

for迴圈是i從1到5。迴圈共5次。函式f(int n)裡的j始終為1,n=i所以從1到5。所以最終列印出的結果為1,2,3,4,5。

3樓:

你的疑惑是由j引起的,程式中定義的j為int型,所以說每次呼叫時j的值都賦值=1,即j的值總是為1。

如果把int型改為static型,那麼每次呼叫後j就會儲存上一次的值啦!

4樓:

//加個static

main()

f(int n)

5樓:匿名使用者

你想要什麼結果 我給你改

後面的呼叫函式好像沒用

6樓:匿名使用者

把 j 定義為全域性變數

c語言中for語句是怎麼用的

7樓:肥仙女

c語言中for語句用法:

for是c語言中的一個關鍵字,主要用來控制迴圈語句的執行。

舉例:int i;

for(i=0; i<3; i++)

// i=0是初始化部分;i<3是迴圈判斷條件部分(當滿足此條件時才進入執行for迴圈中的語句);i++是執行完迴圈體語句後的操作

// 上面的for語句就是控制輸出3次helloworld。

擴充套件資料:

for迴圈是程式語言中一種迴圈語句,而迴圈語句由迴圈體及迴圈的判定條件兩部分組成,其表示式為:for(單次表示式;條件表示式;末尾迴圈體)。

1.語句最簡形式為:

for( ; ; )

2.一般形式為:

for(單次表示式;條件表示式;末尾迴圈體)

其中,表示式皆可以省略,但分號不可省略,因為「;」可以代表一個空語句,省略了之後語句減少,即為語句格式發生變化,則編譯器不能識別而無法進行編譯。 [1]

for迴圈小括號裡第一個「;」號前為一個為不參與迴圈的單次表示式,其可作為某一變數的初始化賦值語句, 用來給迴圈控制變數賦初值; 也可用來計算其它與for迴圈無關但先於迴圈部分處理的一個表示式。

「;」號之間的條件表示式是一個關係表示式,其為迴圈的正式開端,當條件表示式成立時執行中間迴圈體。

執行的中間迴圈體可以為一個語句,也可以為多個語句,當中間迴圈體只有一個語句時,其大括號{}可以省略,執行完中間迴圈體後接著執行末尾迴圈體。

執行末尾迴圈體後將再次進行條件判斷,若條件還成立,則繼續重複上述迴圈,當條件不成立時則跳出當下for迴圈。

8樓:浩雄王

1、for是c語言中的一個關鍵字,主要用來控制迴圈語句的執行。

2、下面舉例說明for語句的使用方法:

int i;

for(i=0; i<3; i++)

// i=0是初始化部分;i<3是迴圈判斷條件部分(當滿足此條件時才進入執行for迴圈中的語句);i++是執行完迴圈體語句後的操作

// 上面的for語句就是控制輸出3次helloworld。

for迴圈是程式語言中一種開界的迴圈語句,而迴圈語句由迴圈體及迴圈的終止條件兩部分組成,for迴圈其在各種程式語言中的實現與表達有所出入,但基本為以c語言和pascal語言代表的兩種形式。

9樓:life蝸牛

for(初始變數;迴圈條件;修改變數)

10樓:匿名使用者

1:for迴圈

for語句的格式為:

for (初始化語句; 條件語句; 控制語句)

for 語句的執行順序是:首先執行「初始化語句」;然後測試「條件語句」;若條件成立,則執行語句1到語句n;然後執行「控制」語句;接著再測試條件語句是否成立,如果成立則重複執行以上過程,直至條件不成立時才結束for迴圈。如:

for(i=0;i<10;i++)......;

int i,a=new int[10];

for (i=0,i<10;i++) a[i]= 0;

這段**把整型陣列a中的所有元素都賦成0。

你可以在for迴圈的頭部說明你的變數,而且最後一個表示式可以省略,不過要確定在語句中對變數的值有所改變,如:

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

for迴圈中,「初始化語句」、「條件語句」和「控制語句」都可以省略,但是其間的分號不能省略。例如:

int i =0 ;

for (; ; ;)

for迴圈中省略「條件語句」時,在for語句{}中必須包換轉句語句控制程式在某個條件滿足時跳出for迴圈,否則將形成死迴圈

2:while迴圈

while迴圈和for迴圈類似,其格式為:

while (條件語句)

執行while時,先測試「條件語句」,如果條件成立,則執行語句1到語句n,直至條件不成立時調處迴圈。

int i=0 ;

while (i<10)

3:do ... while 迴圈

do ... while 迴圈語句的格式為:

dowhile (條件語句) ;

do ...while 語句的功能是首先執行語句1到語句n,然後進行條件測試,如果條件成立,則繼續執行語句1到語句n,否這跳出迴圈。如:

boolean test=false;

dowhile(test);

這種控制並不是很常用,但有時卻非常重要,使用時注意結尾處while語句後的分號。

11樓:匿名使用者

for 語句是一種應用廣泛的迴圈語句,一般格式為for(表示式1;表示式2;表示式3)迴圈語句;

表示式1作用為對一般變數初始化,完成初始化後計算表示式2的值,如是非零值則執行迴圈語句,即表示式2為條件語句,表示式3為執行完迴圈語句後才求解的式子,多為改變變數的值.

例如:迴圈執行某段相同的**

for(int i = 0; i < 5; i++)比如這段**是把hello迴圈輸出5次。

int i = 0是初始條件

i < 5是條件判斷,如果滿足此條件就執行**i++是條件的變化步長

12樓:匿名使用者

做迴圈用的

例如你要迴圈某個事件 5次

int i;

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

13樓:

c語言程式設計知識第十二節-c語言語句之迴圈語句-for語句

14樓:謝搶來

這樣的問題也問,那書是用來做什麼的?暈

用c語言for迴圈?

15樓:小黑哎啊

#include

int  main()

char ch;

for(int i=1;i<=4;i++)for(int j=1;j<=4-i;j++)printf(" ");

if(i==1)

ch='a';

if(i==2)

ch='b';

if(i==3)

ch='c';

if(i==4)

ch='d';

for(int k=1;k<=2*i-1;k++)printf("%c",ch);

printf("\n");

for(int i=1;i<=3;i++)for(int j=1;j<=i;j++)printf(" ");

if(i==1)

ch='c';

if(i==2)

ch='b';

if(i==3)

ch='a';

for(int k=5;k>=2*i-1;k--)printf("%c",ch);

printf("\n");

如何在c語言中跳出for迴圈

16樓:天雲一號

跳出for迴圈主要有以下2中方式:

1、用break語句。如:

int i;

for(i=0; i<10; i++)

printf("%d", i);

2、用return語句(一般用在函式體屬中,作為函式的返回值跳出該函式,也即跳出了函式體中的for迴圈)

int fun(int a)}

17樓:匿名使用者

就用break啊!在for迴圈裡面加個判斷,如果傳入的是-1就執行break

18樓:4向日葵

將while改成if就好了 ,那個break跳出的是while,改用if就好了

19樓:

應該用if( num[i] == -1) then break;

照你的語句,如果輸入的不是-1,就陷入while死迴圈了。

20樓:嘻嘻酸奶

for(i=0;i<20;i++)

scanf下面按順序執行,可以不用while,只用for一個迴圈

21樓:林藝輝

應該如下

for(i=0;i<20;i++)

c語言for迴圈輸出問題?

22樓:匿名使用者

#include

#include

typedef int elemtype;

typedef int status;

typedef struct lnode

lnode,*linklist;

//如果i小於1或者大於表長加1,則返回error

if (!p || j>i - 1)

s = (linklist)malloc(sizeof(lnode));

s->data = e;

s->next = p->next;

p->next = s;

return 1;

if (!p->next || j>i - 1)

linklist q;

q = p->next;

p->next = q->next;

e = q->data;

free(q);

return 1;

} int main()

printf("\n");

int z;

int x;

printf("請輸入要插入位置:");

scanf("%d", &z);

printf("請輸入要插入元素:");

scanf("%d", &x);

if(linkinsert_l(w, z, x))

else

printf("插入失敗\n");

y = w;

for (int j = 0; j < n; j++)

printf("\n");

int r;

int t;

printf("請輸入要刪除位置:");

scanf("%d", &r);

if(linkdelete_l(w, r, t))

else

printf("刪除失敗\n");

y = w;

for (int h = 0; h < n; h++)

printf("\n");

return 0;}

c語言for迴圈執行步驟,C語言 for迴圈執行步驟

簡單的for迴圈程式如下 for int i 0 i 20 i 執行步驟是 1 i 0 初始化初值 2 進行條件專判斷i是否 20,如果條屬件為真,則繼續執行 3 執行迴圈體的 4 i 變數i自增一次 5 回到第2步,一直迴圈,直到第2步條件為假時,退出迴圈,結束。開啟嗶哩嗶哩,搜尋 詳解c語言之f...

c語言for迴圈問題,c語言 for迴圈問題

你的for迴圈用錯了,for的三個引數第一個是賦初值,第二個是迴圈條件,第三個是增值。你的迴圈條件沒有給,並且就算寫對位子你的條件好像也錯了,按你的意識是大於10就退出,但是你的迴圈條件是 這是 或 也就是滿足一個條件就進行迴圈,當你輸入10的時候大於了1,那麼迴圈就可以進行。所以你應該是用 用 且...

c語言for迴圈輸出問題,C語言 for迴圈輸出陣列的問題

include include typedef int elemtype typedef int status typedef struct lnode lnode,linklist 如果i小於1或者大於表長加1,則返回error if p j i 1 s linklist malloc sizeo...