第二章C語言基礎(chǔ)數(shù)據(jù)類型(C語言程序設(shè)計清華版第三版)_第1頁
第二章C語言基礎(chǔ)數(shù)據(jù)類型(C語言程序設(shè)計清華版第三版)_第2頁
第二章C語言基礎(chǔ)數(shù)據(jù)類型(C語言程序設(shè)計清華版第三版)_第3頁
第二章C語言基礎(chǔ)數(shù)據(jù)類型(C語言程序設(shè)計清華版第三版)_第4頁
第二章C語言基礎(chǔ)數(shù)據(jù)類型(C語言程序設(shè)計清華版第三版)_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

數(shù)據(jù)類型提綱C語言的詞匯與詞法C語言的數(shù)據(jù)類型類型概述基本數(shù)據(jù)類型整型浮點(diǎn)型字符型常量與變量常量變量強(qiáng)制定義及其好處結(jié)束C語言的單詞基本字符集英文字母、數(shù)字、特殊符號。關(guān)鍵字又稱保留字。是C語言中具有特定作用和含義的單詞,在程序中不能另作他用。(關(guān)鍵字表)特定字是一些用在C語言的預(yù)處理命令和庫函數(shù)中的單詞。標(biāo)識符簡單地說就是名字。(命名規(guī)則)運(yùn)算符也稱操作符,告訴計算機(jī)如何操作數(shù)據(jù)。(分類)分隔符用來界定或分割語句中的語法成分:,;‘

”{}注釋和空格等。字面常量指在程序中直接寫出常量值的常量。分類:整型常量、實(shí)型常量、字符型常量、字符串常量返回C語言中的類型C的類型體系程序中所使用的數(shù)據(jù)都必須指定其數(shù)據(jù)類型——C是一種強(qiáng)制類型定義語言返回空類型voidC數(shù)據(jù)類型基本類型構(gòu)造類型整型int浮點(diǎn)型float、double字符型char指針類型數(shù)組結(jié)構(gòu)體聯(lián)合體枚舉類型整型(1)整型的細(xì)分類基本整型有符號:signed[int]|[signed]int無符號:unsigned[int]短整型有符號:[signed]short[int]無符號:unsignedshort[int]長整型有符號:[signed]long[int]無符號:unsignedlong[int]整型(2)C標(biāo)準(zhǔn)中沒有具體規(guī)定各類數(shù)據(jù)所占內(nèi)存字節(jié)數(shù),只要求long型數(shù)據(jù)不短于int型,short型不長于int型。慎用長整型:可以得到大范圍的整數(shù),但同時會降低運(yùn)算速度。當(dāng)整型數(shù)發(fā)生溢出時,系統(tǒng)并不報錯,而是轉(zhuǎn)為最小。整型(3)整型常量的三種表示方法十進(jìn)制表示:數(shù)字串,如123八進(jìn)制表示:以0打頭的數(shù)字串,如0123=1*82+2*81+3*80=83十六進(jìn)制表示:以0x或0X打頭的數(shù)字串,如0x123=1*162+2*161+3*160=291整型常量的類型可根據(jù)其值的范圍判定為強(qiáng)調(diào)一整常量為長整型,可于其后加上l或L;為強(qiáng)調(diào)一整常量為無符號,可于其后加上u或U。返回浮點(diǎn)型(1)浮點(diǎn)型的細(xì)分類由于實(shí)型變量是由有限的存儲單元組成的,因此能提供的有效數(shù)字總是有限的,在有效位以外的數(shù)字將被舍去。由此可能產(chǎn)生一些誤差。(示例)

類型字節(jié)數(shù)有效數(shù)字?jǐn)?shù)值范圍float46~710-37~1038double815~1610-307~10308longdouble8或1018~1910-4931~104932浮點(diǎn)型(2)浮點(diǎn)型常量的兩種表示方法十進(jìn)制小數(shù)形式:由數(shù)字和小數(shù)點(diǎn)組成(必須有小數(shù)點(diǎn),當(dāng)小數(shù)點(diǎn)前的數(shù)為0時,可以省略0)。指數(shù)形式:類似于科學(xué)記數(shù)法。如1.23e3或1.23E3都代表1.23103。(e或E前必須有數(shù)字,其后必須為整數(shù)。)許多系統(tǒng)將實(shí)型常量作為雙精度來處理,這樣可以保證計算結(jié)果更精確,但是運(yùn)算速度降低了??梢栽跀?shù)的后面加字母f或F,使編譯系統(tǒng)將其按單精度處理。一實(shí)型常量可賦給三種實(shí)型變量,并根據(jù)類型截取相應(yīng)的有效位數(shù)字。返回字符型(1)字符型常量是用單引號括起來的單個字符。轉(zhuǎn)義字符是以“\”開頭的特殊字符P36表2.1.1\n(換行,10)\r(回車,13)\b(退格,8)

\t(水平制表,9)\\(92)\’(39)\”(34)\ddd(1到3位八進(jìn)制所代表的字符)\xhh(1到2位十六進(jìn)制所代表的字符)一個轉(zhuǎn)義字符僅僅算一個字符。\r的含義是將光標(biāo)移動到當(dāng)前行的開頭\n本義是換行(即,將光標(biāo)移到下一行的當(dāng)前位置),但輸出中實(shí)際效果是既換行又回車(即,將光標(biāo)移動到下一行的開頭)\b只把光標(biāo)前移一個字符,不會刪除字符\t的功能是把光標(biāo)移動到下一個制表位(在屏幕輸出時通過輸出若干補(bǔ)齊空格實(shí)現(xiàn))。注意不要把\t理解成輸出固定個數(shù)的空格。在未做特殊規(guī)定時,多數(shù)系統(tǒng)的制表位間隔是8個字符。字符型(2)字符型的類型符為char一個字符變量只能存放一個字符,在內(nèi)存中占一個字節(jié)。字符數(shù)據(jù)在內(nèi)存中并不是存儲字符本身,而是存儲字符所對應(yīng)的ASCII值。其存儲形式和整型數(shù)是類似的。C中字符型數(shù)據(jù)和整型數(shù)據(jù)可以通用。字符數(shù)據(jù)可以字符形式輸出,也可以整數(shù)形式輸出。如果把字符數(shù)據(jù)中最高位作為符號位,就可以區(qū)分符號字符型(signedchar)和無符號字符型(unsignedchar)兩種類型了。字符型和字符串常量字符型常量是用單引號括起來的一個字符。其中字符可為普通字符,也可為轉(zhuǎn)義字符。在C語言中,還允許使用字符串常量。它是用一對雙引號括起來的字符序列。C中規(guī)定,在每一個字符串的結(jié)尾加上一個“字符串結(jié)束標(biāo)志”('\0')。這樣,"a"事實(shí)上是兩個字符,顯然與‘a(chǎn)’不同(內(nèi)存布局如下圖)。返回'a'97"a"970常量程序運(yùn)行過程中,其值不能被改變的量稱為常量分類字面常量或直接常量:從其字面形式即可判別

如:123,12.3等符號常量或標(biāo)識符形式的常量:以一個標(biāo)識符代表一個常量(示例)P43使用符號常量的好處提高程序的可讀性提高程序的可維護(hù)性返回變量其值在程序運(yùn)行過程中可以被改變的量稱為變量。變量的要素名:數(shù)據(jù)的一個代號,符合標(biāo)識符的命名規(guī)則類型:決定變量取值、運(yùn)算、存儲空間等值:數(shù)據(jù)的內(nèi)容地址:指示了數(shù)據(jù)在計算機(jī)中存儲的位置變量的定義數(shù)據(jù)類型變量名1,變量名2,……變量名n;變量的初始化數(shù)據(jù)類型變量名=表達(dá)式;舉例P48-49返回強(qiáng)制定義及其好處所謂強(qiáng)制定義即要求變量都要先定義后使用。強(qiáng)制定義的優(yōu)點(diǎn)凡未被定義的不作為變量名,保證程序中變量名使用得正確。防止因輸入錯誤而導(dǎo)致的程序錯誤。每個變量被指定為一個確定類型,在編譯時候就能為其分配相應(yīng)的存儲單元。指定每個變量屬于一個類型,便于在編譯時,據(jù)此檢查該變量所進(jìn)行的運(yùn)算是否合法。

返回C語言的關(guān)鍵字關(guān)鍵字又稱保留字。是C語言中具有特定作用和含義的單詞,在程序中不能另作他用。autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunionunsignedvoidvolatilewhile返回標(biāo)識符命名規(guī)則關(guān)于C標(biāo)識符的幾個要點(diǎn)只能由字母、數(shù)字和下劃線三種字符組成,且第一個字符必須為字母或下劃線。

非法標(biāo)識符舉例:M.D.John,$123,1AB大小寫字母有區(qū)別。長度(包含字符的個數(shù))沒有在標(biāo)準(zhǔn)中規(guī)定,但在各C編譯系統(tǒng)中有各自的規(guī)定。當(dāng)程序中的標(biāo)識符超過規(guī)定限制,則超過的部分將被截去。選擇標(biāo)識符時,一定要注意能做到“見名知意”;同時,還要注意不能與關(guān)鍵字同名。一般標(biāo)識符用小寫字母,常量用大寫字母。返回運(yùn)算符分類算術(shù)運(yùn)算符:+、-、*、/、%、++、--關(guān)系運(yùn)算符:>、<、>=、<=、==、!=邏輯運(yùn)算符:!、&&、||位運(yùn)算符:<<、>>、~、|、^、&賦值運(yùn)算符:=、+=、-=、*=、/=、%=等條件運(yùn)算符:?:;逗號運(yùn)算符:,指針運(yùn)算符:*、&分量運(yùn)算符:·、—>下標(biāo)運(yùn)算符:[]求字節(jié)數(shù)運(yùn)算符:sizeof返回例:符號常量代碼:

#include<stdio.h>

#definePRICE30

voidmain()

{

intnum,total;

num=10;

total=num*PRICE;

printf("total=%d",total);

}返回例:舍入誤差代碼:

#include<stdio.h>voidmain(

)

{

floata=12345.678;

doubleb;

b=12345.678;

printf("%f,

%f",

a,

b);

}結(jié)果:12345.677734,12345.678000返回例:轉(zhuǎn)義字符代碼:

#include<stdio.h>

voidmain()

{

printf("abc\tde

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論