HQYJ嵌入式學習筆記——C語言複習day1
第一天:Linux命令 vim操作
第二天:資料型別 運算子 順序語句
第三天:分支語句 迴圈語句
第四天:迴圈語句 陣列
第五天:陣列
第六天:指標
第七天:函式 陣列與指標
第八天:陣列指標
第九天:遞迴
第十天:結構體
嵌入式------->軟體控制硬體
windows 閉源的
Linux 開源的
Linux的常用版本
ubuntu
centOS
redhat
VM:虛擬機器 虛擬一臺PC
Linux是一個開源的、多使用者的、多工的、要求必須要以使用者名稱和密碼去登入。
1.Linux常用命令(命令名稱 選項 還有引數之間一定要有空格)
開啟終端 : ctrl + alt + t
命令提示符:
linux@ubuntu:~$
使用者名稱@計算機名:當前路徑$
$ : 代表當前登入的使用者是一個普通使用者
# :當前登入使用者為root使用者(超級使用者)
檢視當前路徑 pwd
使用者的工作目錄:(家目錄 ~)
/home/使用者名稱
這個使用者的操作許可權就在工作目錄之下
ls : 檢視內容
ls : 檢視當前路徑下的內容
ls 目錄路徑: 檢視指定路徑下的內容
ls -a : 檢視當前路徑下的所有內容(包含了隱藏檔案 以.開頭的檔案)
ls -l : 檢視當前路徑下內容的詳細屬性
drwxrwxr-x 13 linux linux 4096 11月 10 17:16 class
第一個字元代表的是檔案型別
Linux下一切皆檔案,一共有7種檔案型別
- 普通檔案
d 資料夾
l 連結檔案
c 字元裝置檔案
b 塊裝置檔案
p 管道檔案
s 套接字檔案
rwxrwxrwx 可讀可寫可執行
第一組rwx代表使用者自己對這個檔案的操作許可權
第二組rwx代表組裡面的其他使用者對檔案的操作許可權
第三組rwx代表其他組的其他使用者對檔案的操作許可權
ls -R : 以遞迴的像是顯示當前路徑下的內容
相對路徑:具體看參照物
絕對路徑:從根目錄開始的路徑
cd : 切換路徑
cd 目錄路徑: 切換到該目錄下
cd .. : 退回上一級目錄
cd . : 當前路徑
cd ~ (cd) : 快速返回家目錄
cd - : 返回上一次所在目錄
touch 檔名 : 新建普通檔案(可以多個檔案一起新建 touch 1.c 2.c 3.c )
rm 檔名: 刪除檔案
mkdir 資料夾名: 新建資料夾
mkdir day1 day2 day3 //新建day1 day2 day3在同一級目錄下,並列關係
mkdir -p 目錄路徑
mkdir -p day1/day2/day3 //新建day1/day2/day3在當前路徑,當前路徑只能看見day1資料夾,巢狀關係
rmdir 資料夾名: 只能刪除空資料夾
rm -rf 資料夾名:刪除資料夾
rm -rf *
cp : 複製
cp 原始檔 目標路徑 : 將原始檔複製到目標路徑下 (看現在我處於哪個位置,相對路徑會跟著改變)
cp -r 原始檔夾 目標路徑:
cp 1.txt day1 : 將當前路徑下的1.txt複製到當前路徑下的day1下面
cp ../2.txt class/day2 : 將上一級目錄下的2.txt複製到當前路徑的class下的day2
mv : 移動 (改名)
mv 原始檔(夾) 目標路徑
mv aa bb : 如果bb存在就是將aa移動到bb 如果bb不存在就是將aa改名為bb
思考:如果兩個引數都是普通檔案?
ctrl+shift+'+' : 放大字型
ctrl+'-' : 縮小字型
clear(ctrl+l) : 清屏
sudo : 增加許可權
向上的箭頭 : 檢視歷史命令
Tab : 自動補全
(1)按一次自動補全
(2)按兩次會將所有字首相同的檔案列舉出來
2、vim編輯器
vim 檔名 : 開啟一個檔案,檔案存在就直接開啟,檔案不存在會新建並開啟
vim一共有三種模式 命令列模式 插入模式 底行模式
vim開啟一個檔案進去是命令列模式,編輯文字一定要在插入模式
命令列模式----->插入模式 按i o a
插入模式------->命令列模式 按esc
命令列模式----->底行模式 shift + ':'
儲存檔案是在底行模式下(以:開頭)
:w 只儲存
:q 只退出
:wq 儲存並退出 :x ZZ(命令列模式下)
:w! 強制儲存
:w filename 將檔案儲存在filename裡面
命令列模式下:
nyy : 從游標所在行開始複製n行
p : 從游標所在的下一行開始複製
u : 撤銷
ctrl+r : 反撤銷
首先將游標放在要開始複製的行(具體哪個位置沒有關係),然後按nyy複製n行
接下來將游標放在要開始貼上的位置,按p,會從游標所在下一行開始貼上
:set nu 顯示行號
:set mouse=a 滑鼠控制游標
:set tabstop=4 設定tab鍵的空格數
gedit 檔名
3、gcc編譯
編輯---->編譯---->執行
編譯:
gcc test.c //如果檔案沒有錯誤,會預設生成可執行檔案叫a.out
執行:
./a.out
gcc test.c -o test //將預設生成的a.out改名叫test
./test
C程式的入口 main
main函式格式:
int main(int argc, char *argv[])
{
//程式碼塊
return 0;
}
int main()
{
//程式碼塊
return 0;
}
main() -----> 預設返回值就是Int
{
}
void main()
{
//return ;
}
4、計算機的組成
硬體:
CPU:
控制器 運算器 暫存器
儲存器
記憶體: RAM(隨機儲存器 斷電會丟失) ROM(只讀儲存器)
輸入裝置
鍵盤
輸出裝置
顯示屏
軟體:
系統軟體(windows linux)
應用軟體
一臺沒有任何軟體的計算機叫“裸機”。
儲存器的分類:
記憶體 : 容量一般 讀寫速度比較快
外存 : 容量大 讀寫速度慢
暫存器 : 容量小 讀寫速度非常快
&n