C語言中為什麼for i 0 i3 iprintf為什麼表示式1執行1次

2021-03-20 12:18:30 字數 6232 閱讀 5602

1樓:匿名使用者

執行3次

第一次 i=0,i<3,輸出*,i+1;

第二次 i=1,i<3,輸出*,i+1;

第三次 i=2,i<3,輸出*,i+1;

第四次 i=3,i=3,程式終止。

這一題考的是for迴圈問題,如果還有不懂的地方請追問哦。

2樓:匿名使用者

肯定是三次,除非在for迴圈內,你修改了i的值。

3樓:匿名使用者

明明是三次好吧,怎麼說是一次呢

for(i=0;i<4;i++,i++) printf("+");輸出什麼,為什麼

4樓:金色潛鳥

迴圈語句 增量部分 i++,i++ 是逗號表示式 , 可以看成: (i++,i++) , 也就是 i=i+2;

迴圈語句 成為:

for(i=0;i<4; i=i+2) printf("+");

所以迴圈 2 次, i = 0 列印 1次,i=2 再列印 1次,i=4 退出迴圈。

輸出 ++

5樓:匿名使用者

i=0;i<4成立,開始迴圈:輸出[+]

i++;i++;[i=2]i<4成立,繼續迴圈:累計輸出[++]i++;i++;[i=4]i<4不成立,結束迴圈累計輸出:++

6樓:

執行完以後,i的值為4。

驗證**如下:

#include

int main()

printf("%d",i);

}驗證結果如下:

for(i=0;i<4;i++,j++) for(k=1;k<3;k++) printf("*")

7樓:匿名使用者

k是1,2兩次迴圈,可以輸出兩個星號

i是0,1,2,3四次迴圈可以執行k迴圈4次

總共是輸出8個星號

8樓:某岑

i的迴圈可以輸出兩個*(0和2)

k的迴圈可以輸出兩個*(1和2)

所以一共有四個*

c語言: { int i,x=0; for(i=0;i<

9樓:小虎子

x迴圈3次,

i%2是指 i 除以2的 餘數,若餘數是1,即為真時,跳過這一個數,x 加1,繼續下一次迴圈,

最後以十進位制,輸出x值

10樓:匿名使用者

如果滿足條件i%2則本次迴圈停止,執行i+1的迴圈 (break則是跳出整個for迴圈,意思for之內的**都不在迴圈了)

11樓:匿名使用者

等價於:if( i%2 !=0) continue;

12樓:匿名使用者

如果i%2為0不執行continue,如果i%2為非0,執行continue跳過這次迴圈執行下次迴圈

13樓:匿名使用者

對於你的例子來說是跳過x++,也就是說如果i是奇數,那麼就跳過此迴圈的語句,執行下一個迴圈

c語言自增自減,在for迴圈裡面計算啊?++x與x++兩個for(i=0;i<3;i++)與for

14樓:匿名使用者

++x先加1再運算,x++先運算再加1

for(i=0;i<3;i++)與for(i=0;i<3;++i)這兩個迴圈是一樣的。

15樓:夏成

for(i=0;i<3;i++) {}的意思是:

int i=0;

while(i<3)

for(i=0;i<3;++i){}的意思是:

int i=0;

while(i<3)

所以答案都是 0,1,2,3(i=3時跳出迴圈)++i是先加後用,i++是先用後加。

但是如果他們都沒有在使用該語句時沒被使用。

過後,他們的值是一樣的,有沒有發現

i=0++i;

int a=i; => a=1; i=1;

i=0;

i++;

int a=i; => a=1; i=1;

如何才讓他們不同呢;

i=0;

int a=++i; => a=1; i=1;

i=0;

int a=i++; => a=0; i=1;

16樓:哥們兒會_臭臭

其實這兩種寫法是等價的

for(表示式1;表示式2;表示式3){}如果把表示式3弄到迴圈裡面

for(表示式1;表示式2;;)

可以看出

就只有一句話的時候,i++ 和 ++i沒有區別都等效於i=i+1

除非表示式3是個逗號表示式,才有區別

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

17樓:肥仙女

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迴圈。

18樓:浩雄王

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語言代表的兩種形式。

19樓:life蝸牛

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

20樓:匿名使用者

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語句後的分號。

21樓:匿名使用者

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

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

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

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

int i = 0是初始條件

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

22樓:匿名使用者

做迴圈用的

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

int i;

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

23樓:

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

24樓:謝搶來

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

int a[3]={1,2,3};int i;for(i=0;i<3;i++)printf("%d\t",i[a]);

25樓:金色潛鳥

這是c語言的奇葩之一。

i[a] 和 a[i] 通過編譯後產生的可執行碼 是一樣 的。

所以 列印出 1 2 3i[a] 在c 語言中 不是標點符號,而是 「運算子」(奇葩)此運算 等價於 *(i+a)

於是a[i] 在c 語言中 不是標點符號,而是 「運算子」(奇葩)此運算 等價於 *(a+i)

這樣 一來 *(i+a) 和 *(a+i) 是 一樣 的 啦

(在高階c語言課程中談及此問題)。

26樓:匿名使用者

個人覺得是a[i]應該是寫錯了。

27樓:匿名使用者

寫錯了吧!!!我覺得應該是a[i]吧!!!不然應該輸出一段亂碼(雖然沒測試)

c語言中for語句迴圈中表示式3為什麼是i++不是++i啊?

28樓:來生繁景

for迴圈的這個都行,只是習慣性寫i++,大家都預設這種寫法了

29樓:噬血之神

i++和++i都行,沒什麼區別,都是將i逐級遞增

for(i=0;i<=1;i++) {for(j=0;j<3;j++) {printf("%5d",a[i][j]); b[j][i]=a[i][j];} printf("\n");}

30樓:徐貴洪

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

printf("\n");

}兩次;第一次 i=0 第二次i=1

C語言中fori0i5i與fori0i5i有區別嗎

沒有區別,i 和 i返回值並不同但這樣迴圈不使用這個返回值 效果上沒有區別,速度上字首 比字尾 快一點 你把兩個迴圈執行一下就知道了 有區別,i 的話先迴圈再加一,i的話先加一再迴圈 i 是先使用變數的值,後加1 i是先自加1,然後使用變數的值。本例中 str j str i 相當於 先賦值,後自加...

C語言中0i1是什麼意思??既不是i0 i1,也不是ii1,牛人們,給個解釋唄!!謝謝

首先要明確 是從右到左,是從左到右所以 該題目相當於0 i 1 那麼,先i 1指i的範圍小於1 接著把一個小於1的i進行對比,判斷 i是否 0或者說0 i。這樣,這個題目就做好了。當然,由於你沒有一個具體的 所以沒辦法確切判斷。這是我的思維。你把全部 發給我,我一定能解決這個不會出錯。0 i 1 0...

C 中int i 1 ,sum 0for i 1 i10 isum sum i cout《i為什麼i

1 int是c 語言中基本資料型別中的整型。2 sum指的是返回某一單元格區域中的數 邏輯值及數字的文字表示式之和。3 int i 1 sum 0 即int i 1,sum 0 意思是把字母i定義為整型常量,把i賦值為1。把具有 總和 意思的英文單詞sum定義為整型常量,把sum賦值為0。4 延伸一...