![第4講_標(biāo)識符與數(shù)據(jù)類型_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/26/fdde92d7-1314-4b97-a1de-e4d3b9e1cc0c/fdde92d7-1314-4b97-a1de-e4d3b9e1cc0c1.gif)
![第4講_標(biāo)識符與數(shù)據(jù)類型_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/26/fdde92d7-1314-4b97-a1de-e4d3b9e1cc0c/fdde92d7-1314-4b97-a1de-e4d3b9e1cc0c2.gif)
![第4講_標(biāo)識符與數(shù)據(jù)類型_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/26/fdde92d7-1314-4b97-a1de-e4d3b9e1cc0c/fdde92d7-1314-4b97-a1de-e4d3b9e1cc0c3.gif)
![第4講_標(biāo)識符與數(shù)據(jù)類型_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/26/fdde92d7-1314-4b97-a1de-e4d3b9e1cc0c/fdde92d7-1314-4b97-a1de-e4d3b9e1cc0c4.gif)
![第4講_標(biāo)識符與數(shù)據(jù)類型_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/26/fdde92d7-1314-4b97-a1de-e4d3b9e1cc0c/fdde92d7-1314-4b97-a1de-e4d3b9e1cc0c5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、嵌入式嵌入式Linux系統(tǒng)開發(fā)技術(shù)系統(tǒng)開發(fā)技術(shù)第4講 標(biāo)識符與數(shù)據(jù)類型基本C語言的語法 標(biāo)識符與關(guān)鍵字 變量與常量 C語言數(shù)據(jù)類型C語言的字符集 C語言的基本符號可以分為4類 英文字母:大小寫26個,共52個; 阿拉伯?dāng)?shù)字:0-9共10個數(shù)字; 下劃線與分號: 特殊符號: 運(yùn)算符、分隔符標(biāo)識符 標(biāo)識符定義 用來標(biāo)識變量名、符號常量名、函數(shù)名、類型名、文件名等的有效字符序列; 標(biāo)識符的規(guī)則 標(biāo)識符只能由字母、數(shù)字和下劃線三種字符組成,且第一個字符必須為字母或下劃線; C 語言中的標(biāo)識符大小寫敏感; 用戶自定義的標(biāo)識符不能與關(guān)鍵字同名;標(biāo)識符 示例:下面那些標(biāo)識符是正確的?Arena、 1stte
2、st、 arena s_count、marks40、 oh!god、 class_one、start. end、int關(guān)鍵字 關(guān)鍵字的概念 就是對編譯器具有特定含義的標(biāo)識符,是標(biāo)識符的一個特殊的集合。 C中的關(guān)鍵字 C語言中ANSI標(biāo)準(zhǔn)制定的關(guān)鍵字共有32個; 所有的關(guān)鍵字小寫 系統(tǒng)內(nèi)置的標(biāo)識符不要用于用戶定義的標(biāo)識符系統(tǒng)內(nèi)置的標(biāo)識符不要用于用戶定義的標(biāo)識符C語言關(guān)鍵字autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotointiflongregistereturnshortsignedsizeofstat
3、icstructswitchtypedefunionunsignedvoidvolatilewhileC語言數(shù)據(jù)存儲 數(shù)據(jù)的存儲使用變量或常量表示15內(nèi)存中的數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)1515內(nèi)存內(nèi)存通過變量,可以為內(nèi)通過變量,可以為內(nèi)存中的位置提供一個存中的位置提供一個有意義的名稱有意義的名稱變量 變量 程序要為每一項(xiàng)數(shù)據(jù)分配內(nèi)存,通常使用變量來存儲數(shù)據(jù)。使用變量可以引用存儲在內(nèi)存中的數(shù)據(jù),并隨時根據(jù)需要顯示數(shù)據(jù)或執(zhí)行數(shù)據(jù)操縱。 使用變量時必須“先定義,后使用”變量的聲明與初始化 變量的聲明 先定義后使用 變量初始化的時機(jī) 定義時初始化變量 Datatype variablename = value; 例
4、如:int num1,num2 = 12; 定義后初始化變量 variablename = value; 例如:int num;num = 12;數(shù)據(jù)類型數(shù)據(jù)類型 變量名稱變量名稱;int varName;給變量賦值,除了給一個直接的值以外,還可以通過計(jì)算獲得。變量的命名 編譯系統(tǒng)將大寫字母和小寫字母認(rèn)為是兩個不同的字符。 在選擇變量名和其它標(biāo)識符時,應(yīng)注意做到“見名知意”,即選有含意的英文單詞 (或其縮寫)作標(biāo)識符。變量地址 變量的地址:變量在內(nèi)存中總占用幾個連續(xù)的字節(jié),開始字節(jié)的地址,就是變量的地址。20072007常量與變量 常量的概念:在程序運(yùn)行中,其數(shù)值不能被改變的量; 常量的分類
5、直接常量:在程序中直接引用的數(shù)據(jù); 符號常量:用標(biāo)識符來表示一個數(shù)據(jù); 定義形式 :#define 標(biāo)識符 常量數(shù)據(jù)符號常量與const關(guān)鍵字 符號常量#define COUNT 100提高代碼的可讀性,還可以做到一改全改 使用const關(guān)鍵字const int COUNT = 100;示例 要求用戶輸入圓的半徑(radius),經(jīng)過計(jì)算求出圓面積(area)并顯示在控制臺;要求:使用#define和const兩種方式定義常量PI=3.1415926 寫程序?qū)崿F(xiàn)游客租用游船的費(fèi)用,功能如下:要求用戶輸入押金及使用游船的總時間,游船每小時30元,計(jì)算出應(yīng)找回游客多少余額;C語言數(shù)據(jù)類型數(shù)據(jù)類型方
6、便讓我們數(shù)據(jù)類型方便讓我們對于不同的數(shù)據(jù)分類對于不同的數(shù)據(jù)分類處理處理數(shù)據(jù)類型的關(guān)鍵字 K&R關(guān)鍵字 Int、Long、Short、Char、Float、double、unsigned、 C90關(guān)鍵字 Signed、void C99關(guān)鍵字 _Bool、_Complex、_ImaginaryInt類型 Int類型 Int age = 21; Int age =21,score=90; Int age,score=90; #define MAX_AGE 200 Printf(“%d”,score); 整數(shù)類型的表示形式 十進(jìn)制:沒有前綴,09的數(shù)字組成; 12322、0、-232 八進(jìn)制:以打頭,
7、由07的數(shù)字組成; 023、0101 十六進(jìn)制:以0X或0 x打頭,由09、AF或af組成0 x12=18(十進(jìn)制)數(shù)值的顯示 使用八進(jìn)制顯示:%o、%#o 使用十六進(jìn)制顯示:%x、%#x、%#X#include int main(void)int age = 20;printf(dec = %d;octal = %o;hex = %xn,age,age,age);printf(dec = %d;octal = %#o;hex = %#xn,age,age,age);return 0;其他整數(shù)類型 Short類型:用于僅需小數(shù)值的場合以節(jié)省空間; Long類型:用于使用大數(shù)值的場合 Unsig
8、ned類型:用于只使用非負(fù)值場合; Unsigned int Unsigned short類型 Unsigned long類型 Signed :使數(shù)據(jù)的類型更加明確; Signed int;整數(shù)類型的選擇 使用最常用的int類型 優(yōu)先考慮unsigned類型 當(dāng)使用int類型不能表示一個數(shù)而使用long類型可以做到時,使用long類型; 在int為32位的系統(tǒng)中,如果需要16為的值,那么使用short類型可以節(jié)省存儲空間;整型數(shù)據(jù)32位機(jī)類型占用內(nèi)存字節(jié)數(shù)數(shù)的范圍int4個字節(jié)short2個字節(jié)-3276832767long4個字節(jié)unsigned4個字節(jié)unsigned short 2個字節(jié)
9、065535unsigned long 4個字節(jié)代碼示例#include int main(void)int i_number = 10;short s_number = 10;long l_number =10L;unsigned ui_number =10u;unsigned short us_number = 10U;unsigned long ul_number = 10UL;printf(int sizeof :%dn,(sizeof i_number);printf(short sizeof:%dn,(sizeof s_number);printf(long sizeof :%dn
10、,(sizeof l_number);printf(unsigned int sizeof :%dn,(sizeof ui_number);printf(unsigned short sizeof :%dn,(sizeof us_number);printf(unsigned long sizeof :%dn,(sizeof ul_number);return 0;整數(shù)溢出問題#include #include int main(void)int max = INT_MAX;int min = INT_MIN;unsigned int umax = UINT_MAX;printf(the ma
11、x+1 is %dn,max+1);printf(the min-1 is %dn,min-1);printf(the umax +1 is %un,umax+1);return 0;注意:整數(shù)溢出程序不會報(bào)錯,所以寫程序時一定要小心,當(dāng)達(dá)到最大值時會從新從起點(diǎn)開始。signed和unsigned類型 signed最重要的是修改char數(shù)據(jù)類型 unsigned 類型指定變量只能接受正值 unsigned int varNum; varNum = 23123; 加上unsigned前綴,正數(shù)的取值范圍是原來的兩倍 Signed與unsigned修飾符可以與 int 和 float 數(shù)據(jù)類型一起
12、使用 unsigned int 支持的范圍是從 0 到 4,294,967,295常量與后綴后綴字母用途示例U或uUnsigned類型123u、2345UL或lLong類型123L、-789lll 或LLLong long類型3LLU,3ll,3ullF或f單精度浮點(diǎn)型0.123F、3.1415f整數(shù)類型的顯示 %u:顯示無符號整數(shù); %ld:顯示long類型整數(shù); %h:顯示short類型數(shù)據(jù) 符號可以結(jié)合使用: %lx、 %lo、%hd、%ho、%lu、%lld、%llu 寫代碼示例體驗(yàn)整數(shù)類型的顯示體驗(yàn)整數(shù)類型的顯示#include #include int main(void)unsi
13、gned int guessNumber = UINT_MAX;short age = SHRT_MAX;long id = LONG_MAX;printf(guessNumber is %u and not %dn,guessNumber,guessNumber);printf(age is %hd and is %dn,age,age);printf(id is %ld and not %hd n,id,id);return 0;注意:每個要顯示的值都必須對應(yīng)自己的格式說明符,并且顯示值的類型要同說明符相匹配;浮點(diǎn)數(shù)類型 浮點(diǎn)數(shù)類型分類 單精度(float型) 雙精度(double型) 長
14、雙精度型(long double) 浮點(diǎn)數(shù)的表示形式 小數(shù)形式:0.123; 指數(shù)形式:3e-3 規(guī)范化的指數(shù)形式:在字母e(或E)之前的小數(shù)部分中,小數(shù)點(diǎn)左邊應(yīng)有一位(且只能有一位)非零的數(shù)字. 如:123.456可以表示為1.23456e2注意注意: :字母e(或E)之前必須有數(shù)字,且e后面的指數(shù)必須為整數(shù)類型類型與范圍32類型位數(shù)有效位數(shù)取值范圍float32位至少6位至少double64位至少10位至少long double96位與double相同與double相同 與整型數(shù)據(jù)的存儲方式不同,浮點(diǎn)型數(shù)據(jù)是按照指數(shù)形式存儲的。系統(tǒng)把一個浮點(diǎn)型數(shù)據(jù)分成小數(shù)部分和指數(shù)部分,分別存放。指數(shù)部分
15、采用規(guī)范化的指數(shù)形式。 浮點(diǎn)數(shù)類型的表示1.23f F或f:表示float類型 L或l:表示long double類型;浮點(diǎn)數(shù)的輸出格式 輸出浮點(diǎn)數(shù)的格式 %f:輸出十進(jìn)制計(jì)數(shù)法的float和double數(shù)字; %e:輸出指數(shù)計(jì)數(shù)法的float和double數(shù)字; %Lf、%Le:輸出long double類型的數(shù)字;代碼示例#include int main(void)float f_number = 4321.0f;double d_number = 1.234e3;long double ld_number = 1.234e-3L;printf(%f can be written %e,
16、and float sizeof :%dn,f_number,f_number,(sizeof f_number);printf(%f can be written %e ,and double sizeof :%dn,d_number,d_number,(sizeof d_number);printf(%Lf can be written %Le,and long double sizeof :%dn,ld_number,ld_number,(sizeof ld_number);return 0;整型與浮點(diǎn)型比較 整數(shù)沒有小數(shù)部分;浮點(diǎn)數(shù)可以有小數(shù)部分; 浮點(diǎn)數(shù)的表示范圍比整數(shù)大得多; 對于
17、一些算術(shù)運(yùn)算,使用浮點(diǎn)數(shù)會損失更多精度; 浮點(diǎn)數(shù)只是實(shí)際值的近似值; 浮點(diǎn)數(shù)通常比整數(shù)運(yùn)算慢;浮點(diǎn)數(shù)的上溢與下溢#include #include int main(void)float f_max =FLT_MAX*FLT_MAX ;float f_min = FLT_MIN/FLT_MAX;printf(f_max is %fn, f_max);printf(f_min is %fn,f_min);return 0;char 類型 Char類型 用單引號括起來的一個字符;注意只能是英文的單引號 用于存儲字母和標(biāo)點(diǎn)符號之類的字符; 實(shí)質(zhì)是占一個字節(jié)的整型數(shù)(小整數(shù))A65 示例:a、m、$、
18、%、1、5 Char類型的賦值方式 Char gender=M; Char gender= 77; %cchar 類型(ASCII碼)值值符號符號值值符號符號值值符號符號0空字符44,9132空格45-9233!46.933447/9435#48 570 995-36$58:9637%59;97 122a z38&6012541)63?12642*64127DEL(Delete鍵)43+65 90A Z轉(zhuǎn)義字符轉(zhuǎn)義字符是一種特殊的字符常量。轉(zhuǎn)義字符以反斜線“”開頭常用的轉(zhuǎn)義字符 a: 蜂鳴,響鈴 b: 回退:向后退一格 f: 換頁 n: 換行,光標(biāo)到下行行首 r: 回車,光標(biāo)到本行行首 t: 水平制表 v: 垂直制表 : 反斜杠 : 單引號 : 雙引號 ” ?: 問號 ddd: 1到3位八進(jìn)制數(shù)所代表的字符 xhh: 1到2位十六進(jìn)制數(shù)所代表的字符 0: 空字符(NULL),什么都不做 代碼示例# include int main(void)printf(How are you?n);printf(I am fine.nn);printf(How are you?t);printf(I am fine.nn);printf( How are you?n);.printf( bI am fine.nn);printf( I am fine.); printf(rHow
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度演員廣告代言合同
- 2025年度醫(yī)療機(jī)構(gòu)藥品采購委托代購合同
- 農(nóng)業(yè)綠色發(fā)展行動計(jì)劃
- 養(yǎng)老院合同協(xié)議書
- 用戶體驗(yàn)設(shè)計(jì)原則及實(shí)踐
- 簡易買賣合同
- 云計(jì)算在企業(yè)資源規(guī)劃中的應(yīng)用
- 三農(nóng)產(chǎn)品追溯系統(tǒng)建設(shè)方案
- 模具設(shè)計(jì)與制造技術(shù)作業(yè)指導(dǎo)書
- 建房勞務(wù)人工的合同
- 數(shù)學(xué)-河南省三門峽市2024-2025學(xué)年高二上學(xué)期1月期末調(diào)研考試試題和答案
- 二零二五版電力設(shè)施維修保養(yǎng)合同協(xié)議3篇
- 最經(jīng)典凈水廠施工組織設(shè)計(jì)
- VDA6.3過程審核報(bào)告
- 2025年春新人教版數(shù)學(xué)七年級下冊教學(xué)課件
- 《心臟血管的解剖》課件
- 心肺復(fù)蘇課件2024
- 2024-2030年中國并購基金行業(yè)發(fā)展前景預(yù)測及投資策略研究報(bào)告
- 河道清淤安全培訓(xùn)課件
- 2024年湖南商務(wù)職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫帶答案
- 7.3.1印度(第1課時)七年級地理下冊(人教版)
評論
0/150
提交評論