親愛的博友們,我們今天就正式切入主題,開始總結一些C語言的語法,希望可以幫到大家。這里字較多,但是我保證讀完一定對你有些許幫助,耐下心來學好C語言吧加油!海嘯_IT首發
首先我們通過一個例子來進入講解;
#include <stdio.h> // 頭文件 int main(void) /* 主函數 */ { int num; num = 1; printf("Hello China!\n"); printf("\tI love China"); printf("The number is %d",num); Return 0; }
今天我們就拿這個程序作為入門使用。(如果你對編譯器的使用還不是很熟悉,你可以到我們一個專門的博文中去學習。)
#include <stdio.h>
首先我們看到,程序的開始是一個 #include <stdio.h> include 翻譯出來就是 “包括,包含”,沒錯 #include <stdio.h>就是要告訴編譯器包含文件stdio.h中的全部內容。 也就是相當於 你把stdio.h 所有的代碼都打到了這個地方。而.h 的后綴名 是頭文件(h---head),可能因為它總是放在最前面所以才叫它頭文件吧。
#include 是C preprocessor directive,即 C 預處理指令,C編譯器在編譯之前要對源代碼進行准備工作,這個過程我們稱之為 預處理。 那么它到底有什么用呢?通常我習慣這樣解釋,下面的printf 指令是要在屏幕上輸入內容,那么編譯器在編譯的時候怎么知道printf就是輸出呢?這時就要 #include出場了,其實 printf 等一些指令就相當於是工具,而#include里面的頭文件就相當於是說明書,電腦必須通過說明書知道某些指令是干什么的,怎么用,它才會去正常的使用某條命令。當然,“說明書”不可能一本就寫完,它也會分門別類的有很多“本”,比如以后你還會見到 #include <stdlib.h>、#include <time.h>、#include <math.h>等等很多很多。海嘯_IT首發
int main(void)
main 在中文是"主要"的意思,對它就代表主函數,而且在一個程序中它就是主要的,是唯一的,是必不可少的。一個程序開始運行,都要從主函數開始執行。代碼中我是這樣寫的: int main(void) 首先 int 表示了main()函數的返回值類型,意為着我將要返回一個整數。這個整數是要返回給你的 OS(Operating System:操作系統) 的,我曾困惑為什么要給 OS 返回一個整數,后來我才明白;那是程序運行完畢后,通知系統它已經正常退出了。 而括號里面的 void 則表示不給主函數傳遞任何信息。海嘯_IT首發
建議大家主函數定義的時候一定格式要規范,因為最新的C99標准已經不允許再像以前那樣 main() 直接去寫了,一定要養成寫函數返回類型,和傳遞進函數的東西是什么。
// /*………*/
這個叫做注釋,兩種不同的寫法,功能是一樣的,用來解釋當前行或者幾行內容,或者加一些提示信息等等,以方便他人閱讀代碼,進行日后的更改或維護等等。寫代碼,寫好明確的注釋也是一個十分重要的習慣
{
........... ;
}
花括號,函數的具體內容,代碼實現一定要寫到花括號中,堅決不能用其他任何一種括號代替,而且要成對出現。
int num;
這一句的作用是聲明變量,叫做聲明語句(declaration statement)。據說聲明語句是C語言中最重要的功能之一。這句話首先你聲明了一個叫做 num 的變量,並且這個變量類型是整型;那么你就應該知道了,聲明類型的格式應該是
變量類型 變量名;
int 是整數型,也就是說它沒法打小數。你可以根據你所需要的功能去聲明不同類型的變量類型,我們常用的變量類型有 int-整型;float-浮點型;char-字符型等等;其他還有long、double等等我們會專門寫一篇關於變量的文章。海嘯_IT首發
在這里 num 叫做 標識符;而標識符的內容是有一定的嚴格要求的,具體規定如下:
1、標識符名稱只能由字母,數字,下划線組成,其它一切東西包括空格等均不允許出現在標識符中;
2、標識符 只能由下划線或者字母作為開頭第一個字。
正確的 | 錯誤的 |
iNum | %&d2 |
_count | 1count |
Show2Name | Show Name |
大家可以從這里看一下分別是不符合什么,以后不要犯類似的錯誤。大家還需要注意的一點是,C語言是一種大小寫敏感的語言,即 Student和student在C中是兩個不同的變量。海嘯_IT首發
num = 1;
這句的功能我們稱為"初始化",即初始化變量 num 也就是給 num 賦值,賦值語句要注意方向,是后面的值賦給前面,這是大家初學C語言必須注意的一點,= 不再代表等價關系,在C中它被稱為賦值符號,而表示等價關系的是 == 需要時我們會進行講解。 在這里我們強調一點關於編程習慣的問題,我們應該養成一種在算數運算符的前后各加一個空格,這樣會使代碼看起來結構性更強,更便於查看。
printf("Hello China!\n"); printf("\tI love China"); printf("The number is %d",num);
print 在中文里的意思就是打印,印刷等,那么pirntf顧名思義,就是把內容打印到屏幕上,顯示出來。f 暗示着是一種格式化(formating)的輸出函數;而括號里面的Hello China!是作為參數傳遞給 printf() 這個函數,用以打印到屏幕; 這個參數叫做實際參數(actual argument)。如果你可以運行一下你就可以看到屏幕上輸出了雙引號中的東西,嘿 是不是發現什么地方不對了? \n 和\t 哪去了? 為什么 %d 沒有了卻變成了1,num是什么; \n和\t叫做轉義字符(Escape Sequence),他們是代表了一定的功能 其實\n 代表換行,\t 代表一個水平制表符,一般來說是8個空格鍵;%代表你要輸出變量的位置,d告訴程序要輸出一個十進制整數變量,而后面的num 代表你要在這里輸出的變量。附:%d 輸出整型變量,%f 輸出浮點型變量,%c 輸出字符型變量。(具體的變量輸出格式還有如 %ld,%.2f等,網友可先自己查閱相關資料,隨后我們會發出相關文章)海嘯_IT首發
return 0;
前面我們說過了,int main(void)中 int 表示main()函數的返回值應該是一個整數。所以這里就是返回給OS 的那個值。
從上面的講解你應該明白,C語言的程序結構大概是:
預處理命令
帶參數的函數名
{
聲明語句;
賦值語句;
函數語句;
具體實現函數的功能語句;
return 0; //這里不一定總是0,根據需求更改
}
可能有些人會說這里太簡單,我講的比較啰嗦,但是我多說的都是一些我當時比較困惑后來解決了或者我的一些學習經驗,應該對一些人有些許幫助,今天就到這里了,咱們下篇見。海嘯_IT首發
由於博主水平有限,文中不免有疏漏、欠妥和錯誤,若您發現,請及時聯系我們改正,我們將十分感謝您!
若有問題需要進一步交流請根據以下聯系方式聯系博主!
(博文持續更新中,望大家積極關注。博客地址:http://www.cnblogs.com/haixiao-IT/)
聯系我們:
E-mail:HaiXiao_IT@126.com
QQ: 逍: 1120137727
海: 757157024