嵌入式實訓 day1

2021-09-26 18:46:42 字數 2797 閱讀 5707

提取碼:xkgg 

相關功能的快捷鍵

開啟終端 ctrl+alt+t

放大字型 ctrl+shift+『+』

縮小字型 ctrl+『-』

基本操作命令:

mkdir 新建資料夾

touch 新建檔案

ls 檢視當前目錄下檔案

vim 檔名:若檔案不存在,則新建並開啟;若檔案存在,直接開啟

i   insert插入模式

esc 退出模式

:wq   儲存並退出

:w  儲存

:q  退出

:wq!強制儲存並退出

編譯器 gcc

說明:先儲存檔案,然後gcc 檔名

執行  ./a.out

gcc 1.c -o 1   :將1.c的可執行檔案a.out改名叫1    執行:./1

c語言:

資料型別

基本資料型別:(32位編譯器)

int(4個位元組)            short(2個位元組)        long(4個位元組)           long long (8位位元組)

float(4個位元組)         double(8個位元組)

char(1個位元組)      帶單引號的    'a'   '1'   '?'        看成乙個位元組的int

unsigned

signed

復合資料型別:陣列    指標     函式      結構體      共同體

空型別:void  

位元組byte:  計算機分配記憶體的最小單元

位bit:     計算機的最小單位      

關係:1byte=8bit

運算子:

算術運算子:+    -     *     /     %      ++      --

5/2=2       int/int=int

5/2.0     5.0/2=2.5         int/float------>float/float=float

隱式轉換:範圍小-->範圍大

int+float----->float

float+double----->double

unsigned+signed------->unsigned

強制轉換:(資料型別)變數名         (資料型別)(表示式)

例: float f = 12.5;

printf("f = %f,(int)f = %d\n",f,(int)f);      12.5     12

強制轉換本身是沒有發生改變的

5%2=1

'a'%'a'

%兩邊的引數不能是float

++:++如果放在變數名前,先自加再使用;放在變數名後,先使用再自加

關係運算子:>  < >=  <=   ==    !=

邏輯運算子:

&&:只要有乙個表示式為假,結果就為假

|| :只要有乙個表示式為真,結果就為真

!:0<---->1

賦值運算子:=     +=

位運算子:(int   char)

&:     10&13          1010   &   1101   =  1000

|:        10|13           1010   |      1101  =  1111

~  :        

^ :       10^13         1010  ^   1101   = 0111

<<:    1<<3         0001  << 3     1000      7<<3      0111  << 3    0011 1000

>>:       7<<3        0111   >> 3

三目運算子(條件運算子):表示式1?表示式2:表示式3

先計算表示式1的值,如果為真執行表示式2,否則執行表示式3

逗號運算子:表示式1,表示式2,表示式3

從左往右依次計算,取最後乙個表示式的值作為逗號表示式的值

sizeof():計算記憶體大小     int a ;    sizeof(int)   sizeof(a)

結構性語句

順序語句:

printf("字串",跟格式控制符一樣多的引數);

scanf("格式控制符",位址列表);

int a,b;

scanf("%d%d",&a,&b);

如果有多個引數在進行輸入,需要用輸入分隔符將其隔開     輸入分隔符:空格    回車   tab鍵

scanf("%d,%d",&a,&b);

scanf("%d%d\n",&a,&b);

如果後引號前面有\n或者空格或者tab鍵,那麼我們在輸入的時候需要用乙個非空字元來結束輸入

輸入的時候不可以控制浮點數的精度

scanf("%c%*c%c",&a,&b);   %*c用來抑制掉乙個字元

選擇語句:

單分支if(表示式)

雙分支if(表示式)

else              //else後面沒有表示式

多分支if(表示式)

else if(表示式)

else if(表示式)

....

else

迴圈語句:重複的幹某件事

<1>for(表示式1;表示式2;表示式3)

表示式1:迴圈變數的初始狀態

表示式2:迴圈執行的條件

表示式3:迴圈變數的改變

<2>表示式1;

while(表示式2)

<3>表示式1;

dowhile(表示式2);

嵌入式實訓 day1

思路解析 首先我這裡使用了三個.c檔案,分別是 yanyu.c yanyu old.c yanyu now.c 其中yanyu.c負責將yanyu old.c中的內容讀入到buff緩衝區中,然後再從buff緩衝區中將資料寫入到yanyu now.c中,最終實現將yanyu old.c中的內容複製到y...

嵌入式實訓DAY3

對c語言各個版本標準的整理 c90 1 增加了真正的標準庫 2 新的預處理命令與特性 3 函式原型允許在函式申明中 4 指定引數型別一些新的關鍵字,包括 const volatile 與 signed 5 寬字元 寬字串與多位元組字元 6 對約定規則 宣告和型別檢查的許多小改動與澄清 c99 1 增...

工程實訓DAY1

本人進度計畫以及任務 安裝並熟悉linux虛擬機器操作,複習c語言相關指標,陣列的程式編寫 本日任務完成情況 兩周內完成聊天室程式 本日開發中出現的問題彙總 電腦相容性及一些未知問題導致的安裝軟體速度慢耽誤時間及一些bug c語言相關知識掌握不牢固,時常犯錯 本日未解決問題 無本日開發收穫 複習了大...