




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、Date: December 23, 2021Date: December 23, 2021第二章第二章數(shù)據(jù)類型及表達式數(shù)據(jù)類型及表達式Date: December 23, 2021 基本數(shù)據(jù)類型基本數(shù)據(jù)類型 常量常量 變量變量授課要點授課要點Date: December 23, 2021【例2.1】關于常量、變量及數(shù)據(jù)類型說明的程序?qū)嵗?includemain() int iNum=108;/*定義整型變量iNum并賦予常量值108 */ float fGrade=95.5; /*定義單精度實型變量fGrade并賦予實型常量值95.5 */ char ch=A; /*定義字符變量ch并賦予
2、字符常量值A */ char str10=“WenHe”; /*定義字符數(shù)組str10 */ printf(學號:%dn,iNum); /*輸出各變量的值 */ printf(姓名:%sn,str); printf(成績:%fn,fGrade); printf(等級:%cn,ch);案例回顧Date: December 23, 2021問題分析(問題分析(能否缺少數(shù)據(jù)類型定義)將【例2.1】的變量定義部分刪掉,程序改為:#includevoid main() printf(學號:%dn,iNum); /*輸出各變量的值 */ printf(姓名:%sn,str); printf(成績:%fn,
3、fGrade); printf(等級:%cn,ch);編譯結果編譯結果結論:變量在使用之前必須先定義! Date: December 23, 2021程序舉例程序舉例【例2.2】關于常量、變量及數(shù)據(jù)類型說明的程序?qū)嵗?includevoid main() int a=3;/*定義整型變量a并賦予常量值3 */ short r=6; /*定義短整型變量r并賦予常量值6*/ char c=a; /*定義字符變量c并賦予字符常量值a */ float pi=3.14; /*定義單精度實型變量pi并賦予實型常量值3.14 */ double s; /*定義雙精度實型變量s */ s=pi*r*r;
4、/*將pi*r*r值賦給s */ printf(“int:%d,short:%d,char:%d,float:%d,double:%dn”,sizeof(a),sizeof(r),sizeof(c),sizeof(pi),sizeof(s); /*輸出各變量占內(nèi)存的字節(jié)數(shù) */ printf(a=%d,r=%d,c=%c,pi=%f,s=%lfn,a,r,c,pi,s);/*輸出各變量的值 */ Date: December 23, 2021問題分析(不同類型的表示)結果分析:變量可以被定義成不同的數(shù)據(jù)類型并賦值,不同類型的數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)不同,通過sizeof()求得數(shù)據(jù)寬度。短整型
5、、整型、字符型、單精度實型、雙精度實型在內(nèi)存中分別占2字節(jié)、4字節(jié)、1字節(jié)、4字節(jié)和8字節(jié)(不同運行環(huán)境結果會有所差異,這里僅是Visual C+6.0的結果)。同時,這些數(shù)據(jù)在輸出時所使用的輸出格式控制符也不相同,分別為%d、%d、%c、%f和%lf形式。由此可見,數(shù)據(jù)表現(xiàn)為常量或變量,數(shù)據(jù)又具有不同的數(shù)據(jù)類型,不同數(shù)據(jù)類型的數(shù)據(jù)存儲格式不同,數(shù)據(jù)的輸出格式控制也不相同。注意:在Trubo C環(huán)境下,整型數(shù)據(jù)存儲時在內(nèi)存中占2字節(jié)。 運行結果運行結果Date: December 23, 2021“數(shù)據(jù)類型數(shù)據(jù)類型”的意義:的意義:定義了數(shù)據(jù)占用的內(nèi)存定義了數(shù)據(jù)占用的內(nèi)存空間大小空間大小定義了
6、數(shù)據(jù)在內(nèi)存中的定義了數(shù)據(jù)在內(nèi)存中的存儲格式存儲格式?jīng)Q定了數(shù)據(jù)的決定了數(shù)據(jù)的運算規(guī)則運算規(guī)則(自身的行為)(自身的行為)為編譯器提供了為編譯器提供了檢查依據(jù)檢查依據(jù)數(shù)據(jù)類型的意義數(shù)據(jù)類型的意義數(shù)據(jù)類型是避免程序錯誤的初級(基本)手段,不是全部手段;數(shù)據(jù)類型是避免程序錯誤的初級(基本)手段,不是全部手段;Date: December 23, 2021C語言的數(shù)據(jù)類型語言的數(shù)據(jù)類型單精度實型單精度實型 (float)雙精度實型雙精度實型 (double)整型整型 (int)字符型字符型 (char)枚舉類型枚舉類型數(shù)組類型數(shù)組類型結構體類型結構體類型共用體類型共用體類型實型(浮點型)實型(浮點型)基
7、本類型基本類型構造類型構造類型空類型空類型 (void)指針類型指針類型數(shù)據(jù)類型數(shù)據(jù)類型Date: December 23, 20211.1.整型數(shù)據(jù)整型數(shù)據(jù)2.2.實型數(shù)據(jù)實型數(shù)據(jù)3.3.字符型數(shù)據(jù)字符型數(shù)據(jù) 數(shù)據(jù)的存儲格式、范圍數(shù)據(jù)的存儲格式、范圍Date: December 23, 2021整型數(shù)據(jù)的取值范圍實例整型數(shù)據(jù)的取值范圍實例【例2.3】觀察以下程序的運行結果。 #includemain() short sNum=32768;printf(“%dn”,sNum);運行結果如下圖所示:Date: December 23, 2021整型數(shù)據(jù)分類及取值范圍整型數(shù)據(jù)分類及取值范圍 整型數(shù)
8、據(jù)分為一般整型(整型數(shù)據(jù)分為一般整型(int)、短整型()、短整型(short)和長整型()和長整型(long),),并且每一種類型又分為帶符號(并且每一種類型又分為帶符號(signed)和無符號()和無符號(unsigned)兩種類型)兩種類型 。整型數(shù)據(jù)的特性見下表:整型數(shù)據(jù)的特性見下表: 數(shù)據(jù)類型名說明Visual C+ 6.0環(huán)境Turbo C2.0環(huán)境字節(jié)取值范圍字節(jié)取值范圍short int短整型2-32768327672-3276832767signed short int帶符號短整型2-32768327672-3276832767unsigned short int無符號短整型
9、20655352065535int整型4-214748364821474836472-3276832767signed int帶符號整型4-214748364821474836472-3276832767unsigned int無符號整型4042949672952065535long int長整型4-214748364821474836474-21474836482147483647signed long int帶符號長整型4-214748364821474836474-21474836482147483647unsigned long int無符號長整型4042949672954042949
10、67295Date: December 23, 2021實型數(shù)據(jù)分類實型數(shù)據(jù)分類 實型數(shù)據(jù)分為單精度實型(實型數(shù)據(jù)分為單精度實型(float)、雙精度實型()、雙精度實型(double)和長雙)和長雙精度實型(精度實型(long double)。具體情況見下表所示)。具體情況見下表所示 : 數(shù)據(jù)類型名說明Visual C+ 6.0環(huán)境Turbo C2.0環(huán)境字節(jié)取值范圍有效數(shù)字字節(jié)取值范圍有效數(shù)字float單精度實型4-3.410383.41038674-3.410383.4103867double雙精度實型8-1.7103081.71030815168-1.7103081.710308151
11、6long double長雙精度實型8151610-1.21049321.210493218191.7103081.710308Date: December 23, 2021字符型數(shù)據(jù)分類字符型數(shù)據(jù)分類 字符型數(shù)據(jù)分為一般字符型(字符型數(shù)據(jù)分為一般字符型(char)、帶符號字符型()、帶符號字符型(signed char)和無符號字符型(和無符號字符型(unsigned char)三種類型。具體情況見下表所示)三種類型。具體情況見下表所示 : 數(shù)據(jù)類型名說明字節(jié)取值范圍char字符型1-128127signed char帶符號字符型1-128127unsigned char無符號字符型1025
12、5Date: December 23, 2021 基本數(shù)據(jù)類型基本數(shù)據(jù)類型 常量常量 變量變量授課要點授課要點Date: December 23, 2021 標識符標識符 定義:用來標識變量、常量、函數(shù)等的字符序列定義:用來標識變量、常量、函數(shù)等的字符序列 組成:組成:只能由只能由字母字母、數(shù)字數(shù)字、下劃線下劃線組成,且第一個字母必須是字組成,且第一個字母必須是字母或下劃線母或下劃線大小寫敏感大小寫敏感不能使用關鍵字不能使用關鍵字 長度:最長長度:最長32個字符個字符 命名原則:命名原則:見名知意見名知意不宜混淆不宜混淆 如如l與與I, o與與0例:判斷下列標識符號合法性sum Sum M.D
13、.John day Date 3days student_name #33 lotus_1_2_3 char ab _above $123M.D.John3days#33char$123ab常量與變量常量與變量Date: December 23, 2021常量常量 常量的存在形式常量的存在形式5 5 數(shù)字數(shù)字/ /整型常量整型常量5.35.3數(shù)字數(shù)字/ /浮點常量浮點常量“Black”Black”字符串常量字符串常量CC字符常量字符常量 推薦的常量表示推薦的常量表示 #define#defineMaxMax100100 Const int Max = 100;Const int Max = 1
14、00; 使用命名常量的好處使用命名常量的好處 增加程序可讀性增加程序可讀性; ; 減少書寫錯誤減少書寫錯誤; ; 便于維護便于維護; ;Date: December 23, 2021整型常量實例整型常量實例 在在C語言中,整型常量有十進制、八進制、十六進制三種進制表示語言中,整型常量有十進制、八進制、十六進制三種進制表示方法,并且各種數(shù)制均可有正(方法,并且各種數(shù)制均可有正(+)負()負(-)之分,正數(shù)的)之分,正數(shù)的“+”可省略。可省略。 【例2.4】定義一個八進制常量并顯示在屏幕上 。 #include void main()const int num1=89;const int num2
15、=047;const int num3=0X8A;printf(%dn%on%xn,num1,num2,num3);運行結果如下圖所示:Date: December 23, 2021字符型常量字符型常量實例實例 【例2.5】觀察以下程序的運行結果 。 #include main() const int num1=97;const char ch=a;printf(%cn,num1);printf(%dn,ch);運行結果如下圖所示:Date: December 23, 2021字符型常量說明字符型常量說明 (1 1)一般字符常量一般字符常量 :一般字符常量是用單引號括起來的一個普通字符,一般字
16、符常量是用單引號括起來的一個普通字符,其值為該字符的其值為該字符的ASCIIASCII代碼值。如代碼值。如a a、A A、0 0、? ?等都是一般等都是一般字符常量,但是字符常量,但是a a和和A A是不同的字符常量,是不同的字符常量,a a的值為的值為9797,而,而A A的值為的值為6565。 字符型常量是由一對單引號括起來的一個字符。它分為字符型常量是由一對單引號括起來的一個字符。它分為一般字符常量一般字符常量和和轉義字符轉義字符。字符常量在內(nèi)存中占一個字節(jié)。字符常量在內(nèi)存中占一個字節(jié)。(2 2)轉義字符轉義字符 :C C語言允許用一種特殊形式的字符常量,它是以反斜杠語言允許用一種特殊形
17、式的字符常量,它是以反斜杠( )開頭的特定字符序列,表示)開頭的特定字符序列,表示ASCIIASCII字符集中控制字符、某些用于字符集中控制字符、某些用于功能定義的字符和其他字符。如功能定義的字符和其他字符。如nn表示回車換行符,表示回車換行符,表示字符表示字符“ ”。常用的轉義字符見。常用的轉義字符見1.4.11.4.1中所敘。中所敘。 Date: December 23, 2021ASCII表表Date: December 23, 2021字符串常量說明字符串常量說明 字符串常量也稱字符串,由一對雙引號括起來(字符串常量也稱字符串,由一對雙引號括起來(“”“”)的)的字符序列。字符序列。
18、字符串常量中的字符是連續(xù)存儲的,并在最后自動加上字符串常量中的字符是連續(xù)存儲的,并在最后自動加上字符字符0作為字符串結束標志。如字符串作為字符串結束標志。如字符串“a”在計算機內(nèi)存在計算機內(nèi)存中占兩個連續(xù)單元,存儲內(nèi)容為字符中占兩個連續(xù)單元,存儲內(nèi)容為字符a和和0。Date: December 23, 2021 基本數(shù)據(jù)類型基本數(shù)據(jù)類型 常量常量 變量變量授課要點授課要點Date: December 23, 2021(1)數(shù)據(jù)類型:C語言的合法數(shù)據(jù)類型。如例中的int、short、char、float、double等。 (2)變量名表:變量名是C語言合法的標識符。變量名表可以包含多個變量名,彼
19、此之間使用逗號分開,表示同時定義若干個具有相同數(shù)據(jù)類型的變量,最后以分號結束。如: float a,b;變量及類型定義變量及類型定義 1. 1. 變量定義變量定義變量定義一般格式: 數(shù)據(jù)類型數(shù)據(jù)類型 變量名表;變量名表;如:int a; 對變量定義說明如下: 變量是指在程序執(zhí)行過程中其值可以被改變的量。變量定義的實質(zhì)是按照變量說明的數(shù)據(jù)類型為變量分配相應空間的存儲單元,在該存儲單元中存放變量的值。 C語言中,變量使用時遵循“先定義,后使用”的原則。 Date: December 23, 2021變量及類型定義變量及類型定義 Memory Value(5)Name (a)Type (int)in
20、t a = 5 ; /* 申請空間并初始化 */一個變量必然包含以下概念:一個變量必然包含以下概念:1. 名字(變量名)名字(變量名)2. 類型(變量占用空間)類型(變量占用空間)3. 值(變量的內(nèi)容)值(變量的內(nèi)容)4. 地址(變量在內(nèi)存中所處的位置)地址(變量在內(nèi)存中所處的位置)字節(jié)Address2. 2. 變量的存儲模式變量的存儲模式Date: December 23, 2021變量及類型定義變量及類型定義 3. 3. 變量初始化及賦值變量初始化及賦值 在【例2.2】中“s=pi*r*r;”語句是通過賦值運算符“=”將“pi*r*r”的值賦給變量s,即該語句實現(xiàn)了給變量s的賦值。所以,變
21、量值可以通過初始化取得,也可以在定義后,通過給變量賦值的方法取得。 在【例2.1】中,“int num=108; float grade=95.5; char ch=A;”的“=”是賦值運算符,用來給變量賦值。所以,以上四條語句都是在定義變量的同時給變量賦了值,稱為變量的初始化。變量初始化是指定義變量同時,給變量一個初始值。 Date: December 23, 2021模仿練習模仿練習 定義學生的學號、姓名、性別、年齡、兩門功課定義學生的學號、姓名、性別、年齡、兩門功課的成績并進行輸入和輸出。的成績并進行輸入和輸出。Date: December 23, 2021討論并總結討論并總結1. 為什么要定義數(shù)據(jù)類型?為什么要定義數(shù)據(jù)類型?2. 不同數(shù)據(jù)類型的區(qū)別是什么?不同數(shù)據(jù)類型的區(qū)別是什么?3. 常量在使用時和變量的區(qū)別是什么?常量在使用時和變量的區(qū)別是什么?Date: December 23, 2021結論結論1定義數(shù)據(jù)類型的定義數(shù)據(jù)類型的作用作用1. 定義了數(shù)據(jù)占
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【世界銀行】創(chuàng)新金融工具及其在管轄REDD發(fā)展中的作用
- 商業(yè)設計師考試的關鍵機制與試題答案總結
- 廣告設計師考試中的設計原則試題及答案
- 中考英語試題及答案陜西
- 助理廣告師考試高效學習方式試題及答案
- 2024年紡織設計師職業(yè)素質(zhì)試題及答案
- 研究紡織品的質(zhì)量與標準體系試題及答案
- 心境障礙試題及答案解析
- 思維導圖紡織品設計師證書考試試題及答案
- 關注紡織工程師證書考試分類知識試題及答案
- 高考語文120個重點文言實詞
- 江蘇省糧食集團招聘筆試題庫2024
- 2024年深圳市彩田學校初中部小升初入學分班考試數(shù)學模擬試卷附答案解析
- 2024年安徽安慶市交通控股集團有限公司招聘筆試沖刺題(帶答案解析)
- 《沙龍培訓》課件
- 充電樁四方協(xié)議書范本
- 中考英語情景交際和看圖寫話
- 知道智慧網(wǎng)課《科學社會主義概論》章節(jié)測試答案
- 事故調(diào)查分析課件
- 《養(yǎng)老護理員》-課件:自然災害的應對處理知識
- 勞務外包服務方案(技術方案)
評論
0/150
提交評論