哈工大-2數據類型_第1頁
哈工大-2數據類型_第2頁
哈工大-2數據類型_第3頁
哈工大-2數據類型_第4頁
哈工大-2數據類型_第5頁
已閱讀5頁,還剩20頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第第2 2章章 C C數據類型數據類型哈爾濱工業大學哈爾濱工業大學蘇小紅蘇小紅2022-3-82/26本章學習內容本章學習內容2022-3-83/262.1常常量量與與變變量量(constant)在在程程序序中中不不能能改改變變其其值值的的量量變變量量(variable)其其值值在在程程序序執執行行過過程程中中是是可可以以改改變變的的2022-3-84/26一個簡單的一個簡單的C程序例子程序例子 #include /*函數功能函數功能:計算兩個整數相加之和計算兩個整數相加之和 入口參數入口參數:整型數據整型數據a和和b 返回值:返回值: 整型數整型數a和和b之和之和*/int Add(int

2、a, int b)return (a + b);/*主函數主函數*/main()int x, y, sum = 0;printf(Input two integers:);scanf(%d%d, &x, &y); /*輸入兩個整型數輸入兩個整型數x和和y*/sum = Add(x, y); /*調用函數調用函數Add計算計算x和和y相加之和相加之和*/printf(sum = %dn, sum); /*輸出輸出x和和y相加之和相加之和*/ 并列的兩個函數并列的兩個函數其中主函數是其中主函數是程序的入口程序的入口程序注釋程序注釋編譯預處理命令編譯預處理命令2022-3-85/26

3、C程程序序常常見見符符號號分分類類 2022-3-86/26C程程序序常常見見符符號號分分類類 2022-3-87/26如如 如如 如如 如如 2.1.1常量常量(Constant)長整型長整型無符號整型無符號整型 八進制八進制十六進制十六進制單精度實型單精度實型長雙精度實型長雙精度實型十進制小數十進制小數指數形式指數形式十進制十進制2022-3-88/262.1.2變量變量(Variable )2022-3-89/26變變量量聲聲明明(Variable Declaration)2022-3-810/26變變量量聲聲明明(Variable Declaration)聲明變量是初始化變量的最好時機

4、聲明變量是初始化變量的最好時機不被初始化的變量,其值為隨機數不被初始化的變量,其值為隨機數結果會是什么?結果會是什么?2022-3-811/26運算規則:運算規則: 語法:語法: 規則:規則: 左值和右值類型一致左值和右值類型一致Valid Example:Invalid Example:int x; int y;x = 12;y = 5.75;2022-3-812/262.3數據類型(數據類型(Data Type)為什么要區分類型?為什么要區分類型?變量的類型決定了變量的類型決定了數據的存儲形式數據的存儲形式合法的取值范圍合法的取值范圍占用內存空間的大小占用內存空間的大小可參與的運算種類可參

5、與的運算種類 2022-3-813/26數數據據類類型型(Data Type)數據類型數據類型基本類型基本類型構造類型構造類型指針類型指針類型無類型無類型整型整型實型(浮點型)實型(浮點型)字符型字符型枚舉類型枚舉類型數組類型數組類型結構體類型結構體類型共用體類型共用體類型單精度實型雙精度實型基本整型長整型短整型無符號整型長雙精度實型2022-3-814/26基基本本數數據據類類型型int整數,在目前絕大多數機器上占整數,在目前絕大多數機器上占4個字節個字節TC 2.0,2個字節個字節float單精度浮點數,單精度浮點數,4個字節個字節double雙精度浮點數,雙精度浮點數,8個字節個字節ch

6、ar字符,字符,1個字節個字節表示表示256個個ASCII字符,或字符,或0255的整數的整數2022-3-815/26數數據據類類型型修修飾飾符符shortshort int,簡寫為,簡寫為short,短整數,短整數,2個字節個字節longlong int,簡寫為,簡寫為long,長整數,長整數,4個字節個字節long double,長雙精度(高精度)浮點數,長雙精度(高精度)浮點數,10個字節個字節unsigned用來修飾用來修飾char、int、short和和long無符號無符號整數(正整數和整數(正整數和0)2022-3-816/26不不同同類類型型取取值值范范圍圍不不同同C語言直接提

7、供的任何類型都有取值范圍語言直接提供的任何類型都有取值范圍2022-3-817/26不不同同類類型型取取值值范范圍圍不不同同Most significant bit (MSB) is sign(最高位為符號位最高位為符號位)2022-3-818/262.4如何計算變量或數據類型如何計算變量或數據類型所占內存空間的大小所占內存空間的大小2022-3-819/26一個位有多大?一個位有多大?只能是只能是0或者或者1,二進制,二進制一個字節有多大?一個字節有多大?可以表示可以表示0255之間的整數之間的整數2.4如何計算變量或數據類型如何計算變量或數據類型所占內存空間的大小所占內存空間的大小2022

8、-3-820/26不不同同類類型型占占用用的的內內存存字字節節數數不不同同同種類型在不同的平臺其占字節數不盡相同同種類型在不同的平臺其占字節數不盡相同如如int在在16位、位、32位和位和64位系統上分別占位系統上分別占2、4和和8個字節個字節不要對變量所占的內存空間字節數想當然不要對變量所占的內存空間字節數想當然用用sizeof獲得變量或者數據類型的長度獲得變量或者數據類型的長度現象與危害現象與危害在平臺間移植時會出現問題,導致數據丟失或者溢出在平臺間移植時會出現問題,導致數據丟失或者溢出2022-3-821/26sizeof到到底底是是什什么么?C C語言的關鍵字,并非函數語言的關鍵字,并

9、非函數計算計算類型類型占用的字節數占用的字節數兩種語法形式兩種語法形式 sizeof(類型類型)結果為結果為類型類型占用的字節數占用的字節數 sizeof(表達式表達式)結果為結果為表達式值所屬類型表達式值所屬類型占用的字節數占用的字節數 一般都使用一般都使用sizeof(變量名變量名) 2022-3-822/26現場演示例現場演示例2.2在在TC和和VC、CB下的運行結果下的運行結果#include main()printf(Data type Number of bytesn);printf(- -n);printf(char %dn, sizeof(char);printf(int %dn, sizeof(int);printf(short int %dn, sizeof(short);printf(long int %dn, sizeof(long);printf(float %dn, sizeof(float);printf(double %dn, sizeof(double);2022-3-823/262.5變量的賦值和賦值運算符變量的賦值和賦值運算符簡單賦值簡單賦值(Simple Assignment)語法語法: 變量變量 = 表達式表達式 ;2022-3-824/26語法語法: : 變量變量1 = 變量變量2 =

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論