C語言標(biāo)識符、數(shù)據(jù)類型、運(yùn)算符及表達(dá)式.ppt
第2章數(shù)據(jù)類型及其運(yùn)算,2.1標(biāo)識符2.2C語言的數(shù)據(jù)類型2.3常量2.4變量2.5運(yùn)算符與表達(dá)式2.6小結(jié)2.7練習(xí)、作業(yè)及實(shí)驗(yàn),第2章數(shù)據(jù)類型及其運(yùn)算,程序=數(shù)據(jù)+算法,輸出數(shù)據(jù),輸入數(shù)據(jù),P(加工處理),內(nèi)部數(shù)據(jù),2.1標(biāo)識符,一、概念計算機(jī)程序處理的對象是數(shù)據(jù),編寫程序也就是描述對數(shù)據(jù)的處理過程。給數(shù)據(jù)指定名字(定義),方便使用(按名使用)。狹意的專指導(dǎo)程序中的數(shù)據(jù),廣義的包括程序代碼。甚至程序本身。標(biāo)識符就是程序中的名字。Identify(識別)tagnameDeclarationdefinition按名使用的思想,2.1標(biāo)識符,二、標(biāo)識符的命名規(guī)則1、允許使用的字符:(1)大小寫的26個英文字母:a,b,cz,A,B,CZ(2)阿拉伯?dāng)?shù)字:0,1,29(3)下劃線:_2、數(shù)字不能開頭,大小寫意義不同(大小寫敏感),不能與系統(tǒng)保留字沖突。3、編程風(fēng)格:命名要有意義,“見名知意”,提高可讀性。(可用英文或拼音的縮寫,除第一個單詞外的第一個字母大寫分隔或使用下劃下分隔,一般不使用下劃線開頭,下劃線開頭的一般是系統(tǒng)保留使用的。)匈牙利命名法程序不只是寫給計算機(jī)看的,更是寫給人看的,并且要注意需要重用或被修改若干次,只需要運(yùn)行一次的程序是沒有什么意義的。,2.2C語言的數(shù)據(jù)類型,一、定義:數(shù)據(jù)類型:取值的集合與該集合上可進(jìn)行的運(yùn)算的集合。C語言提供了豐富的數(shù)據(jù)類型如下,并有修飾符:long,short,signed,unsigned。,2.2C語言的數(shù)據(jù)類型,二、TurboC上的實(shí)現(xiàn)不同的實(shí)現(xiàn)對應(yīng)的數(shù)據(jù)類型的長度不同,可在程序中使用sizeof()操作符來獲取實(shí)際的值。代碼如下:printf(“Thesizeofintis:%dbytes,/themaxvalueis:%d,/theminvalueis:%d”,sizeof(int),MAX_INT,MIN_INT);C:TCTC.EXE,2.2C語言的數(shù)據(jù)類型,二、程序的運(yùn)行結(jié)果,2.3常量,一、定義在程序運(yùn)行過程中不能被改變的量(數(shù)據(jù)),在內(nèi)存中一般不分配空間。按有無名字可以分為:有名常量即符號常量,無名常量即立即數(shù)常量;按常量的數(shù)據(jù)類型還可以分為不同類別。二、符號常量的定義:(標(biāo)識符一般使用大寫字母)#define常量標(biāo)識符常量的值使用const修飾變量說明三、幾種字面常量介紹:1、整型:10進(jìn)制,0 x,022,后綴可用ULul2、浮點(diǎn)型:帶小數(shù)點(diǎn)的小數(shù),不加后綴為double型,fl,2.3常量,3、字符型:(本質(zhì)是ASCII編碼)用單引號括起來的任何字符,可以使用轉(zhuǎn)義符表示。1、2、ddd8進(jìn)制位模式3、xhh16進(jìn)制位模式4、常用轉(zhuǎn)義符abfnrtv?”0,2.3常量,4、字符串型:用雙引號括起來的一串任何字符”“szStringprintf(“Hello,”“world.n”);printf(“Hello,world.n”);,H,e,l,l,o,w,o,r,l,d,.,n,0,2.3常量,4、字符串型:用空格分隔多個字符串常量編譯時可以連接一個,便于長字符串分行或者分文件。字符串可以認(rèn)為是字符數(shù)組,但末尾有一個結(jié)束標(biāo)記。字符串型常量是唯一在運(yùn)行時內(nèi)存中占有存儲空間的常量。(一般常量表達(dá)式只存在于編譯前,在編譯時求值為字面常量,運(yùn)行時不占用內(nèi)存空間),2.4變量,一、概念:運(yùn)行時分配有內(nèi)存空間并可以改變的量。通過變量名來按名實(shí)現(xiàn)對內(nèi)存空間的存取。二、3要素:變量名、變量地址、變量的值。intyear;year=2011;,2011,0100H,year,2.4變量,三、變量的定義(聲明)與初始化:存儲類型數(shù)據(jù)類型變量表;intlower,upper,step;/*便于修改和添加注釋*/intlower;intupper;intstep;存儲類型:auto默認(rèn)registerstatic,2.4變量,三、變量的定義(聲明)與初始化:2、初始化:聲明同時用“=”初始化(顯式)自動類型不初始化,值為無意義的未知的值外部變量與靜態(tài)變量初始化為0顯式初始化任何變量都可以使用const來限定,此時變量即變成了有名有類型的常量量了,2.5運(yùn)算符與表達(dá)式,一、運(yùn)算符數(shù)據(jù)類型在值的集合可以進(jìn)行的操作的集合叫運(yùn)算。用C語言的符號表示的可以在某數(shù)據(jù)類型的常量或變量間進(jìn)行的運(yùn)算。(1)算術(shù)運(yùn)算符+-*/%+-(2)關(guān)系運(yùn)算符>>=>|&(5)賦值運(yùn)算符=復(fù)合賦值運(yùn)算符(6)條件運(yùn)算符?:(7)逗號運(yùn)算符,(8)指針運(yùn)算符*&(9)求字節(jié)數(shù)運(yùn)算符sizeof(10)強(qiáng)制類型轉(zhuǎn)換運(yùn)算符(類型)(11)分量運(yùn)算符.(12)下標(biāo)運(yùn)算符(13)其他如函數(shù)調(diào)用運(yùn)算符(),2.6小結(jié)(1),1、C語言標(biāo)識符的構(gòu)成規(guī)則(1)必須由字母或下劃線開頭;(2)后面可以跟任意的字母、數(shù)字或下劃線;(3)大小寫不同(敏感)。2、C語言的數(shù)據(jù)類型有:(1)基本數(shù)據(jù)類型:int,float(double),char,enum.(2)構(gòu)造數(shù)據(jù)類型:數(shù)組、結(jié)構(gòu)體、共用體、文件(3)指針類型:(4)空類型:void,2.6小結(jié)(2),3、常量:在程序運(yùn)行過程中值不能被改變的量(數(shù)據(jù))。按有無名字分為:(1)符號常量:相當(dāng)于不能改變值的變量便于修改和翻譯問題域的不變量,是良好的程序設(shè)計風(fēng)格。常量一般使用大寫的字母來命名。#define大寫的常量名數(shù)值(2)字面常量(立即數(shù))也可以按數(shù)據(jù)類型分類:,2.6小結(jié)(3),4、變量:在程序運(yùn)行過程中值可以被改變的量(數(shù)據(jù))。是對內(nèi)存中一塊區(qū)域的按名存取及解析。變量要先聲明/定義,一般要再初始化,然后再使用。(特別是對指針變量)全局變量(外部變量):定義在函數(shù)之外的變量。存儲類型數(shù)據(jù)類型變量名;盡量每行只聲名(定義)一個變量,2.6小結(jié)(4),5、豐富的運(yùn)算符:(1)算術(shù)運(yùn)算符;+-*/(9)求字節(jié)數(shù)運(yùn)算符:sizeof()(2)關(guān)系運(yùn)算符:><=!=(10)強(qiáng)制類型轉(zhuǎn)換:()(3)邏輯運(yùn)算符:&&|!(11)分量運(yùn)算符:.(4)位運(yùn)算符:&|(12)下標(biāo)運(yùn)算符:(5)賦值運(yùn)算符:=(13)括號運(yùn)算符:()(6)條件運(yùn)算符:?:(7)逗號運(yùn)算符:,(8)指針運(yùn)算符:*,2.6小結(jié)(5),6、表達(dá)式:按特定的意義用運(yùn)算符將數(shù)據(jù)(常量、變量、函數(shù))連接起來,符合C語言的語法的式子7、運(yùn)算符的優(yōu)先級:8、混合運(yùn)算時的數(shù)據(jù)類型轉(zhuǎn)換:,2.7練習(xí)、作業(yè)及實(shí)驗(yàn)(1),一、練習(xí)書后練習(xí)二、作業(yè)0、簡述C語言標(biāo)識的作用及其中的思想。1、簡述數(shù)據(jù)類型的概念。2、簡述常量的概念及分類,并說明如何說明符號常量。3、C語言變量的聲明及其值的初始化。,2.7練習(xí)、作業(yè)及實(shí)驗(yàn)(2),三、實(shí)驗(yàn)1、目的:(1)同實(shí)驗(yàn)1目的;(2)理解常量、變量及表達(dá)式;(3)掌握常量、變量的定義及使用。2、任務(wù):教材上第2章中出現(xiàn)的所有程序。,