c語言裡的FOR原理,C語言中巢狀迴圈的執行原理是什麼(詳細點)應注意什麼細節?

2022-07-10 05:20:06 字數 5263 閱讀 3981

1樓:永兵

親,是for語句迴圈一次就操作一次,因為它是for語句的乙個巢狀語句,功能就是計算1+2+3+~+100的值。如果改成:

for(i=1;i<=100;i=i++);sum=sum+i;

那麼就是你說的第二種情況了,即迴圈到for結束才把i的值帶入進去給sum賦值,此時for迴圈的語句體為一空語句。望能幫到您啊!

對於下面的問題:

執行for(j=1;j<=i;j++)後,然後j<=i這句的時候,i被賦予了值,外迴圈執行一次,內迴圈就執行i次,而且i是從1開始遞增到10的。

2樓:匿名使用者

迴圈一次就操作一次;過程如下:

i=1:sum=0+1;//執行第一次

更新變數i=i++;判斷:滿足條件i<=100;

i=2;sum=0+1+2;//執行第二次更新變數i=i++;判斷:滿足條件i<=100;

...i=100;sum=0+1+2+..+100;//執行第一百次更新變數i=i++;判斷:滿足條件i<=100;

i=101;判斷:不滿足條件i<=100;

迴圈終止;

至於補充的問題:

迴圈當然是從外層開始。i=1;然後進入內層;j=1:執行相應的操作;j更新變數後不滿足j<=i;內層迴圈結束,接著執行外層迴圈:

更新變數i++;i=2;這時,再次進入內層迴圈,直到內層迴圈結束;再繼續執行外層迴圈,如此往復下去,直到外層迴圈終止。

3樓:是夜南風

for函式的格式是 括號裡的被分號分開的三個部分 分別表示 i初始為1.i的值範圍為<=100.每次迴圈i+1

後面的{}中是函式體 也就是每次迴圈時函式是怎麼執行的。sum=sum+1 每次迴圈執行一次 操作一次

最終 這個式子的意思就是1+到一百

4樓:王的精彩影視片段

你好!在for函式裡的資料是跟迴圈一次就計算一次的,不管什麼資料,,簡單的說,就是在大括號內的資料都是跟著i 的每一次遞加或遞減而計算一次的;

5樓:匿名使用者

i=1是for語句的起始條件, 就是給 i 賦值,中間是判斷條件,為真則執行下面括號中的語句。最後才進行i=i++操作。

6樓:匿名使用者

i從1到100,每次迴圈都執行sum = sum + i,共加100次,結果應該是5050。

是先從外迴圈開始,否則又如何進入內迴圈呢?

你補充的內容是列印九九乘法表。

7樓:木頭人

迴圈一次執行一次,該題應該是在計算從1加到100的值。你可以執行看看結果。。應該是5050

8樓:匿名使用者

每次迴圈執行一次

後乙個問題, 第二個for在第乙個for的裡面,所以第一次for1的迴圈都會完成一遍for2的迴圈

9樓:

迴圈一次就操作一次。

c語言中巢狀迴圈的執行原理是什麼(詳細點)應注意什麼細節?

10樓:匿名使用者

迴圈的巢狀就是乙個迴圈體內又包含另乙個完整的迴圈結構。三種迴圈可以互相巢狀的。

舉個例子吧,兩重的for迴圈:

for(i=0;i

}進入第一層迴圈後,執行一些語句,再進入第二層迴圈,執行第二層迴圈的語句,當第二層迴圈結束跳出後,再判斷第一層迴圈的條件是否滿足,也就是說內層迴圈要執行多次(n次),總共的迴圈次數為n*m次。

11樓:匿名使用者

迴圈巢狀時,(1)外層迴圈語句進入到內層,內層迴圈迴圈完一次(即內層迴圈已不滿足條件);(2)再到外層迴圈,看外層迴圈是否滿足條件,滿足回到(1),不滿足結束整個迴圈!

c語言原理

12樓:

你好:和組合語言相比,c語言屬於高階語言,現在嵌入式中常用到c語言程式設計,因為它可以直接對硬體程式設計。

像你說的,用最抽象,最易懂的語言形容c語言,我做不到,因為c語言比邏輯上比組合語言簡單,但是它涉及到的知識點比較多,總的來說:有變數,常量,條件語句,迴圈語句,位操作,檔案操作。。。我推薦你一本書吧:

《c語言入門經典》lvor horton編寫的,知識點介紹得很全,而且每個例子後面的說明也全面,我開始學習c語言的時候就是看的這本書,還有,記住:c語言不必死記硬背,也不像你說的,它和英語沒什麼關係,你學習過就會明白了,c語言就那麼幾種語句,多練習,自然而然就記住了。最後祝你成功。

13樓:匿名使用者

真不容易....c語言是面向過程的語言,顧名思意,你只要把問題分解到最後成為乙個乙個最基礎的算式,然後遵循c語言的格式寫出來就好了!c語言可以說是程式設計的基礎,你既然會彙編,我覺得對你來說入門應該很簡單,因為你已經有這種思考方式了啊!

餘下來的只是掌握一些小細節和會語法罷了!我看的書是c語言設計者寫的英文版教材 《the c programming language》,想看中文的話推薦看譚浩強的好了!

我沒接觸過易語言 不過我覺得不大現實 畢竟微控制器的運算速度非常重要 儲存空間限制也非常大 易語言是中文的,要通過大量的轉換和呼叫,執行效率肯定遠遠低於c語言 所以我覺得可能性不是很大

14樓:光腳滿地跑

去找譚浩強……他的c都很經典,話說之前看到過一本有關c的外譯書,有兩個新華字典厚,崇拜中,確實是很好,但是忘記名字了,只記得很厚很厚……囧

快排 c語言 原理

15樓:

不懂這段c語言的詳細原理 for(i=0;(buffer[i]=toupper(buffer[i]))!='\0';i++);,在老外的書上經常在for

16樓:

跟下面的執行結果是一樣的,但是執行次數多一次for(i=0;buffer[i]!='\0';i++)buffer[i]=toupper(buffer[i]);

只不過**更緊湊而已,各人編寫**的風格

17樓:匿名使用者

(buffer[i]=toupper(buffer[i]))!='\0'

此句等同於

char c=buffer[i],

buffer[i]=toupper(c)

最後在以buffer[i]是被否等於 '\0' 為判斷條件碰到類似的**就將它才開來吧

for(i=0;(buffer[i]=toupper(buffer[i]))!='\0';i++);

這句也可以寫成

for(i=0; ;i++)

c語言,這是怎麼執行的,它的原理是什麼?

18樓:aivenyoung光影

看c語言**,需要先觀察語句的有效範圍,比如while ,分清調理,有條件的話,將**粘到編輯器(visual studio, sourcee insight等**編輯工具,這樣格式清楚)裡面。(前話)

以下開始分析:

while(1)

else printf("輸入資料有誤,請重新輸入:");

}while迴圈語句, 1表示為真,一直迴圈直到break跳出。

輸入數字,賦值給n,

判斷n的大小,如果在1~20之間,y = 1,如果y =1 跳出該while迴圈。

如果n不在1~20之間,即資料有誤需要重新輸出。

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

printf("輸入男子專案數和女子專案數:");

for迴圈語句,從1~n依次輸入學校名字賦值給sch[i].name,把學校序號賦值sch[i].num, 其他資料均為初始化操作賦值0。

while(1)

輸入兩個數字到m(取值範圍1~20)與w(1~20),如果超出範圍,需要重新輸入。

理解上下文,這裡的m代表的是man就是男子專案有m個,女子專案有w個。

for(i=1;i<=m+w;i++)

p[i].snum[j]=x;

sch[x].score+=integral[j-1];

if(i<=m)sch[x].male+=integral[j-1];

else sch[x].female+=integral[j-1];

}printf("輸入第%d個專案的前5名的運動員編號和姓名:\n",i);

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

}}else

由於比較長,我就不一句一句分析了,

分別對於m+w個專案,也就是總專案,乙個乙個的進行計算學校成績。

if (i%2 != 0) 也就是說如果專案編號為基數,則取該項目的前5名, p[i].snum[j]=x; 將學校編號輸入到專案i的名次j裡面。

sch[x].score+=integral[j-1];

if(i<=m)sch[x].male+=integral[j-1];

else sch[x].female+=integral[j-1];

學校總分加上 integral[j-1], 如果i=1&&x<=20)y=1;

if(y)break;

else printf("輸入資料有誤,請重新輸入:");

}p[i].snum[j]=x;

sch[x].score+=integral[j-1];

if(i<=m)sch[x].male+=integral[j-1];

else sch[x].female+=integral[j-1];

}同理,如果專案編號為偶數,只去專案的前三名學校,給該校的成績加上integral[j-1]。

printf("輸入第%d個專案的前3名的運動員編號和姓名:\n",i);

for(j=1;j<=3;j++)

}}}}

輸入第%d個專案的前3名的運動員編號和姓名,編號範圍(1~20)

void print(int i)

{cout<

<

格式化輸出 學校編號, 學校名字,學校總分,學校男子專案總分,學校女子專案總分。

由於該**相關資料結構沒有給出,具體值不做分析。

另外,該**寫的真tm爛。

好累,求給分。。。55555555

c語言中,氣泡排序的原理是什麼?

c語言中(a,b)的作用,C語言中(a,b)的作用

給你舉個例子 include void main 輸出結果是 2,4,7,7 press any key to continue a b b a,c c b 括號裡面的叫逗號表示式。你可以去仔細看看你的教材。在 a b b a,c c b 中,先計算a 既a a 1 a變成了2 再計算b b a,b...

c語言中與的區別,C語言中 與 的區別

區別如復下表 擴充套件資料具體區別制的例子 bai1 c 語言輸入輸出du printf a d,b d zhi,a,b scanf d d d a,b,c 2 vb 語言的輸入輸出 inputbox x 輸入 x 的值dao print x x 而且,這兩種運算子,還分為字首運算和字尾運算 如 i...

關於C語言 關於C語言中continue 的用法?

是指乙個字串,也就是以char命名的乙個串。而1則是乙個數值,常量。而對於這個程式的case語句中所要判斷的是字串c,所以需要判斷是否相同的內容兩邊要加上單引號,來表明它是乙個字串。而樓主舉的 case 1 中的1是乙個數字,所以不需要加上單引號,因為數字本來就是這樣表示的。如果lz還是不理解,可以...