《C程序設計》第2章_第1頁
《C程序設計》第2章_第2頁
《C程序設計》第2章_第3頁
《C程序設計》第2章_第4頁
《C程序設計》第2章_第5頁
已閱讀5頁,還剩50頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、2.1 2.1 數據在計算機與中的存儲數據在計算機與中的存儲什么是比特?什么是比特?比特的存儲(比特的存儲(1 1)比特的存儲(比特的存儲(2 2)比特的存儲(比特的存儲(3 3)存儲容量的計量單位存儲容量的計量單位不同類型數據的存儲方式不同類型數據的存儲方式整數的存儲整數的存儲整型數據的分類共六種共六種有符號基本整型有符號短整型有符號長整型無符號基本整型無符號短整型無符號長整型(signed)int (signed)short (int )(signed) long (int)unsigned intunsigned short (int)unsigned long (int)整型變量的符號

2、屬性整型變量的符號屬性:變量的值在內存中是以:變量的值在內存中是以補碼補碼存儲的存儲的,最高位代表符號位。,最高位代表符號位。可以將變量定義為可以將變量定義為“無符號無符號”類型類型C標準只要求:sizeof(short) sizeof(int) sizeof(long)整數的存儲整數的存儲整數整數1313在內存中實際存放的情況在內存中實際存放的情況整數的存儲舉例整數的存儲舉例_ _數據的溢出數據的溢出例例2-1 整型數據的溢出(在整型數據的溢出(在TC2.0下)下)#include void main() int a,b; unsigned short c=-1; a=32767; b=a+

3、1; printf(a=%d,b=%dn,a,b); printf(a=%u,b=%un,a,b); printf(c=%d,c=%un,c,c);實數的存儲方式實數的存儲方式小數部分小數部分指數部分指數部分浮點型常量浮點型常量:凡以小數形式或指數形式出現的實數凡以小數形式或指數形式出現的實數,編譯系統把浮點型常量都按雙精度處理編譯系統把浮點型常量都按雙精度處理,分配分配8個字節個字節例如例如:f = 2.45678 * 4523.65 系統先把2.45678和4523.65作為雙精度數,然后進行相乘的運算,得到的乘也是一個雙精度數。最后取其前7位賦給浮點型變量f。如是在數的后面加字母f或F(

4、如1.65f, 654.87F),這樣編譯系統就會把它們按單精度(32位)處理。若按照單精度來處理,應該在實型常量的后面加字母f或F。字符與字符代碼字符與字符代碼大多數系統采用大多數系統采用ASCIIASCII字符集字符集字母:字母:A ZA Z,a z a z 數字:數字:0 09 9專門符號:專門符號:2929個:個:! ” # & ( ) ! ” # & ( ) * *等等空格符:空格、水平制表符、換行空格符:空格、水平制表符、換行等等不能顯示的字符:空不能顯示的字符:空(null)(null)字符字符( (以以00表示表示) )、警告警告( (以以aa表示表示) )、退

5、格、退格( (以以bb表示表示) )、回車回車( (以以rr表示表示) )等等字符型數據字符型數據字符數據在內存中的存儲形式2.2 2.2 整數整數數據的運算與分析數據的運算與分析解題思路:找到二者間的轉換公式解題思路:找到二者間的轉換公式)32(95fcf代表華氏溫度代表華氏溫度,c代表攝氏溫度代表攝氏溫度 算法:算法:)32(95fcN-S圖圖例題例題2.1 2.1 雞兔同籠雞兔同籠fyxhyx42yhxhfy22#include void main ( ) int h,f,x,y; h=16; f=40; y=(f-2*h)/2; x=h-y; printf(%d%dn,x,y); 常量

6、和變量常量和變量的概念的概念字符串常量字符常量實型常量整型常量C語言語言字符串常量字符常量實型常量整型常量C語言語言變量變量變量必須變量必須先定義先定義,后使用后使用定義定義變量變量時指定該變量的時指定該變量的名字名字和和類型類型變量名變量名和和變量值變量值是是兩個不同的概念兩個不同的概念變量名實際上是以一個名字代表的一個變量名實際上是以一個名字代表的一個存儲地址存儲地址從變量中取值,實際上是通過變量名找到相應的內存地址,從變量中取值,實際上是通過變量名找到相應的內存地址,從該存儲單元中讀取數據從該存儲單元中讀取數據3變量名變量名變量值變量值存儲單元存儲單元a變量地址變量地址20007變量名變

7、量名變量值變量值存儲單元存儲單元a變量地址變量地址2000變量取名的規則變量取名的規則-C標識符標識符定義定義引入引入數據類型數據類型的意義的意義 C C的數據類型(的數據類型(P49P49)數據類型數據類型基本類型基本類型構造類型構造類型指針類型指針類型空類型(空類型(void)整型整型(int)字符型字符型(char)實型(浮點型)實型(浮點型)單精度型單精度型(float)雙精度型雙精度型(double)枚舉類型枚舉類型數組類型數組類型結構體類型結構體類型共同體類型共同體類型問題:問題:解題思路:找到二者間的轉換公式解題思路:找到二者間的轉換公式)32(95fcf代表華氏溫度代表華氏溫度

8、,c代表攝氏溫度代表攝氏溫度 算法:算法:)32(95fcN-S圖圖程序實現程序實現#include int main ( ) float f,c; f=64.0; c=(5.0/9)*(f-32); printf(f=%fnc=%fn,f,c); return 0; / / /定義定義f f和和c c為單精度浮點型變量為單精度浮點型變量/ / /指定指定f f的值的值/ / /計算計算c c的值的值/ / /輸出輸出f f和和c c的的值值程序修改如下,程序的運行結果會怎樣?程序修改如下,程序的運行結果會怎樣?整型整型常量和變量常量和變量)(int)(int)int)(unsignedlon

9、gshot無符號型長整型基本類型短整型C整型常量整型常量 例例2-2整型變量的定義與使用整型變量的定義與使用#include int main() int a,b,c,d; /*指定、為整型變量*/ unsigned u; /*指定為無符號整型變量*/ a=12; b=-24; u=10; c=a+u; d=b+u; printf(a+u=%d,b+u=%dn,c,d);2.3 2.3 實型數據的運算與分析實型數據的運算與分析(實型數據的運算舉例實型數據的運算舉例)1log()log()log(rrdppm還清貸款的月數貸款額月利率每月還款數mdrp,# include # include v

10、oid main()int d,p;float r,m;d=324500;p=3245;r=0.008;m=(log10(p)-log10(p-d*r)/log10(1+r);printf(month=%fn,m);printf(total=%fn,m*p);實型常量的表現形式實型常量的表現形式具有兩種形式:具有兩種形式:31230.0 ,123.0:E指數形式:十進制小數形式實型變量實型變量float型型(單精度浮點型單精度浮點型)double型型(雙精度浮點型雙精度浮點型)long double(長雙精度長雙精度)型型實型例例 浮點型數據的舍入誤差浮點型數據的舍入誤差#include vo

11、id main()float a,b; a = 123456.789e5; b = a + 20 ; printf(a=%f,b=%fn,a,b); printf(a=%e,b=%en,a,b); 2.4 2.4 字符型數據的運算字符型數據的運算轉義轉義字符字符:n n 教材:教材:P33P33字符變量字符變量思考:思考:?在內存中的存儲形式是?在內存中的存儲形式是?結論:字符型數據與整型數據在一定條件下可以通用結論:字符型數據與整型數據在一定條件下可以通用例例2.5 2.5 向字符變量賦以整數。向字符變量賦以整數。 #include void main() char c1,c2; c1=97

12、; c2=98; printf(“%c %cn”,c1,c2); printf(“%d %dn”,c1,c2); 字符串常量字符串常量2.5 2.5 符號常量符號常量為什么要用為什么要用符號符號常量?常量?例題例題2.72.7:求圓半徑為:求圓半徑為r r 的圓周長,圓面積,圓球體積的圓周長,圓面積,圓球體積程序見程序見P38-P39P38-P39【分析分析】用用 # define # define 定義符號常量為程序編寫理解帶定義符號常量為程序編寫理解帶來方便來方便2.6 2.6 算術運算符和算術表達式算術運算符和算術表達式 說明說明2. 2. 自增、自減運算符自增、自減運算符:2.6 2.

13、6 算算術術表達式表達式注意:各注意:各類型數據間的混合運算類型數據間的混合運算字節少字節少字節多字節多自動轉換自動轉換v什么情況下發生什么情況下發生l運算轉換運算轉換-不同類型數據混合運算時不同類型數據混合運算時l賦值轉換賦值轉換-把一個值賦給與其類型不同的變量時把一個值賦給與其類型不同的變量時l輸出轉換輸出轉換-輸出時轉換成指定的輸出格式輸出時轉換成指定的輸出格式l函數調用轉換函數調用轉換-實參與形參類型不一致時轉換實參與形參類型不一致時轉換v運算轉換規則運算轉換規則: :不同類型數據運算時先不同類型數據運算時先自動自動轉換成同一轉換成同一類型類型doublefloatlongunsignedintchar,short低高說明說明:必定的轉換必定的轉換運算對象類型不同時轉換運算對象類型不同時轉換例例 char ch; int i; float f; double d;ch/i + f*d - (f+i)intintdoubledoubledoubledoubledoubledoubleintintdoubledoubledoubledoubledoubledouble10+a +i*f - d/l例例 int i; float f; double d

溫馨提示

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

評論

0/150

提交評論