1、經典入門:hello world
1 #include <stdio.h>注:上面所使用的關鍵字:include 頭文件包含
int 整型,用來表示整數的類型
void 空類型
return 函數返回
2、基本概念:
源文件:源文件即源程序代碼文件,C語言源文件後綴名是.c;
頭文件:頭文件的後綴名為.h,C語言代碼由源文件和頭文件構成;
關鍵字:關鍵字是C語言已經定義好的一些字,這些字在C語言中代表著一些特殊含義,我們必須搞懂每個關鍵字的所有含義和用法,否則就看不懂C語言程序;
注釋:C語言中的注釋一般以//開頭,或者/* */,注釋是給程序員看的,編譯器編譯程序的時候是忽略注釋內容的,所以機器根本看不見注釋,也不理注釋;
符號:C語言中包含很多符號,如; : , + - * / () [] {} 等等,每個符號都有自己的含義,必須理解它們的含義才能看懂C語言程序;
變量:可以發生變化的量。C語言程序中用變量來進行計算;
函數:函數是C語言的一個基本組成單位,一個C語言程序其實就是由一個或多個函數組成的,每個函數用來完成某項功能,函數也可以調用別的函數來完成其功能。函數的標志是()。C語言中有一個特殊的函數叫
main(),這個函數是整個程序內定的入口,也就是說整個C語言程序是從main()函數開始執行的,其他的函數都是直接或者間接被main()調用的。
3、寫代碼的步驟:
(1) 使用編輯器(如vi)編輯源代碼;
(2) 使用編譯器把源程序轉化成可執行程序,我們在Linux中使用的編譯器一般是gcc;
如:gcc hello.c 對hello.c進行編譯後生成可執行文件a.out
gcc hello.c -o hello 對hello.c進行編譯生成指定名字的可執行文件hello
(3) 執行編譯生成的可執行程序,即./hello;
(4) 執行程序後若發現程序結果不對,這時候就要返回來看源代碼哪裡不對,然後對其進行修改,再編譯執行,再看結果,如此反復直到程序執行結果正確為止;
4、VMWare共享文件夾的使用:
當我們是使用虛擬機VMWare中安裝的Ubuntu時,我們一般會在Windows中編輯源代碼,而在Linux中來編譯和執行源代碼,這時就需要在Windows與Linux間進行交互;
在Windows與Linux間進行交互有兩種方法:smb服務器(需要自己搭建,較復雜,可以自己在網上尋找相關教程)、VMWare的共享文件夾(僅需簡單設置即可使用,下面簡單介紹);
建立Windows的共享文件夾:
(1) 先在Windows中創建一個文件夾,切記要使用英文名稱;
(2) VMWare中的菜單欄裡的VM -> Settings -> Options -> Shared Folders選項卡,右邊上側選擇Always Enabled,下面點擊Add,next,在打開的選項卡中HostPath項目中浏覽選擇剛才第一步中創建
的文件夾,下面Name中會自動彈出一個相同的名字,這個名字就是將來Windows中的文件夾在linux虛擬機中的映射文件夾,名字可以改也可以不改。然後一直OK,完成即可。
(3) 在linux中,直接到 /mnt/hgfs目錄下,即可找到剛才第二步中Name相同的名字的文件夾,這個目錄即是第一步中Windows中目錄在linux下的映射。
5、數據類型:
(1) 整型:C語言中的整型對應數學中的整數,整型變量是用來描述一個整數值的,整型變量經過計算後也只能是整數(整型),不可能出現小數(浮點型);
C語言中整形有三種:int 整型
short int 短整型,可簡寫為short
long int 長整型,可簡寫為long
1 #include <stdio.h>(2) 浮點型:C語言中的浮點型對應數學中的小數。浮點型有float和double兩種,使用方式相同,而表示的范圍和精度不同。float表示的范圍小,精度低(小數點後6位),
而double表示范圍大,精度高。(小數點後16位);
注:printf中打印float或double類型,是用%f,而不是%d;
1 #include <stdio.h>(3) 字符型:字符型對應ASCII字符。ASCII字符是一種編碼,就是用數字編碼來表示一個符號的一種方法,本質上說,字符型其實也是整型,只是這些整型數被用來表示一些字符的ASCII碼值,所以叫做
字符型。字符型一般用8位二進制表示,無符號字符型范圍是0~255;
1 #include <stdio.h>(4) 有符號數和無符號數:數學中的數都是有符號的,即有正數和負數之分。所以計算機中的數據類型也有符號,分為有符號數和無符號數;
有符號數:整型: signed int 可簡寫為int
signed long int 可簡寫為long
signed short int 可簡寫為short
signed 表示signed int
浮點型: signed float 可簡寫為float
signed double 可簡寫為double
字符型: signed char 可簡寫為char
無符號數:整型: unsigned int 無簡寫
unsigned long int 可簡寫為unsigned long
unsigned short int 可簡寫為unsigned short
浮點型:沒有無符號浮點數
字符型: unsigned char 無簡寫
注:對於整形和字符型來說,有符號數和無符號數表示的范圍是不同的;
6、常用運算符:
(1) 數學運算符:與數學中意義相同: + 加號
- 減號
* 乘號
/ 除號
% 取余符號
() 括號裡的表達式優先級最高
與數學中的意義不同:= 賦值運算符,不同於數學中的等號。賦值運算符的作用是經過運算後符號左邊(左值,一般是一個變量)的值等於右邊(右值,一般是常數或變量)的值了
+= x = x + y; 等價於 x += y
-= x = x - y; 等價於 x -= y
*= x = x * y; 等價於 x *= y
/= x = x / y; 等價於 x /= y
%= x = x % y; 等價於 x %= y
1 #include <stdio.h>
(2) 判斷運算符:== 等於
!= 不等於
> 大於
< 小於
>= 大於等於
<= 小於等於
(3) 逗號運算符:, 主要是用來分割
(4) ++與--:++ a++; 等價於 ++a; 等價於 a = a + 1; 等價於 a += 1;
-- a--; 等價於 --a; 等價於 a = a - 1; 等價於 a -= 1;
1 #include <stdio.h>(以上所述內容為學習朱老師的嵌入式課程後復習筆記所得,目的是自己復習鞏固知識,同時把自己學到的知識分享出來。能力有限,水平一般,如有錯誤,歡迎指正,謝謝!)