一、學習目標
- 了解C語言代碼的一般結構
- 了解函數的概念
- 了解printf函數的使用方法
- 了解頭文件的概念
- 了解system函數的使用方法
目錄
C語言真的很難嗎?那是你沒看這張圖,化整為零輕松學習C語言。
第一篇:(一)脫離學習誤區
第二篇:(二)C語言沒那么難簡單開發帶你了解流程
第四篇:(四)語言的基本數據類型及變量
第五篇:(五)C語言的變量、常量及運算
第六篇:(六)輕輕松松了解C語言的邏輯運算
第七篇:(七)C語言的循環分分鐘上手
第八篇:(八)了解基本數組還不是那么簡單
第九篇:(九)C語言二維數組與循環嵌套
第十篇:(十)C語言的指針原來是這樣
第十一篇:(十一)C語言自定義函數真的很簡單
第十二篇:(十二)原來結構體是這么回事
第十三篇:(十三)socket服務端編寫
C語言新手的100個報錯解法
推薦
我正在參與1024活動,歡迎大家點贊、收藏、評論我的干貨文章《一篇文帶你從0到1了解建站及完成CMS系統編寫》
歡迎大家關注公眾號,公眾號每滿1024及1024倍數則會抽獎贈送機械鍵盤一份+IT書籍2份喲~
二、簡單了解C語言程序的基本結構
在上一節學習中,復制了一段HelloWorld代碼并且運行了該程序。接下來通過上一節的代碼來學習一般情況下C語言代碼的結構組成。
2.1 了解C語言代碼編寫區域
如下圖,紫色框所示意的區域為工作區,我們編寫代碼在此區域進行。但對于初學者來說,此方式編寫太過自由,最適合初學者的方式為指定一局部區域,在該區域編寫基礎代碼。
在上一節中,我們修改了 printf("")
雙引號內的內容,從而實現了程序在運行時顯示內容的自定義。我們再查看這個printf("")
所在的區域為int main(){}
代碼中花括號({ })內。該花括號內我們稱為main函數內的代碼內容。
在此我們出現了一個新的名詞“函數”,“函數”的概念接下來將會講解,現在我們拋開函數得知,printf 這個代碼,是編寫在一對花括號中的。那么我們在此規定,接下來寫程序將會在這一對花括號中編寫。
在以上代碼中,花括號內的代碼,每一句結束后都是用了一個分號(;)作為結束標志,分號在代碼中作用跟中文書寫文章一樣,表示這一句結束,在編寫代碼時一般情況下使用分號表示結束。表示結束還有很多不同的情況,我們將在之后的課程詳細說明。
注意:在編寫代碼時,所有的關鍵的符號標點都需要使用英文狀態下進行輸入。
三、了解函數的使用方法
在上一個小點中出現了“函數”這一陌生名詞。在編程中,一般函數并不所指數學中的函數,所指代的為一個功能,一個可以幫我們完成某個結果的方法。
3.1 了解函數的概念
在編程中,函數可理解為一種直接使用就可以完成某個任務的“工具”。函數可以自己去實現,在之后的課程將會說明。
函數我們可以使用一個例子很好的說明:在洗衣機未出現前,我們洗衣服一般可分為打水、放皂角之類的洗滌劑、敲打或搓洗、漂水洗凈、扭干;通過以上的步驟才可以完成衣服的洗凈。當洗衣機出現后,洗衣機自動的完成了打水、放皂角之類的洗滌劑、敲打或搓洗、漂水洗凈、扭干這些過程;當我們洗衣服時就不需要如此繁瑣的過程,只需要把衣服放進洗衣機中就可以完成該任務。
在C語言編程中函數也如此,函數表示一個方法或功能,當我們需要使用該功能時,可以通過書寫改函數的名稱,傳遞一些所需的內容,即可完成該任務。
3.2 了解printf函數的使用方法
在我們上一節中,修改了printf("")雙引號內的內容,程序運行時顯示了該內容。從運行結果得知,printf極有可能是用于程序在運行時顯示內容的關鍵代碼。如果你有這個想法,恭喜你,你具備了一些編寫程序的思維。printf("")的作用是在程序運行時,將圓括號中雙引號內的內容顯示出來,在編寫程序時,非特定字符情況下,你在雙引號內填入什么值則會輸出什么值。
printf是一個函數,功能是在程序運行時顯示一些值。我們填入的值稱為參數。一個函數使用的一般方式為函數名后接一個圓括號,如需要傳入字符串值作為參數,那么在傳遞字符串的時候使用雙引號引起來作為傳入即可。(之后的課程會學習多重類型作為參數的不同表現形式)
在C語言中,直接可以使用的函數稱為系統函數,如printf,這些系統函數等同于一些工具,分類存放于一些“工具箱”中。
3.3 了解頭文件的概念
在3.2節末,我們得知系統函數分類存放于一些“工具箱”中,這些工具箱則是頭文件。如下圖,頭文件則是代碼中最頭部位置的那兩行代碼。
如上圖紫色框示意位置則是頭文件的引入代碼。如何引入?接下來告訴你。
引入代碼如下:
#include<stdio.h>
#include<stdlib.h>
以上代碼中,stdio與stdlib為頭文件名稱,其中stdio.h的.h為該文件的后綴,h表示這個文件為頭文件。我們可以理解這個.h為當前文件的標志,表示類型。
#include<> 表示引入哪個頭文件,該代碼的作用就好比一只手,你告訴它拿什么工具箱,它就去幫你去指定地點將工具箱拿來。那么這個指定地點在哪呢?系統默認這個地點為devc軟件安裝位置下的include目錄。
這就是環境的作用,如果你編寫C語言程序,沒有所支持的庫那么使用printf函數將沒有任何作用,除非你自己手動實現整個過程,這個過程對于新手來說是非常繁瑣且模糊的。
當然,我們在引入頭文件時需要注意,隨意引入是沒用的,假設我想引入一個名為qqq的頭文件,#include去當前目錄尋找該文件,發現找不到,這個時候將會出現錯誤提示。
并且會提示報錯,告知你在該目錄下并沒有找到該文件。
那么問題來了,現在我們回顧為什么要引入頭文件?
在之前有說,函數是存在于頭文件中,那么就存在一個邏輯“使用一個函數則需要引入該函數”。我們使用的函數printf存在于stdio頭文件中,所以在頭部我們把工具使用include將其引入,引入后printf才可以使用。不信?那我們把頭文件第一個引入刪除,隨后點擊編譯程序看看是否會報錯。編譯按鈕如下:
刪除后代碼如下:
#include<stdlib.h>
void main(){printf("你好 世界!");system ("pause");
}
編譯后結果:
在下方提示窗口中提示了一個警告Warning,表示當前系統函數printf直接使用不當。(因為直接翻譯過來會有一些專業術語,所以我換了一種表達)由于現在C語言的標準在隨著時間改變,所以導致了出現警告,在老一點的標準中,會直接出現錯誤,就不是現在的警告了。為了良好的習慣我們把引入#include<stdio.h>
加上:
#include<stdio.h>
#include<stdlib.h>
void main(){printf("你好 世界!");system ("pause");
}
再次編譯則沒出現警告。
3.4 了解system函數的使用方法
上一節中了解頭部頭文件的引入作用和方法,接下來再了解另外一函數system。system函數作用為執行系統命令。這個系統指的是DOS系統,簡單的理解就是程序運行時出現的小黑框。
在此system為何要調用這個DOS小黑框的命令呢?這個命令又是什么?有什么作用?
我們首先查看在代碼中的system為system ("pause");
,這一句代碼的作用是:當程序運行到此處時停止,等待按下一個鍵繼續運行。那為什么要這樣做呢?因為不加這一段代碼我們所邊寫的程序就會一閃而過。
我們可以做個試驗,刪除system這一行代碼,最終代碼如下:
#include<stdio.h>
#include<stdlib.h>
void main(){printf("你好 世界!");
}
隨后點擊編譯運行程序按鈕。
隨后出現黑框框,并且沒有出現一閃而過的現象。
哎呀,是不是我翻車了呢?其實并沒有。
在這里會停止使因為我們通過了devc這個軟件進行程序運行,這時會自動的添加停止。那我不從devc軟件運行該程序會怎樣?我們在上一節學過,當編譯運行后,將會生成一個可執行程序,雙擊可以直接運行。
我們去之前設置的文件保存處,找到該文件雙擊運行。這個時候就會出現一閃而過的現象。所以同學們,還是得添加停止代碼。
#include<stdio.h>
#include<stdlib.h>
void main(){printf("你好 世界!");system ("pause");
}
接下來解釋一下 system ("");
函數的用法。system函數并不是只有暫停功能,它可以使用DOS系統的命令,但是需要傳遞該命令。由于學習DOS系統命令會增加沒必要的學習時間,我們是以C語言學習為主,在此只需要知道傳入一個pause就會執行暫停即可。暫停命令是一串字符,稱為字符串。一個函數不需要傳入參數的形式為函數名加圓括號system(),但在此需要傳入一個命令pause實現暫停,則編寫為system ("pause")
,代碼需要使用分號表示結束,則最終寫成system ("pause");
。注意標點符號一定是英文輸入法下輸入。
四、main
在helloWord程序中還有void main 未解釋。因為內容涉及過多其它內容,在此并不做詳細解釋,只需要了解main是C語言程序的入口。
我們編寫一個程序,必須要給予計算機一個最起始的入口給計算機,告訴它我們的程序從哪開始,這就是main。就好比學校一樣,有一個大門,你拿著錄取通知書看見一個大門,知道這個是入學校的入口。計算機也一樣,這個main是我們在C語言中規定的一個入口。
IT原創動漫、學習資料、原創教程請關注公眾號。
五、總結
通過以上描述與講解,我們了解了以下幾點內容:
- 初學者開始寫代碼先從main之后的花括號內編寫代碼
- 了解了函數的概念為一個功能的實現
- 了解了printf函數的使用方法,在函數內傳入值即可在程序運行時顯示
- 知道了頭文件的位置及函數存放于頭文件內
- 了解了stystem函數是調用DOS系統命令的函數
- 了解了main的作用是表示代碼入口
我的博客即將同步至騰訊云+社區,邀請大家一同入駐:https://cloud.tencent.com/developer/support-plan?invite_code=luezrrk9istg