本來打算是要說一說變量和數據類型的内容,但是整理一下,發現需要插隊先說一下程序結構。另外,還發現數據類型要展開的内容還是蠻多的。因此,數據類型的内容就留待下一篇文章。
程序結構在上篇文章的最後,寫了一段最簡單的C語言程序代碼 - 打印HelloWorld。借用這段代碼,來說一下C語言中的程序結構。
#include<stdio.h>
int main()
{
printf("Hello World");
return 0;
}
在這段代碼裡,包含了以下幾個部分:
1、預處理指令
在C語言程序中,以#号開始的命令被稱之為預處理指令。其作用是,根據源代碼中的預處理部分進行處理,處理完畢後才開始正式編譯你的源代碼。
這段代碼中的#include,是文件引入指令。可以引入外部寫好的源代碼文件,相當于就是将引入的源代碼文件複制到自己寫的源代碼文件中。這樣一來,就可以調用外部文件中的内容。
代碼中就引用了一個C語言的标準庫 stdio.h,可以調用一些輸入和輸出的方法。例如 scanf、printf 等等。如果沒有引入這個文件,就需要自己去實現怎麼将内容輸入到電腦上,怎麼将内容輸出到電腦屏幕上。實現這一個過程,其實還是挺麻煩的,既然别人已經寫好了,那麼又何必去大費周章地折騰呢?
2、主函數
主函數相當于是C語言的大門,函數裡面的程序就是C語言要運行的主體部分,遇到關鍵字return就結束程序。同時,每個C語言程序有且僅有一個大門,就像每戶人家隻有一扇大門。一個有身份的人來拜訪,肯定是從大門迎接,也是從大門送客。而這個有身份的人,就是系統。
int 是函數的類型,也就是函數最終要返回的數據是什麼類型的。
main 是函數的名字,() 裡面是函數的參數内容,{} 裡面是函數的邏輯主體,也就是程序運行的主要内容。這些部分,就留待後面函數部分再詳細展開。
3、執行程序
在這一段代碼中,一共被執行了兩個程序。一個是調用了标準庫 stdio.h 中的 printf 方法,用來将 Hello World 打印在控制台(電腦屏幕上)。
另一個是 return 0。return 是C語言中的一個關鍵字,當函數碰到 return 的時候就表示已經結束了,同時還要把 return 後面的内容返回出去。這裡返回一個0,表示程序終止的意思。
變量變量的作用是用來存儲值,而值存儲的位置是在内存中。可以理解為每創建一個變量就需要在内存中開辟出一個空間,用來存儲值。因此,變量指向的是内存中的存儲單元。
如果沒有變量,那對于程序員無疑是一場災難。假設我現在有100個變量存放在内存中,那麼我需要記住100個編号(内存中有很多的存儲單元,每個單元都對應的編号,編号是用16進制表示:61ff1c)。顯然,這是不可能的。
像我這麼懶的人,如果看到要記這麼多的東西,那這輩子都不可能學編程的。
所以,變量很好地解決了這個問題。值存儲在哪個存儲單元,它的編号是什麼,這就不是我需要考慮的,我隻需要記住變量名就夠了。而且這個變量名我可以根據值的内容來進行命名比如age、name等等,這不比16進制的編号好記?
一個變量是具備了:變量類型、變量名、變量值這三要素。
把内存比作一座準備出租的大樓,每個房子都是一個變量。房子的類型有單間、複式、三室一廳等等,這對應的是變量的類型;房子的編号就是變量名;入住的租客就是變量值。
聲明方式
聲明變量的方式一共有兩種方式。
第一種,先聲明,再賦值。首先要把盒子建好,但是在一開始不知道要往盒子裡面裝什麼具體的東西,等到後面有用的時候裝進去。
int main()
{
int a;
a = 123;
}
第二種,聲明時同時賦值。手上有具體的東西,同樣第一時間是需要把盒子建好,然後同時把東西放進去。
int main()
{
char c = 'a';
}
命名規則
正所謂無規矩不成方圓,理論上你的變量你愛叫啥叫啥,但是也得在規矩範圍内。就像你賺錢你愛怎麼賺怎麼賺,但就不能賺刑法這本書裡面的錢,否則就得請你去吃公家飯了。
C語言中,起變量名的規則有下面幾條:
1、變量名必須以字母(A-z)、下劃線(_)起頭。
2、變量名不能以數字(0-9)起頭。
3、變量名中隻能包含字母、下劃線、數字等。其他花裡胡哨的符号是不被允許的。
4、變量名不能和關鍵字一樣,如return、continue、int等等。
5、變量名不允許用空格。
有效變量名:good、for_、_close、ac12_3f
無效變量名:1abc、return、for、hey man
同時C語言中是嚴格區分大小寫的,也就是 A 和 a 是兩個不同的變量名。
C語言關鍵字
本篇文章到這裡就結束了,希望能夠對大家的學習解理産生幫助。下一篇内容來聊一聊C語言當中的基本數據類型。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!