人與人之間的溝通須要語言,而人與計算機之間溝通也須要語言,計算機只能識別這種由0和1組成的二進制,因此最開始人與計算機是用二進制構成的機器語言溝通的,可是因爲其複雜,人們便用符號來定義二進制而造成不一樣的功能,由這些不一樣意義的符號組成的計算機語言稱爲彙編語言,後來因爲彙編語言的不通用而被淘汰掉,就出現瞭如今的高級語言,例如面對對象的C++和Java,還有面對過程的C語言,這些都爲計算機的高級語言,都是人與計算機溝通的語言。
C語言在發展過程當中造成了很多的標準,例如C99標準、C11標準等,C11標準是C語言的最新標準。
C語言的編譯器也有不少,主要有Clang、GCC、WIN-TC、SUBMILE、MSVC、Turbo C等,其中我用的是MSVC也就是Visual studio即人們常說的VS。ide
寫一個C語言程序,首先要建立一個工程,建立了工程以後才能建立文件並寫上代碼造成程序,那麼如何建立一個C語言工程呢?
下面我將以WIN10系統VS2010版本爲例,具體說一說如何給C語言建立一個工程。函數
打開以後就進入了以下頁面:
3d
建立以後就進入了以下頁面:
建立好工程以後咱們就開始要建立文件了,在C語言中,有兩種文件,一種是頭文件(.h文件)還有一種是源文件(.c文件)
咱們是在源文件中寫代碼。那麼如何建立源文件嘞?code
以後進入以下界面:
再進行以下步驟來建立源文件:
建立好以後就是以下界面:
對象
建立好了文件,咱們就能夠寫上本身的代碼了
C語言的基本構架以下:blog
int main() { return 0; }
咱們來輸出一個「Hello」生命週期
int main() { printf("Hello\n"); return 0; }
因爲printf輸出函數是C語言庫中自帶的函數,不是咱們本身,咱們使用別人的東西是須要和C語言庫打一聲招呼的:用以下方式打招呼:作用域
#include <stdio.h>
stdio中std--standard標準,i--intput輸入,o--output輸出,因此stdio是C語言的標準輸入輸出文件。
在打一聲招呼後須要使用輸出函數後,printf函數才能夠正常使用。
即輸出「Hello」的完整程序以下:編譯器
#include<stdio.h> int main() { printf("Hello\n");//\n是轉義字符,至關於「回車鍵(Enter鍵)」 return 0; }
在VS中鍵入上述程序,按Ctrl+(fn)+f5運行程序,結果是個人運行結果窗口卻閃退了。。。黑人問號,查詢網上資料獲得了一種解決運行窗口閃退的方法。it
進行以下步驟便可解決運行窗口閃退:
運行窗口閃退問題解決了,咱們就能夠獲得以下運行結果:
成功的在屏幕上輸出了「Hello」
固然,這只是個人第一個C語言程序,輸出的是「Hello」也能夠輸出其餘的嘛,能夠用printf函數來輸出。
咱們生活中的數據有整數,有小數,還有英文,一樣C語言中也將數據分爲了不少種,例如:int型(整型數據),short (int)型(短整型),long (int)型(長整型),long long (int)型(長長整型),float型(浮點型),double型(雙精度浮點型),char型(字符型)
計算機所佔空間大小最基本的單位是bit,一個bit(比特)就是存儲一個0或者1,而通常描述計算機儲存位置大小用Byte做爲單位。
下面咱們來寫一個程序看看各類類型數據的長度(所佔空間大小)是多少
#include <stdio.h> int main() { int i; short s; long l; long long ll; float f; double d; char ch; printf("整型數據的長度爲:%d\n",sizeof(i));//%d輸出整型數據 printf("短整型數據的長度爲:%d\n",sizeof(s)); printf("長整型數據的長度爲:%d\n",sizeof(l)); printf("長長整型數據的長度爲:%d\n",sizeof(ll)); printf("浮點型數據的長度爲:%d\n",sizeof(f)); printf("雙精度浮點型數據的長度爲:%d\n",sizeof(d)); printf("字符型數據的長度爲:%d\n",sizeof(ch)); return 0; }
運行結果以下:
在寫程序的過程當中,咱們能夠根據須要選擇不一樣類型的數據類型。
在生活中,像身高、體重、年齡等都是能夠變的,在C語言中將這些能夠變化的量稱之爲變量。
在C語言中變量是須要定義的,能夠直接定義變量並賦值,輸出變量用printf函數,輸入用scanf函數。
例如,下面寫一個程序:定義一個整型變量a、b,並給a賦值爲3,b爲鍵盤輸入,輸出變量a、b。
#include <stdio.h> int main() { int a=3; int b; printf("請輸入b的值:\n"); scanf("%d",&b);//scanf是輸入函數,和printf同樣是C語言庫中自帶的函數,&爲取地址 printf("a的值爲%d\n",a);//%d輸出整型數據 printf("b的值爲%d\n",b); return 0; }
輸出結果以下:
變量分爲全局變量和局部變量
全局變量是定義在塊以外的變量,而局部變量是定義在塊裏面的變量。
例如:
#include <stdio.h> int a=1;//a爲全局變量 int main() { int b=2;//b爲局部變量 return 0; }
在上述程序中,a爲函數體以外的變量,則爲全局變量,b爲函數體裏面的變量,則爲局部變量。
在C語言中變量是有必定的做用域和生命週期的。
例如:
#include <stdio.h> int a=1;//全局變量 int b=2;//全局變量 int main() { printf("a1的值爲:%d",a); { int a=3;//局部變量 printf("a2的值爲:%d",a); printf("b的值爲:%d",b); } return 0; }
輸出結果以下:
在上述程序中,第一個a爲全局變量,第二個a爲局部變量,b爲全局變量,運行後,全局變量全程均可以使用,均可以輸出,(a一、b)當局部變量和全局變量同名時,局部變量優先使用(a一、a2)局部變量的做用域是:變量所在的局部範圍,生命週期是:進入做用域生命週期開始,出做用域生命週期結束。全局變量的做用域是:整個工程,全局變量的做用週期是:整個程序的生命週期。