當前位置:
首頁 > 知識 > 程序員教你學C語言

程序員教你學C語言

今天講循環,很多時候我們要對不同的數據值應用相同的計算,假設沒有循環,那麼要處理多少組數據值,就必須重複編寫多少組相同的指令,這是非常繁瑣的。我舉例解釋一下,假設我們要計算1到100的平方和(1*1+2*2+3*3+......+100*100),沒有循環的話,那我們是不是要首先定義一個求總和的變數int sum=0,然後我們要sum = sum+1*1;sum = sum+2*2;sum = sum+3*3,我們要寫一百條這樣的語句,是不是很痛苦,其實不過就是使用sum的當前值+n的平方,然後將得出的結果賦值給sum。我們用到的指令都是相同的,那我們為什麼不能簡化它呢,所以就誕生了循環

我們在前面其實已經列舉出了C語言里的所有關鍵字,其中有一個是for,它就是一種循環語句,它可以使一段代碼執行指定的次數,它的用法是這樣的:

代碼段1

for(count = 1;count

{

循環代碼段;

}

代碼段2

for循環的()裡面其實包含了用兩個分號隔開的三部分,中間的count

我來完整的敘述一下for循環的執行過程,首先當我們程序執行完代碼段1之後,在執行for循環之前,我們首先會進行count=1給count賦初值,接著我們會判斷循環條件count =1;value=value-2){}或者for(;;){}(這個for我們暫時當做是死循環,後面我們會講到跳出循環的其他語句)

理論我們就講到這裡,現在我們來完成前面的問題,如何計算1到100的平方和,現在我么已經有了循環語句,觀察問題,我們可以發現循環的初值和條件應該就是1、100這兩個數的某種形式了,我給出的參考是:

#include

int main()

{

int sum = 0;

int i;

for(i = 1;i

{

sum = sum + i * i;

}

printf("1到100的平方和=%d",sum);

return 0;

}

構建運行後就能得出正確結果了

接下來我們講一個很重要的概念--嵌套循環,有時需要將一個循環放在另一個循環裡面。例如計算某條街上每間房子的居住人數。這時候要進入每間房子,計算每間房子的居住人數。統計所有的房子是一個外部循環,在外部循環每次迭代時,都要使用一個內部循環來計算居住人數。

再比如,我們要輸出如下形式的乘法表,當我們只用普通for循環時我們要怎麼實現呢?

零基礎小白到大神之路,歡迎加裙 四八七八七五零零四,群里有免費C++課程,還有大量乾貨哦

for(i = 1;i

{

printf("%dX1=%d ",i,i*i);

}

printf("");

for(i = 1;i

{

printf("%dX2=%d ",i,i*i);

}

printf("");

for(i = 1;i

{

printf("%dX3=%d ",i,i*i);

}

printf("");

。。。。。。

如果是九九乘法表,我們就要使用9個for循環,如果換成100*100呢,那我們豈不是要使用100個for循環了,那豈不是又陷入了我們剛開始不使用循環來求1到100平方和的怪圈了嗎?

那我們就必須要考慮使用嵌套循環了,我們只需要多定義一個變數就可以了。

代碼和運行結果在下面

這應該是我們這系列文章目前寫過的最難的代碼了,我講解一下這個嵌套for循環的執行過程。首先在外層for循環裡面,我們會進行i=1的賦初值操作,然後我們判斷i

然後進行第二次外層循環,此時i=2,i

因為這是我們從開始到現在寫過的最難的代碼,所以大家要好好理解,實在不理解的可以提問,有問題不問以後會越學越難的,這裡大家可以用假想的辦法,把i

今天講了強大了for循環和煩人的嵌套循環,最後以一點愉快的知識結束吧!我再強調一遍,前面的知識不懂的一定要多問,我已經盡量以我絕對最簡單的方式來講解了,如果這樣還看不懂,那我覺得可能在市面上你已經找不到一本你能懂的C語言書籍了。

最後的知識點是system函數的簡單用法,在你的循環前面加上這麼一句system("color 0A");當然,你最好要加入相關的頭文件在前面#include,這時候你再構建運行,發現效果沒

system函數的作用就是讓系統執行一條cmd命令,有人之前甚至還問我什麼是cmd,你點擊左下角的windows圖標那裡,在運行裡面輸出cmd,點擊確認出來的那個黑框就是cmd,

當你在裡面輸入color 0A時,你會發現界面里的字也變綠了

看到沒有,理論上只要是在cmd里能夠執行的命令,都能夠使用system函數在代碼裡面運行,當然要用雙引號括起來作為system函數的參數。比如使用shutdown關機也是一樣的,有興趣的可以自己嘗試下。今天結束了,欲知後事如何且聽下回分解(手動滑稽)~

零基礎小白到大神之路,歡迎加裙 四八七八七五零零四,群里有免費C++課程,還有大量乾貨哦

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 IT技術java交流 的精彩文章:

C語言基礎——循環詳解!
最好用的5款前端開發利器
2017年 Web前端學習路線 初學者必看
2017年Web前端必火的6大流行開發趨勢!
你見過或寫過的最複雜的 C 語言程序是?

TAG:IT技術java交流 |