1.資料型別
什麼是資料型別:在資料結構中資料型別是乙個值的集合以及定義在這個值集上的一組操作。變數是用來儲存值的所在處,它們有名字和資料型別。
資料型別有哪些:
char:字元型,short :短整型,int:整型,long :長整型,float:單精度浮點型,double:雙精度浮點型
強制型別轉換:一種型別顯示轉化為另一種型別的過程。
資料型別 位元組長度 取值範圍
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
符號與無符號
有符號的數值型別有一位作為符號位,無符號則沒有
2.變數與常量
宣告與定義的區別?
變數定義:用於為變數分配儲存空間,還可為變數指定初始值。程式中,變數有且僅有乙個定義。
變數宣告:用於向程式表明變數的型別和名字。
定義也是宣告:當定義變數時我們宣告了它的型別和名字。
全域性變數與區域性變數區別?
1.區域性變數
區域性變數根據定義形式的不同,又分為如下三種。
(1)形參:在定義函式簽名時定義的變數,形參的作用域實在整個函式內有效。
(2)函式區域性變數:在函式體內定義的區域性變數,它的作用域是從定義該變數到函式結束。
(3)**塊區域性變數:在**塊中定義的區域性變數,這個區域性變數的作用域是從定義到該**塊結束。
2.全域性變數
在乙個函式內部,如果全域性變數和區域性變數同名,那麼區域性變數將會覆蓋全域性變數,意味著在該函式內部,全域性變數會失效。
如果在源程式的結尾部分定義全域性變數,又希望在前面的各函式中使用的這些全域性變數,這就需要在這些函式中
宣告全域性變數。宣告全域性變數使用extern關鍵字,語法格式如下:extern 型別 全域性變數名;
動態儲存與靜態儲存
動態儲存:程式在執行期間根據需要動態分配記憶體的儲存方式。
靜態儲存:程式在執行開始就分配固定記憶體的儲存方式。
3.格式化輸出與輸入
格式化輸出函式: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實訓 第 5 天
專案名稱 蘇嵌實訓 嵌入式 linux c 第 5 天 今日進度以及任務 學習使用linux開發工具gcc gdb make 本日任務完成情況 建立靜態庫和動態庫 本日開發 現的問題彙總 各種指令使用不熟練,錯誤修改難 本日未解決問題 gcc部分指令操作,makefile操作 本日開發收穫 可以操作...
蘇嵌嵌入式linux實訓 第 8 天
專案名稱 蘇嵌實訓 嵌入式 linux c 第 8 天 今日進度以及任務 記憶體管理,關鍵字,復合資料型別 本日任務完成情況 程式設計遍歷字串讀取特定字串間字元,函式三要素 本日開發 現的問題彙總 字元遍歷程式設計題依然使用的是陣列倒序輸出,並不熟練使用位運算 本日未解決問題 字元遍歷程式設計,多重...
蘇嵌嵌入式Linux實訓 第 6天
本人進度計畫以及任務學習c語言 本日任務完成情況 詳細說明本日任務是否按 計畫完成,開發的 量 學習了1.函式 傳一維陣列名,用元素的指標 傳二維陣列名,用一維陣列指標 傳三維陣列名,用二維陣列指標 傳指標陣列名,用指標的指標 return exit 2.記憶體管理 3.關鍵字 請求讓編譯器將變數直...