蘇嵌嵌入式Linux實訓 第四天

2021-10-07 21:14:01 字數 2438 閱讀 5372

總結一下今天的學習內容。

主要複習了c語言的相關知識點,對其進行了重點的總結和用法的提煉,並用c語言進行了對應性的程式設計訓練,以此來提高鞏固

c語言之父:丹尼斯·里奇
資料型別

1.資料型別基本知識點

什麼是資料型別:在資料結構中資料型別是乙個值的集合以及定義在這個值集上的一組操作。變數是用來儲存值的所在處,它們有名字和資料型別。

資料型別有哪些:

1、char:字元型;

2、short :短整型

3、int:整型

4、long :長整型

5、float:單精度浮點型

6、double:雙精度浮點型

強制型別轉換:一種型別顯示轉化為另一種型別的過程。

2.資料型別重要知識點

資料型別 位元組長度 取值範圍

char 1type -128~127

short 2type -32768~32767

int 4type -2147483648~2147483647

long 8type -2147483648~2147483647

float 4type 1.175e-38~ 3.402823e+38

double 8type 2.225e-308~1.797693e+308

符號與無符號

有符號的數值型別有一位作為符號位,無符號則沒有

3.變數與常量

宣告與定義的區別?

變數定義:用於為變數分配儲存空間,還可為變數指定初始值。程式中,變數有且僅有乙個定義。

變數宣告:用於向程式表明變數的型別和名字。

定義也是宣告:當定義變數時我們宣告了它的型別和名字。

全域性變數與區域性變數區別?

1.區域性變數

區域性變數根據定義形式的不同,又分為如下三種。

1.形參:在定義函式簽名時定義的變數,形參的作用域實在整個函式內有效。

2.函式區域性變數:在函式體內定義的區域性變數,它的作用域是從定義該變數到函式結束。

3.**塊區域性變數:在**塊中定義的區域性變數,這個區域性變數的作用域是從定義到該**塊結束。

2.全域性變數

在乙個函式內部,如果全域性變數和區域性變數同名,那麼區域性變數將會覆蓋全域性變數,意味著在該函式內部,全域性變數會失效。

如果在源程式的結尾部分定義全域性變數,又希望在前面的各函式中使用的這些全域性變數,這就需要在這些函式中
宣告全域性變數。宣告全域性變數使用extern關鍵字,語法格式如下:

extern 型別 全域性變數名;

動態儲存與靜態儲存

動態儲存:程式在執行期間根據需要動態分配記憶體的儲存方式。

靜態儲存:程式在執行開始就分配固定記憶體的儲存方式。

4.格式化輸出與輸入

格式化輸出函式:printf

呼叫格式:

printf()函式的呼叫格式為:printf(「格式化字串」,輸出表列)。

格式化字串包含三種物件,分別為:

(1)字串常量;

(2)格式控制字串;

(3)轉義字元。

字串常量原樣輸出,在顯示中起提示作用。輸出表列中給出了各個輸出項,要求格式控制字串和各輸出項在數量和型別上應該一一對應。其中格式控制字串是以%開頭的字串,在%後面跟有各種格式控制符,以說明輸出資料的型別、寬度、精度等。

格式控制字串

printf的格式控制字串組成如下:

%[flags][width][.prec][length]type

%[標誌][最小寬度][.精度][型別長度]型別

基本type型別

d /i 十進位制數

f/lf 單,雙精度浮點數

c 字元

s 字串

格式化輸入函式:scanf

呼叫格式 :

scanf("< 格式化字串 >" , < 位址表 >)

scanf() 函式是通用終端格式化輸入函式,它從標準輸入裝置 ( 鍵盤 ) 讀取輸入的資訊。可以讀入任何固有型別的資料並自動把

數值變換成適當的機內格式。

其控制串由三類字元構成:

1 格式化說明符;

%a 讀入乙個浮點值

%c 讀入乙個字元

%d 讀入十進位制整數

%s 讀入乙個字串

%f 讀入乙個浮點數

2 空白符;

空白字元會使 scanf() 函式在讀操作中略去輸入中的乙個或多個空白字元。

3 非空白符;

乙個非空白字元會使 scanf() 函式在讀入時剔除掉與這個非空白字元相同的字元。

右左定則,用於判斷變數型別。

一些基礎迴圈語句如 if,while,switch等

if的判斷語句可以把數字寫在左邊,if(5==num),將else補全;

switch將default補全;

i++,++i,func(i++,++i)i++ 變成數值,++i變成變數。

蘇嵌嵌入式linux實訓第四天

任務一 編譯器 優化分別優化了那些?第一級是 調整,第二級是新的視角,第 是表驅動狀態機。任務二 總結gcc靜態庫和動態庫的製作。靜態庫 gcc c add.c,變成.o檔案 ar rcs libadd.a add.o cp libadd.a lib gcc main.c ladd 在系統預設的li...

蘇嵌嵌入式Linux實訓第四天

課程內容 1 c語言的概述 c語言的優勢 直接訪問硬體 執行效率 移植性 c語言能直接訪問硬體原因 指標型別 嵌入式開發為什麼選擇c語言 所有作業系統的核心都採用了c語言 2 資料型別 所有的資料型別的定義 初始化 char 字元型 short 短整型 int 整型 long 長整型 float 單...

蘇嵌嵌入式Linux實訓第四天

個人學習狀態下滑,要警惕 一 學習內容 學習了c語言的相關知識點,對其進行了重點的總結和用法的提煉,並用c語言進行了對應性的程式設計訓練。二 總結 1 c語言之父 丹尼斯 里奇 2 基本資料型別 1 整數型 byte 1位元組 short 2位元組 int 4位元組 long 8位元組 2 浮點型 ...