wyz數(shù)據(jù)類型和表達(dá)式xin(第二章).ppt
第二章數(shù)據(jù)類型和表達(dá)式,2.1詞法構(gòu)成2.2數(shù)據(jù)類型2.3常量與變量2.4指針類型2.5運(yùn)算符和表達(dá)式,要求:掌握變量和常量的概念;理解各種類型的數(shù)據(jù)在內(nèi)存中的存放形式;掌握各種類型數(shù)據(jù)的常量的使用方法;掌握各種整型、字符型、浮點(diǎn)型變量的定義和引用方法;,學(xué)習(xí)的意義,學(xué)習(xí)最終目的是:用C語言編寫程序來解決實(shí)際問題。,程序是解決某種問題的一組指令的有序集合。著名計(jì)算機(jī)科學(xué)家沃思(NikiklausWirth)提出一個(gè)公式:程序=數(shù)據(jù)結(jié)構(gòu)+算法,對(duì)數(shù)據(jù)的描述。在C語言中,體現(xiàn)為數(shù)據(jù)類型的描述!,對(duì)數(shù)據(jù)處理的描述。是為解決一個(gè)問題而采取的方法和步驟,是程序的靈魂!,結(jié)論:學(xué)好C語言首先就必須十分了解C語言的數(shù)據(jù)類型、與算符與表達(dá)式。,程序:,1、字符集:字符集的一個(gè)子集構(gòu)成語言中的標(biāo)識(shí)符、關(guān)鍵字、運(yùn)算符等。(P24字符集),2.1C語言詞法構(gòu)成,C語言使用的基本符號(hào)可分四大類,歸納如下:英文字母大小寫各26個(gè),共計(jì)52個(gè)阿拉伯?dāng)?shù):(0-9)共10個(gè)數(shù)字下劃線:_和#標(biāo)點(diǎn)符號(hào)和運(yùn)算符:算術(shù)運(yùn)算符:+-*/%+-關(guān)系運(yùn)算符:>=!=結(jié)合方向:自左向右,關(guān)系表達(dá)式,P47eg,表達(dá)式的值,關(guān)系成立,即為真,結(jié)果為1;,關(guān)系不成立,即為假,結(jié)果為0;,eginta=3,b=2,c=1,d,f;a>b(a>b)=cb+cbf=a>b>c,1如果兩個(gè)操作數(shù)是數(shù)值型,按其大小比較。2如果兩個(gè)操作數(shù)是字符型,按ASCII碼值比較。3關(guān)系運(yùn)算符的優(yōu)先級(jí)低于算術(shù)運(yùn)算符,注意,邏輯運(yùn)算符種類:則a的值將是2,而不是2.5。這種自動(dòng)改變等號(hào)右邊表達(dá)式值的數(shù)據(jù)類型的操作稱為數(shù)據(jù)類型的自動(dòng)轉(zhuǎn)換。,自動(dòng)轉(zhuǎn)換,對(duì)于二元運(yùn)算符,當(dāng)兩個(gè)操作數(shù)類型不一致時(shí),在操作之前,“較低”類型的操作數(shù)會(huì)自動(dòng)轉(zhuǎn)換為“較高”類型。級(jí)別的高低次序?yàn)椋篶har<int<long<float<double,int,unsignedint,longint,double,float,char,short,存儲(chǔ)長度較短,存儲(chǔ)長度較長,總趨勢:,用圖來表示:,轉(zhuǎn)換規(guī)則,強(qiáng)制轉(zhuǎn)換,通過類型轉(zhuǎn)換運(yùn)算來實(shí)現(xiàn)的。其一般形式為:,功能:把表達(dá)式的運(yùn)算結(jié)果強(qiáng)制轉(zhuǎn)換成類型說明符所表示的類型。,例:floatx=3.5,y=2.1,z;inta;a=(int)(x+y);/結(jié)果為5z=(int)x+y;/結(jié)果為5.100000z=(double)(3/2);/結(jié)果為1.000000a=(int)3.6;/結(jié)果為3,精度損失問題,強(qiáng)制類型轉(zhuǎn)換符,(類型說明符)(表達(dá)式),注意:,無論是強(qiáng)制轉(zhuǎn)換或是自動(dòng)轉(zhuǎn)換,都不改變數(shù)據(jù)說明時(shí)對(duì)該變量定義的類型。,例如,(double)a只是將變量a的值轉(zhuǎn)換成一個(gè)double型的中間量,其數(shù)據(jù)類型并未轉(zhuǎn)換成double型。,例如:把(int)(x+y)寫成(int)x+y則成了把x轉(zhuǎn)換成int型之后再與y相加了。,類型說明符和表達(dá)式都必須加括號(hào)(單個(gè)變量可以不加號(hào))。,