C語言程序設(shè)計教程 課件 第3.1 數(shù)據(jù)類型、常量和變量_第1頁
C語言程序設(shè)計教程 課件 第3.1 數(shù)據(jù)類型、常量和變量_第2頁
C語言程序設(shè)計教程 課件 第3.1 數(shù)據(jù)類型、常量和變量_第3頁
C語言程序設(shè)計教程 課件 第3.1 數(shù)據(jù)類型、常量和變量_第4頁
C語言程序設(shè)計教程 課件 第3.1 數(shù)據(jù)類型、常量和變量_第5頁
已閱讀5頁,還剩28頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

第3章數(shù)據(jù)類型、運算和輸入輸出理論知識數(shù)據(jù)類型1常量和變量

2運算符和表達(dá)式3輸入和輸出函數(shù)4引入:程序=數(shù)據(jù)結(jié)構(gòu)+算法尼古拉斯·沃斯(NikiklasWirth)數(shù)據(jù)類型整型(int)數(shù)據(jù)類型基本類型整型單精度型(float)字符型(char)長整型(long)短整型(short)實型雙精度型(double)枚舉類型(enum)(第9章)共用體類型(union)(第9章)構(gòu)造類型結(jié)構(gòu)體類型(struct)(第9章)數(shù)組類型([])(第6章)空類型(void)指針類型(*)(第8章)任務(wù)1表2-1整型數(shù)據(jù)常見存儲空間和取值范圍

數(shù)據(jù)類型說明字節(jié)數(shù)取值范圍[signed]int基本整型2-32768~32767,即-215~(215-1)4-2147483648~2147483647,即-231~(231-1)[signed]short[int]短整型2-32768~32767,即-215~(215-1)[signed]long[int]長整型4-2147483648~2147483647,即-231~(231-1)unsigned[int]無符號基本整型20~65535,即0~(216-1)40~4294967295,即0~(232-1)unsignedshort[int]無符號短整型20~65535,即0~(216-1)unsignedlong[int]無符號長整型40~4294967295,即0~(232-1)不同進制之間的轉(zhuǎn)換十進制R進制(二進制、八進制、十六進制)方法:除R求余,逆序排列

注意:書寫順序練習(xí):(123)10=()2=()8=()16R進制十進制方法:按位展開,相加求和(1101.01)2=1*20+0*21+1*22+1*23

+0*2-1+1*2-2=1+0+4+8+0+0.25=(13.25)10(0xae)16=10*161+14*160=160+14=174練習(xí):比較以下四個數(shù)的大?。?23,0123,0xae,(11011)2

(173)10=(10101101)2原碼、反碼、補碼之間的轉(zhuǎn)換在計算機內(nèi),有符號數(shù)有3種表示法:原碼、反碼和補碼。所有數(shù)據(jù)的運算都是采用補碼進行的。正整數(shù)的原碼、反碼、補碼完全一樣,即符號位固定為0,數(shù)值位相同負(fù)整數(shù)的符號位固定為1,由原碼變?yōu)檠a碼時,規(guī)則如下:

1、原碼符號位1不變,整數(shù)的每一位二進制數(shù)位求反,得到反碼

2、反碼符號位1不變,反碼數(shù)值位最低位加1,得到補碼浮點型數(shù)據(jù)類型說明字節(jié)數(shù)有效數(shù)字取值范圍(約)float單精度浮點型47-3.4*10-38~3.4*1038double雙精度浮點型815-1.7*10-308~1.7*10308浮點型又稱為實型,用來表示具有小數(shù)點的實數(shù),如3.6、-32.7等。浮點型包括單精度浮點型和雙精度浮點型兩種,它們的存儲空間和取值范圍如表2-2:字符型字符型數(shù)據(jù):用''即單個字符,如'a'、'H'、'6'

、'*'、'+'等。并不是任意一個字符,程序都能識別,如'≤'、'×'

在程序中是不能被識別的。通常情況下,只能使用ASCII字符集中的字符。每個字符型數(shù)據(jù)在內(nèi)存中占1個字節(jié)存儲空間。存放的并不是字符本身,而是該字符對應(yīng)的ASCII編碼值。C語言中,字符實際上是作為整數(shù)來處理的,所以字符型數(shù)據(jù)也分為有符號signed和無符號unsigned兩類,也會有取值范圍。

表2-3字符型數(shù)據(jù)存儲空間和取值范圍

數(shù)據(jù)類型說明字節(jié)數(shù)取值范圍[signed]char有符號字符型1-128~127,即-27~(27-1)unsignedchar無符號字符型10~255,即0~(28-1)常量與變量常量——在程序運行過程中,其值不可以發(fā)生變化的量。變量——在程序運行過程中,其值可以發(fā)生變化的量。1、10、3.14、’A’、“abc”inta,b,c;floatx,y,z,f1;charc1,c2;常量常量是指在程序運行過程中,其值不能改變的量。根據(jù)數(shù)據(jù)類型的不同,可劃分為整型常量、浮點型常量、字符常量和字符串常量。符號常量——用一個符號來代替程序中多次使用的常量。先定義格式:#define標(biāo)識符常量#definePI3.14

/*這是預(yù)定義命令,通常放在程序的最前面,且后面不加分號(;)*/符號常量名用大寫,變量名用小寫/*案例1-2*/

#include<stdio.h>

#definePI3.14main()

{

intr;floatc,s;r=5;

c=2*PI*r;

s=PI*r*r;printf("r=%d,c=%.2f,s=%.2f\n",r,c,s);

}見名知義一改全改整型常量不帶小數(shù)點的數(shù)值即整型常量。

(1)十進制形式由0~9十個數(shù)碼組成,且第一個數(shù)字不能為0。如80、-69等。

(2)八進制形式以數(shù)字0做前綴,由0~7八個數(shù)碼組成。如0123、-057等。

(3)十六進制形式以"0x"或"0X"作為前綴,由0~9、a~f或A~F十六個數(shù)碼組成。如0X53、0x12f、0xFFE等都是合法的十六進制整數(shù)形式。

注意:可以在一個整數(shù)的末尾加上后綴L或l,表示它是長整型(longint)。如123L、0456L、0xf8l等。

浮點型常量是以小數(shù)形式或指數(shù)形式出現(xiàn)的實數(shù)。C編譯系統(tǒng)把浮點型常量都處理成雙精度型,分配8個字節(jié)。

(1)小數(shù)形式由數(shù)字和小數(shù)點組成。如23.5、-0.75、2.0等。注意:小數(shù)點前或后面的0可以省略(如.2、2.

等),但是小數(shù)點不可以省略。

(2)指數(shù)形式

形式如3.2e5、-7.6E3、0.125e-2、-345.6E-12,分別表示3.2×105、-7.6×103、0.125×10-2、-345.6×10-12。

注意:字母e或E之前必須有數(shù)字,之后必須為整數(shù)。如e3、3.2E1.5都不是合法的指數(shù)形式。浮點型常量

字符常量:用單引號括起來的單個字符字符的存儲:每個字符占用1B,存儲其對應(yīng)的ASCII碼。字符常量有兩種形式:普通字符和轉(zhuǎn)義字符。

(1)普通字符即用單引號括起來的單個字符,如'H'、'8'

、'*'等。字符常量僅是單引號中的字符,并不包含單引號本身,單引號只是起到定界作用。

(2)轉(zhuǎn)義字符以字符'\'開頭的字符序列,將'\'后面的字符轉(zhuǎn)換成另外的含義,稱之為轉(zhuǎn)義字符。字符常量

使用轉(zhuǎn)義字符的原因:①某一些特定的字符在C中具有特殊用途。如反斜杠(\),它是轉(zhuǎn)義字符的前綴;再如雙引號("),被定義為字符串的定界符。如果想要在屏幕上輸出這些字符,只能用轉(zhuǎn)義字符的形式,直接輸出程序會出錯。②用轉(zhuǎn)義字符來表示ASCll字符集里的控制字符。如printf函數(shù)中的'\n',它代表換行符。這是一種在屏幕上無法顯示的“控制字符”,在程序中也無法用一個普通的字符來表示,只能采用這種特殊形式。字符常量表2-4常用的轉(zhuǎn)義字符表

編號轉(zhuǎn)義字符名稱功能1\"雙引號輸出一個單引號2\\反斜杠輸出一個反斜杠3\0空產(chǎn)生一個空字符4\a警告產(chǎn)生一個警告鈴聲5\b退格將光標(biāo)后退一個字符6\f換頁將光標(biāo)移到下一頁的開頭7\n換行將光標(biāo)移到下一行的開頭8\r回車將光標(biāo)移到本行的開頭9\t水平制表將光標(biāo)移到下一個水平制表位置10\v垂直制表將光標(biāo)移到下一個垂直制表位置11\o、\oo或\oooo代表一個八進制字符輸出ASCII碼與該八進制數(shù)對應(yīng)的字符12\xh、\xhhh代表一個十六進制字符輸出ASCII碼與該十六進制數(shù)對應(yīng)的字符下面4個選項中,均是合法轉(zhuǎn)義字符的選項是()?!甛’’‘\\’‘\n’‘\’‘\017’“\”‘\018’‘\f’‘xab’‘\\0’‘\101’‘x1f’ABCD提交單選題1分表2-4說明①表2-4中前兩行即轉(zhuǎn)義字符的第一種應(yīng)用,第3行至第10行為轉(zhuǎn)義字符的第二種應(yīng)用。②第11行是一個以八進制數(shù)表示的轉(zhuǎn)義字符,可以是1位、2位或3位八進制數(shù)。它實際代表ASCII碼與該八進制數(shù)對應(yīng)的字符。③第12行是一個以十六進制數(shù)表示的轉(zhuǎn)義字符,可以是1位或2位十六進制數(shù),且必須以小寫字母x開頭。它實際代表ASCII碼與該十六進制數(shù)對應(yīng)的字符。④轉(zhuǎn)義字符常量每個只代表一個字符。

字符串常量字符串的存儲:依次存儲每個字符的ASCII碼,最后加’\0’作為結(jié)束符號。添加標(biāo)題字符串常量是用雙引號括起來的若干個字符,如“Cprogram”、“123”、“張明”等。添加標(biāo)題①不能把字符串寫成'Cprogram'、'123',單引號是字符常量的定界符,只能包含一個字符,雙引號內(nèi)才可以包含一串字符。②即使雙引號內(nèi)只有1個字符,如“a”,它也是一個字符串,而非字符常量。雙引號只是定界符,字符串常量并不包括雙引號。注意:020103單擊添加

項標(biāo)題“a”和‘a(chǎn)’存儲時各自需要占用多少個字節(jié)?2,21,11,22,1ABCD提交單選題1分

變量

在程序運行時,其值可以發(fā)生變化的量。整型變量、實型變量、字符型變量等變量三要素:數(shù)據(jù)類型

變量名

數(shù)量值inta=5;原則:先定義,后使用必須滿足標(biāo)識符的命名規(guī)則變量的聲明

所謂聲明變量,即根據(jù)指定的數(shù)據(jù)類型在內(nèi)存中申請一塊存儲空間?;拘问饺缦拢?/p>

數(shù)據(jù)類型變量名;eg:

intprice;

unsignedshortage;

floatf1,f2;

charc;

注意:可以用一條語句聲明多個同類型的變量,變量名之間要用逗號(,)隔開。

變量的初始化

可以在聲明變量的同時給變量賦初值?;拘问饺缦拢?/p>

數(shù)據(jù)類型變量名=值;

eg:

intprice=5285;unsignedshortage=19;floatf1=0.85,f2=3.5;charc=

‘a(chǎn)‘;

變量的賦值

如果沒有對變量進行初始化,而只是聲明了變量,那么變量的賦值可以在程序中通過專門的賦值語句來完成。形式如下:

變量名=表達(dá)式;eg:

inta,b,c;a=3;b=a+5;c=a+b;c=8;

注意:變量可以多次賦值,也就是說變量的值可以改變,這也是它之所以叫“變量”的原因。但變量的當(dāng)前值只有一個,后面放進存儲區(qū)域的值會把前面的值覆蓋掉,而不是共存。

思考題:a=3;b=5;如何實現(xiàn)a,b的值互換?

變量的引用

即在程序中通過變量名來操作變量中保存的數(shù)據(jù)。eg:

charisDiscount='Y';printf("是否有折扣:%c\n",isDiscount);//輸出結(jié)果為“是否有折扣:Y”

注意:C語言規(guī)定,變量必

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論