基本數據類型和表達式.ppt
《基本數據類型和表達式.ppt》由會員分享,可在線閱讀,更多相關《基本數據類型和表達式.ppt(43頁珍藏版)》請在裝配圖網上搜索。
第3章基本數據類型和表達式,在第二章中,我們從總體上介紹了一個C程序的基本結構,使讀者對C程序有了大概的了解。本章將詳細介紹C語言程序中使用的基本語法單位、數據類型、運算符和表達式。,3.1基本語法單位,任何一種語言都會根據自身的特點規(guī)定它自己特定的一套基本符號。例如,英語的基本符號是26個英文字母和一些標點符號。C語言作為一種程序設計語言,也有它的基本符號,程序就是由這些基本符號組成的。,3.1.1基本符號,程序中要對各種變量和各種函數起名,這些變量名、函數名都是由語言的基本符號組成的。C的基本符號包括:(1)數字10個(0~9);(2)英文字母大小寫各26個(A~Z,a~z);(3)特殊符號,主要用來表示運算符,它通常是由1~2個特殊符號組成。包括:+—*/%>===!=這里的type必須是有效的C數據類型,variable_list(變量表)可以由一個或多個由逗號分隔的多個標識符名構成。例如:inti,j,l;//定義三個整型變量i,j,l,3.3.2變量,1.整型變量main(){inta,b,c,d;/*指定a,b,c,d為整型變量*/unsignedu;/*指定u為無符號整型變量*/a=22;b=-11;u=5;c=a+u;d=b+u;printf("a+u=%d,b+u=%d\n”,c,d);}運行結果為:a+u=27,b+u=-6可以看到不同類型的整型數據可以進行算術運算。在本例中是int型數據與unsingnedint型數據進行相加減運算。,2.實型變量實型變量分為單精度(float型)和雙精度(double型)。如:floatx,y;/*指定x,y為單精度實數*/doublez;/*指定z為雙精度實數*/在一般系統(tǒng)中,一個float型數據在內存中占4個字節(jié)(32位),一個double型數據占8個字節(jié)(64位)。單精度實數提供7位有效數字,雙精度提供15~16位有效數字,數值的范圍隨機器系統(tǒng)而異。值得注意的是,實型常量是double型,當把一個實型常量賦給一個float型變量時,系統(tǒng)會截取相應的有效位數。,3.字符變量字符變量用來存放字符變量,注意只能存放一個字符,不要以為在一個字符變量中可以放字符串。字符變量的定義形式如下:charc1,c2;它表示c1和c2為字符變量,各放一個字符。因此可以用下面語句對c1、c2賦值:c1=a;c2=b;,3.3.3變量的初始化,變量的初始化是指在定義變量的同時,給變量賦以初值,使某些變量在程序開始執(zhí)行時就具有確定的值。其形式為:=;例如:charc=’A’,ky=‘K’;/*字符型變量c、ky初值分別為’A’、’K’*/intj,i=1;/*整型變量i初值為1,j沒有賦初值*/floatsum=3.56;/*單精度變量sum初值為3.56*/如果對幾個變量賦以相同的初值,不能寫成:inta=b=c=3;而應寫成:inta=3,b=3,c=3;,3.4表達式和運算符,表達式是由操作數和運算符組成,運算結果產生一個確定的值。操作數可以是常量、變量、函數和表達式,每個操作數都具有一種數據類型,通過運算得到的結果也具有一種數據類型,結果的數據類型與操作數的數據類型可能相同,也可能不相同。運算符指出了表達式中的操作數如何運算。C語言中,共有44種運算符,根據各運算符在表達式中的作用,表達式大致可以分成:算術表達式、關系表達式、邏輯表達式、條件表達式、賦值表達式和逗號表達式等。,3.4.1算術運算符,表3.4算術運算符下面是算術運算符的優(yōu)先級:最高++、---(單目運算符取負號)*、/、%最低+、-,當“/”被用于整數或字符時,結果取整。模運算取整數除法的余數,所以“%”不能用于float和double類型。自增或自減運算符在操作數之前(++x,--x),C語言在引用操作數之前就先執(zhí)行加1或減1操作;運算符在操作數之后(x++,x--),C語言就先引用操作數的值,而后再進行加1或減1操作。編譯程序對同級運算符按從左到右的順序進行計算。而++和--的結合方向是“自右向左”。如-i++,它相當于:-(i++)。,注:,3.4.2賦值運算符,賦值運算符分簡單的賦值運算符和復合的賦值運算兩種。簡單的賦值運算的一般形式是:其中,“=”號是賦值運算符。其作用是將一個表達式的值賦給一個變量,同時該值作為賦值表達式的結果。例如:▲a=b=c=d=0;相當于:a=(b=(c=(d=0)));▲floatf;f=23;/*先將23轉換成23.00000,再存儲在f中*/▲inti;i=3.56;/*變量i的值為3*/,=,在簡單賦值運算符“=”之前加上其他運算符,就構成了復合賦值運算符。(1)復合運算符相當于兩個運算符的結合。例如:a+=b相當于a=a+b,但并不等價。(2)在復合賦值運算中,對于賦值號右邊是復雜的表達式時,例如:x*=y+10–z相當于x=x*(y+10–z)而不是x=x*y+10–z,即將右端表達式看作一個整體和x進行有關運算。用賦值運算符將一個變量和一個表達式連接起來的式子稱為“賦值表達式”。它的一般形式為:賦值表達式也可以包含復合的賦值運算符。例:設a的初值為8,表達式:a+=a-=a*a也是一個賦值表達式,根據優(yōu)先級和結合性,此賦值表達式的求解過程為:?。┫冗M行“a-=a*a”的運算,它相當于a=a–a*a=8–8*8=-56;ⅱ)再進行“a+=-56”,的運算,相當于a=a+(-56)=-56–56=-112。,,3.4.3關系運算符,關系運算是邏輯運算中比較簡單的一種。所謂“關系運算”實際上是“比較運算”。將兩個值進行比較,判斷比較的結果是否符合給定的條件。例如,a>3是一個關系表達式,大于號“>”是一個關系運算符,如果a的值為5,則滿足給定的條件“a>3”,因此該表達式的值為“真”(即“條件滿足”);如果a的值為2,不滿足“a>3”條件,則稱關系表達式的值為“假”。C語言提供6種關系運算符,見表3.5。,3.4.3關系運算符,表3.5關系運算符說明:①參加比較的數據可以是字符型、整型和浮點型數據。②前4種關系運算符(、>=)的優(yōu)先級相同,后兩種優(yōu)先級相同。前四種高于后兩種。例如:“>”優(yōu)先于“==”。而“>”與“3”(因為關系運算符優(yōu)先于&&)。在關系運算符兩側的5和3作為數值參加關系運算,“5>3”的值為1,在進行“1&&2”的運算,此時1和2均是邏輯運算的對象,均作為“真”處理,因此結果為1。再往下進行“1||8<4-!0”的運算。根據優(yōu)先次序,先進行“!0”運算,結果為1,因此,要運算的表達式變成:“1||8<4-1”,即“1||8<3”,關系運算符“<”兩側的8和3作為數值參加比較,“83&&2||8<4-!0,3.4.5位運算符,位運算是指按二進制進行的運算。在系統(tǒng)軟件中,常常需要處理二進制位的問題。C語言提供了6個位操作運算符。這些運算符只能用于整型操作數,即只能用于帶符號或無符號的char,short,int與long類型。表3.8為C語言提供的位運算符列表:表3.8位運算符表,3.4.6逗號運算符,C語言提供一種特殊的運算符一逗號運算符。用逗號將若干個表達式連接起來。如:3+5,6+8,稱為逗號表達式。逗號表達式的一般形式為:逗號表達式的求解過程是:先求解表達式1,再求解表達式2,直到求解完表達式n,最后一個逗號表達式的值是整個逗號表達式的值。逗號運算符又稱為“順序求解運算符”。逗號運算符是所有運算符中級別最低的。因此,下面兩個表達式的作用是不同:①x=(a=3,6*3)②x=a=3,6*3表達式①是一個賦值表達式,將一個逗號表達式的值賦給x,x的值為18。表達式②相當于“x=(a=3),6*3”,是一個逗號表達式,它包括一個賦值表達式和一個算術表達式,x的值為3。,,,,…,3.4.7條件運算符,C語言提供了一個可以代替某些條件語句的條件運算符。條件運算符要求有三個操作對象,稱三目運算符,它是C語言中唯一的一個三目運算符。條件表達式的一般形式為:說明:(1)條件運算符的執(zhí)行順序:先求解表達式1,若為非0(真)則求解表達式2,此時表達式2的值就作為整個條件表達式的值。若表達式1的值為0(假),則求解表達式3,表達式3的值就是整個條件表達式的值。(2)條件運算符優(yōu)先于賦值運算符(3)條件運算符的結合方向為“自右至左”。(4)通常用條件表達式取代簡單的條件語句,表達式1?表達式2:表達式3,Operatorprecedenceandassociativity,3.5各類數值型數據間的混合運算,在C語言中,允許不同類型的數據之間進行某些混合運算,如整型、單精度型、雙精度型、字符型數據之間進行混合運算。,例:假設i為int型,f為float型變量。運算表達式:10+‘a’+i*f,運算次序依次為:1)進行10+‘a’的運算,‘a’自動轉換成整型97,然后執(zhí)行相加,結果為整型值107。2)進行i*f的運算,首先f自動轉換成面double型,然后把int型的i轉換成double型,兩個double型數據進行算術乘,結果是double型。3)整型值107與i*f的積相加。由于i*f的值是double型,先將整型數107轉換成double型,然后再相加,結果為double型。,圖3.2數據類型轉換,- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- 基本 數據類型 表達式
裝配圖網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
鏈接地址:http://www.3dchina-expo.com/p-11497507.html