1. 程式人生 > >HQYJ嵌入式學習筆記——C語言複習day1

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