C語言程序設(shè)計-第2章課件_第1頁
C語言程序設(shè)計-第2章課件_第2頁
C語言程序設(shè)計-第2章課件_第3頁
C語言程序設(shè)計-第2章課件_第4頁
C語言程序設(shè)計-第2章課件_第5頁
已閱讀5頁,還剩53頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、網(wǎng)絡(luò)信息中心教研室網(wǎng)絡(luò)信息中心教研室 第第 2 2 章章 數(shù)據(jù)類型、運(yùn)算符與表達(dá)式數(shù)據(jù)類型、運(yùn)算符與表達(dá)式大學(xué)計算機(jī)基礎(chǔ)C語言程序設(shè)計-第2章2主要內(nèi)容主要內(nèi)容 2.2 標(biāo)識符 2.3 常 量 2.4 變 量 2.5 數(shù)據(jù)間的混合運(yùn)算 2.6 變量賦初值 2.1 C語言的數(shù)據(jù)類型 2.7 運(yùn)算符和表達(dá)式 大學(xué)計算機(jī)基礎(chǔ)C語言程序設(shè)計-第2章31.5 C語言的運(yùn)行與調(diào)試語言的運(yùn)行與調(diào)試C語言的數(shù)據(jù)類型語言的數(shù)據(jù)類型 基本數(shù)據(jù)類型在兩種環(huán)境下的表示基本數(shù)據(jù)類型在兩種環(huán)境下的表示大學(xué)計算機(jī)基礎(chǔ)C語言程序設(shè)計-第2章4v一個程序應(yīng)包含兩個方面,即數(shù)據(jù)結(jié)構(gòu)和算法:(1) 為了方便對程序中的數(shù)據(jù)進(jìn)行存儲和

2、運(yùn)算,每個數(shù)據(jù)都要有指定的數(shù)據(jù)類型和組織形式,叫做數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)類型是按被定義變量的性質(zhì)、表示形式、占據(jù)存儲空間及構(gòu)造特點進(jìn)行劃分,不同類型數(shù)據(jù)的數(shù)據(jù)表示形式、取值范圍、占用內(nèi)存空間的大小及可參與的運(yùn)算種類也不同;(2) 算法是指對操作的描述,一般會給出解決問題的操作步驟。2.1 C語言的數(shù)據(jù)類型語言的數(shù)據(jù)類型大學(xué)計算機(jī)基礎(chǔ)C語言程序設(shè)計-第2章52.1.1 基本數(shù)據(jù)類型簡介基本數(shù)據(jù)類型簡介v基本數(shù)據(jù)類型基本數(shù)據(jù)類型 C語言中,數(shù)據(jù)類型可分為:基本類型、構(gòu)造類型、指針類型和空類型4大類,如下圖2-1所示??疹愋?構(gòu)造類型數(shù)組類型結(jié)構(gòu)體類型共用體類型整型基本類型字符型實型(浮點型)枚舉類型單精度

3、型雙精度型指針類型數(shù)據(jù)類型大學(xué)計算機(jī)基礎(chǔ)C語言程序設(shè)計-第2章6v標(biāo)識符 除了常量的直接使用方式以外,其它方式均要求這些數(shù)據(jù)有一個名字與之匹配,這個名字就是標(biāo)識符。 C語言中,變量名、符號常量、函數(shù)名、數(shù)組名、類型名、文件名等字符序列稱為標(biāo)識符。v可用于標(biāo)識符的字符集 C語言規(guī)定標(biāo)識符只能由字母、數(shù)字和下畫線3種字符組成,且第1個字符不允許為數(shù)字. 2.2 標(biāo)識符標(biāo)識符大學(xué)計算機(jī)基礎(chǔ)C語言程序設(shè)計-第2章72.2 標(biāo)識符標(biāo)識符可用于標(biāo)識符的字符集可用于標(biāo)識符的字符集 可用于標(biāo)識符的字符集可用于標(biāo)識符的字符集 標(biāo)識符的分類標(biāo)識符的分類大學(xué)計算機(jī)基礎(chǔ)C語言程序設(shè)計-第2章82.2.1 C語言的字符

4、集語言的字符集C語言的字符集分以下幾類語言的字符集分以下幾類。v 英文大寫或小寫字母:AZ,az;v 數(shù)字:1、2、3、9v 特殊符號:+、-、*、/、%、=、_、!、(、)、#、$、&、”、|、.、?、等;v 轉(zhuǎn)義字符:n、t、v、b、r、f、0、”、ddd、xhh等。大學(xué)計算機(jī)基礎(chǔ)C語言程序設(shè)計-第2章92.2.2 標(biāo)識符的分類標(biāo)識符的分類v標(biāo)識符可分如下幾類: 關(guān)鍵字亦稱保留字,關(guān)鍵字在C語言中有特定的含義,用戶在使用自定義的常量名、變量名、函數(shù)名、類型名、文件名時,要絕對避免使用關(guān)鍵字,C語言中的保留字32個,保留字用小寫字母表示,大寫的可以由用戶自由使用,盡量不用,以免與系統(tǒng)

5、保留字混淆. 關(guān)鍵字關(guān)鍵字1大學(xué)計算機(jī)基礎(chǔ)C語言程序設(shè)計-第2章102.2 標(biāo)識符標(biāo)識符描述數(shù)據(jù)類型定義的有:typedef、void;描述存儲類型的有:auto、extern、register、static、volatile;描述數(shù)據(jù)類型的有:char、int、float、double、long、short、signed、struct、union、unsigned、const、enum;描述語句:break、case、continue、default、if、else、switch、for、do、while、return、sizeof、goto。大學(xué)計算機(jī)基礎(chǔ)C語言程序設(shè)計-第2章112.2

6、標(biāo)識符標(biāo)識符 預(yù)定義標(biāo)識符包括C語言中提供的一些庫函數(shù)的名字(如printf,scanf,getchar,putchar等)和編譯預(yù)處理命令(define include等),建議用戶在自定義常、變量時,也要避免與這些標(biāo)識符沖突。 用戶在程序設(shè)計過程中,會經(jīng)常用到常量、變量、自定義函數(shù)、文件名、類型名等 ,這些要用戶定義。預(yù)定義標(biāo)識符預(yù)定義標(biāo)識符2用戶定義標(biāo)識符用戶定義標(biāo)識符3大學(xué)計算機(jī)基礎(chǔ)C語言程序設(shè)計-第2章122.2 標(biāo)識符標(biāo)識符下面給出一些合法的標(biāo)識符: sum,average,_total,temp,a_1,char1,Max,min下面這些是不合法的標(biāo)識符: 1a,$total,a

7、,a.next 在使用標(biāo)識符的時候盡量采取“見名識義、常用從簡”的原則,保證變量具有可讀性,又不要讓變量名過長。 大學(xué)計算機(jī)基礎(chǔ)C語言程序設(shè)計-第2章13v 常量常量 程序執(zhí)行過程中,其值不能被改變的量稱為常量,C語言中出現(xiàn)的常量有如下類型:整型常量、實型常量、字符常量、字符串常量等。2.3 常量常量大學(xué)計算機(jī)基礎(chǔ)C語言程序設(shè)計-第2章142.3 常量常量整型常量整型常量 實型常量實型常量 字符常量字符常量 字符串常量字符串常量 符號常量與預(yù)處理簡介符號常量與預(yù)處理簡介 大學(xué)計算機(jī)基礎(chǔ)C語言程序設(shè)計-第2章152.3.1 整型常量整型常量2.3.1 整型常量整型常量整型常量在C語言中又分: 十

8、進(jìn)制整數(shù) 八進(jìn)制整數(shù) 十六進(jìn)制整數(shù) 十進(jìn)制整數(shù)以人們通常習(xí)慣的十進(jìn)制整數(shù)形式給出. 八進(jìn)制整數(shù)必須以0開頭,其數(shù)碼取值范圍為07. 以下是合法的八進(jìn)制數(shù): 012(對應(yīng)十進(jìn)制整數(shù)10),-012(對應(yīng)十進(jìn)制數(shù)-10),0177777(對應(yīng)十進(jìn)制數(shù)65535),0177777(對應(yīng)十進(jìn)制數(shù)-65535)。十進(jìn)制整數(shù)十進(jìn)制整數(shù)1八進(jìn)制整數(shù)八進(jìn)制整數(shù)2大學(xué)計算機(jī)基礎(chǔ)C語言程序設(shè)計-第2章162.3 常量常量以下是不合法的八進(jìn)制整數(shù): 255(無前綴0),03A2(包含非法數(shù)碼)【例例2-1】輸出八進(jìn)制數(shù)。#include/*在在visual C+6.0 下調(diào)試通過下調(diào)試通過*/main() int

9、x,y;x=012;y=-0177777;printf(x=%d,y=%dn,x,y);大學(xué)計算機(jī)基礎(chǔ)C語言程序設(shè)計-第2章172.3 常量常量 十六進(jìn)制整數(shù)的前綴為十六進(jìn)制整數(shù)的前綴為0 x或或0X,其數(shù)碼取值,其數(shù)碼取值范圍為范圍為09,AF,af。 以下是合法的十六進(jìn)制整數(shù): 0X12(十進(jìn)制數(shù)18),-0 x12(十進(jìn)制數(shù)-18),0XA1,0Xffff(十進(jìn)制數(shù)為65535)以下各數(shù)不是合法的十六進(jìn)制整數(shù): 6B(無前綴0 x),0 x5H(含有非法數(shù)碼H)在整型數(shù)據(jù)的后邊加上后綴“L”或“l(fā)”(小寫字母l)來表示的該數(shù)據(jù)是一個長整型的數(shù)據(jù)。例如:589L十進(jìn)制012L八進(jìn)制 0X1

10、7L十六進(jìn)制 十六進(jìn)制整數(shù)十六進(jìn)制整數(shù)3大學(xué)計算機(jī)基礎(chǔ)C語言程序設(shè)計-第2章182.3.2 實型常量 實型常量也稱為浮點型。有兩種形式:十進(jìn)制小數(shù)形式和指數(shù)形式。十進(jìn)制小數(shù)形式:由數(shù)碼09和小數(shù)點組成。如下均為合法的實數(shù):0.12,1.23,-2.5145,125.0指數(shù)形式:,由十進(jìn)制數(shù),加上階碼標(biāo)志“e”或“E”及階碼(只能為整數(shù),可以帶符號)組成。 如:指數(shù)值如:指數(shù)值1.2E6等于1.21065.21E-2等于5.2110-20.91E8等于0.91108-1.8E-9等于-1.810-9大學(xué)計算機(jī)基礎(chǔ)C語言程序設(shè)計-第2章192.3.3 字符常量字符常量 字符常量是用西文半角單引號括

11、起來的一個字符。在C語言中,字符常量有以下特點:(1) 字符常量只能用單引號“”括起來,不能用雙引號或括號。(2) 字符常量只能是單個字符,不能是字符串。(3) 字符可以是字符集中任意字符,但數(shù)字被定義為字符型之后就不能參與數(shù)值運(yùn)算。 大學(xué)計算機(jī)基礎(chǔ)C語言程序設(shè)計-第2章202.3.3 字符常量字符常量 除了以上形式的字符常量外,C語言還允許使用一種特殊形式的字符常量,即轉(zhuǎn)義字符,它以一個反斜線“”開頭,后跟一個或幾個字符的字符序列 。轉(zhuǎn)義字符轉(zhuǎn)義字符 轉(zhuǎn)義字符轉(zhuǎn)義字符的意義的意義 ASCII代碼代碼 n 換行換行 10t水平制表水平制表 9b退格退格 8r回車回車 13f換頁換頁 12反斜線

12、符反斜線符 92單引號符單引號符 39”雙引號符雙引號符 34ddd13位八進(jìn)位八進(jìn)制數(shù)制數(shù)xhh12位十六位十六進(jìn)制數(shù)進(jìn)制數(shù)大學(xué)計算機(jī)基礎(chǔ)C語言程序設(shè)計-第2章212.3.3 字符常量字符常量【例例2-2】輸出轉(zhuǎn)義字符?!境绦蚍治雠c解答程序分析與解答】#include /*visual C+ 6.0 */main()printf(abctderftgn);printf(1234567812345678n);/*參照物*/printf (htibbjk);printf(1234567812345678n);/*參照物*/輸出結(jié)果為:fgde1234567812345678hjk12345678

13、12345678Press any key to continue大學(xué)計算機(jī)基礎(chǔ)C語言程序設(shè)計-第2章222.3.4 字符串常量 字符串常量是由一對雙引號括起的字符序列。例如,“211 Project”,“Chinese”,“college”等都是合法的字符串常量。 字符串常量和字符常量的數(shù)據(jù)結(jié)構(gòu)不同,其主要區(qū)別如下:(1) 字符常量由單引號括起來,字符串常量由雙引號 括起來;(2) 字符常量只能是單個字符,字符串常量含一個或多個字符。 大學(xué)計算機(jī)基礎(chǔ)C語言程序設(shè)計-第2章232.3.4 字符串常量字符串常量C在內(nèi)存中占一個字節(jié),表示為:“C”在內(nèi)存中占兩個字節(jié),表示為: 可以把一個字符常量賦

14、予一個字符變量,但是不能把一個字符串常量賦予一個字符量。 字符串常量占的內(nèi)存字節(jié)數(shù)等于字符串半角字符數(shù)加1,因為在增加的一個字節(jié)中存放字符“0”(ASCII碼值為0),這是字符串結(jié)束的標(biāo)志。 CC0大學(xué)計算機(jī)基礎(chǔ)C語言程序設(shè)計-第2章242.3.5 符號常量與預(yù)處理符號常量與預(yù)處理 在C語言中,可以用一個標(biāo)識符來表示一個常量,稱為符號常量。符號常量在使用之前必須先定義,其一般形式為:#define 標(biāo)識符標(biāo)識符 常量常量 其中,#include也是一條預(yù)處理命令(預(yù)處理命令都以“#”開頭),稱為宏定義命令,其功能是把該標(biāo)識符定義為常量。一經(jīng)定義,以后程序中所有的標(biāo)識符都代表該常量,如果要修改這

15、個常量,可以實現(xiàn)整個程序中“一改全改”。 經(jīng)常將符號常量的標(biāo)識符用大寫字母,變量標(biāo)識符用小寫字母,以示區(qū)別。 大學(xué)計算機(jī)基礎(chǔ)C語言程序設(shè)計-第2章252.4 變量變量整型變量整型變量 實型變量實型變量 字符變量字符變量 大學(xué)計算機(jī)基礎(chǔ)C語言程序設(shè)計-第2章26 變量是指在程序執(zhí)行過程中可以被改變和賦值的量。程序中每一個變量有一個符合C語言標(biāo)識符規(guī)范的名稱,在內(nèi)存中占據(jù)一定的存儲單元。變量的使用方法是先聲明(定義變量),后使用。 變量名與變量值是有區(qū)別的,變量的“名”是指變量所代表的存儲單元的標(biāo)志,而“值”是指存儲單元的內(nèi)容.例: 2.4 變量變量A _變量 變量值3大學(xué)計算機(jī)基礎(chǔ)C語言程序設(shè)計

16、-第2章272.4.1 整型變量整型變量 如: short int x; /*變量的聲明,定義整型變量*/ x=10; /*變量賦值*/ 01010 變量x在內(nèi)存中的地址是0 x0013ff70 數(shù)據(jù)在內(nèi)存中的二進(jìn)制存儲示意圖 (1) 基本型:類型說明符為int,在內(nèi)存中占4個字節(jié)。(2) 短整型:類型說明符為short int或short,占2個字節(jié)。(3) 長整型:類型說明符為long int或long,4個字節(jié)。(4) 無符號型:類型說明符為unsigned,。 無符號型又可與上述三種類型匹配而構(gòu)成,不能表示負(fù)數(shù): 整型數(shù)據(jù)在內(nèi)存中的存儲形式整型數(shù)據(jù)在內(nèi)存中的存儲形式 1整型變量的分類整

17、型變量的分類2大學(xué)計算機(jī)基礎(chǔ)C語言程序設(shè)計-第2章282.4.1 整型變量整型變量【例例2-3】測試當(dāng)前C編譯環(huán)境下數(shù)據(jù)類型占用的字節(jié)數(shù)?!境绦蚍治雠c解答程序分析與解答】#include main()printf(“int占%d字節(jié)。n”,sizeof(int);printf(“l(fā)ong int占%d字節(jié)。n”,sizeof(long int);printf(“short int占%d字節(jié)。n”,sizeof(short int);printf(“unsigned int占%d字節(jié)。n”,sizeof(unsigned int);printf(“unsigned long int占%d字節(jié)。n

18、”,sizeof(unsigned long int);printf(“unsigned short int占%d字節(jié)。n”,sizeof(unsigned short int);輸出結(jié)果為:int占4字節(jié)。long int占4字節(jié)。short int占2字節(jié)。unsigned int占4字節(jié)。unsigned long int占4字節(jié)。unsigned short int占2字節(jié)。大學(xué)計算機(jī)基礎(chǔ)C語言程序設(shè)計-第2章292.4.1 整型變量整型變量變量定義的一般形式為: 類型說明符 變量名標(biāo)識符1,變量名標(biāo)識符2,;例如:int x,y,z; /*x,y,z為整型變量*/long int n

19、,m;/*n,m為長整型變量,long int 可簡寫為long */unsigned int a,b; /*a,b為無符號整型變量,unsigned int 可簡寫為unsigned*/注意:(1)允許在一次定義相同 類型的多個變量 (2)最后一個變量名之 后必須以分號結(jié)尾。 整型變量的定義整型變量的定義3大學(xué)計算機(jī)基礎(chǔ)C語言程序設(shè)計-第2章302.4.2 實型變量實型變量 實型數(shù)據(jù)一般占用4個字節(jié)(32位)的內(nèi)存空間,按指數(shù)形式存儲。例如,實數(shù)12.345在內(nèi)存中的存儲形式如圖2-4所示: 圖2-4 實型數(shù)據(jù)的表示 +/-,用0,1表示(數(shù)符) 0.12345 +/-,用0,1表示(階符)

20、 2實型數(shù)據(jù)在內(nèi)存中的存放形式實型數(shù)據(jù)在內(nèi)存中的存放形式1大學(xué)計算機(jī)基礎(chǔ)C語言程序設(shè)計-第2章312.4.2 實型變量實型變量 實型變量分為單精度(float型),長單精度型(long float),雙精度(double型)和長雙精度(long double型)4類,其中float型占用4個字節(jié),其它數(shù)據(jù)類型均占用8個字節(jié)。 由于實型變量由有限的存儲單元組成,因此能提供的數(shù)字是有限的,而在有效位以外的數(shù)字將被舍去。這樣可能會產(chǎn)生一些誤差,例如,a+20的顯然就應(yīng)該比a大。請分析下面的程序。實型變量數(shù)據(jù)的分類實型變量數(shù)據(jù)的分類 2實型數(shù)據(jù)的舍入誤差實型數(shù)據(jù)的舍入誤差3大學(xué)計算機(jī)基礎(chǔ)C語言程序設(shè)計

21、-第2章322.4.2 實型變量實型變量【例2-4】實型數(shù)據(jù)的舍入誤差?!境绦蚍治雠c解答】#include main()float a,b;a=123456.789e5; /*12345678900*/b=a+20;printf(%fn,b);輸出結(jié)果為:12345678868.000000大學(xué)計算機(jī)基礎(chǔ)C語言程序設(shè)計-第2章332.4.3 字符變量字符變量 字符變量用來存儲字符常量,其說明符是char. 字符變量的賦值有如下方式:(1) 若ch_a是一個字符變量,ch=ch_a;(2) 將字符常量a賦值給ch,ch=a;(3) 將某個字符的ASCII碼賦給ch,ch=65,則ch的內(nèi) 容為A

22、,但由于整型變量在存儲上均超過1個字節(jié),如果將一個整型變量賦值給一個字符變量時,只會將其最低8個位賦值給ch。 而ch=A則是錯誤的. 如下字符變量的輸出形式: printf(%c,ch);(2) printf(%d,ch); (3) putchar(ch); 大學(xué)計算機(jī)基礎(chǔ)C語言程序設(shè)計-第2章342.5 數(shù)據(jù)間的混合運(yùn)算數(shù)據(jù)間的混合運(yùn)算各數(shù)據(jù)類型轉(zhuǎn)換規(guī)則各數(shù)據(jù)類型轉(zhuǎn)換規(guī)則 自動類型轉(zhuǎn)換與強(qiáng)制轉(zhuǎn)換自動類型轉(zhuǎn)換與強(qiáng)制轉(zhuǎn)換 大學(xué)計算機(jī)基礎(chǔ)C語言程序設(shè)計-第2章35v不同數(shù)據(jù)類型轉(zhuǎn)換規(guī)則不同數(shù)據(jù)類型轉(zhuǎn)換規(guī)則 整型、單精度型、雙精度型數(shù)據(jù)可以混合運(yùn)算。字符型數(shù)據(jù)可以與整型通用,因此,整型、實型(包括

23、單、雙精度)、字符型數(shù)據(jù)間可以混合運(yùn)算。在進(jìn)行運(yùn)算時,不同類型的數(shù)據(jù)要先轉(zhuǎn)換成同一類型, 然后進(jìn)行運(yùn)算。轉(zhuǎn)換的規(guī)則按圖所示 2.5.1 各數(shù)據(jù)類型轉(zhuǎn)換規(guī)則各數(shù)據(jù)類型轉(zhuǎn)換規(guī)則double float long unsigned int char, short大學(xué)計算機(jī)基礎(chǔ)C語言程序設(shè)計-第2章362.5.2 自動類型轉(zhuǎn)換與強(qiáng)制轉(zhuǎn)換自動類型轉(zhuǎn)換與強(qiáng)制轉(zhuǎn)換 變量的數(shù)據(jù)類型的轉(zhuǎn)換方法有兩種,一種是自動轉(zhuǎn)換,一種是強(qiáng)制轉(zhuǎn)換。 自動轉(zhuǎn)換遵循以下規(guī)則:v若參與運(yùn)算量的類型不同,則先轉(zhuǎn)換成同一類型,然后進(jìn)行運(yùn)算。v轉(zhuǎn)換按照數(shù)據(jù)長度增加的方向進(jìn)行,以保證運(yùn)算精度不降低。 v所有的浮點運(yùn)算都是以雙精度進(jìn)行的。vc

24、har型和short型運(yùn)算時,必須先轉(zhuǎn)換成int型。v賦值運(yùn)算中,賦值號兩邊的數(shù)據(jù)類型不同時,賦值號右邊量的類型將轉(zhuǎn)換為左邊量的類型。 自動類型轉(zhuǎn)換自動類型轉(zhuǎn)換1大學(xué)計算機(jī)基礎(chǔ)C語言程序設(shè)計-第2章372.5 數(shù)據(jù)間的混合運(yùn)算數(shù)據(jù)間的混合運(yùn)算其一般形式為:其一般形式為: (類型說明符)(表達(dá)式)例如: (float) a /*把a(bǔ)轉(zhuǎn)換為實型*/ (int)(x+y) /*把x+y的結(jié)果轉(zhuǎn)換為整型*/ 無論是強(qiáng)制轉(zhuǎn)換或是自動轉(zhuǎn)換,都只是為了本次運(yùn)算的需要而對變量的數(shù)據(jù)長度進(jìn)行的臨時性轉(zhuǎn)換,而不改變數(shù)據(jù)說明時對該變量定義的類型。 強(qiáng)制轉(zhuǎn)換強(qiáng)制轉(zhuǎn)換 2大學(xué)計算機(jī)基礎(chǔ)C語言程序設(shè)計-第2章382.5.

25、2 自動類型轉(zhuǎn)換與強(qiáng)制轉(zhuǎn)換自動類型轉(zhuǎn)換與強(qiáng)制轉(zhuǎn)換【例例2-5】數(shù)據(jù)類型的強(qiáng)制轉(zhuǎn)換?!境绦蚍治雠c解答程序分析與解答】#include main()float f=5.75;printf(int)f=%d,f=%fn,(int)f,f);輸出結(jié)果為:(int)f=5,f=5.750000大學(xué)計算機(jī)基礎(chǔ)C語言程序設(shè)計-第2章39v 變量預(yù)先設(shè)置初值可以有如下幾種情況:變量預(yù)先設(shè)置初值可以有如下幾種情況: (1)對各變量分別賦初值 int a=3; float pi=3.14159; char cha; (2)定義變量時對部分變量賦值 int a,b,c=5; (3)對幾個變量賦相同的初值 如:若對幾

26、個變量賦予初值3,應(yīng)寫成 int a=3,b=3,c3; 2.6 變量賦初值變量賦初值大學(xué)計算機(jī)基礎(chǔ)C語言程序設(shè)計-第2章402.6 變量賦初值變量賦初值強(qiáng)制類型轉(zhuǎn)換運(yùn)算符強(qiáng)制類型轉(zhuǎn)換運(yùn)算符 () 自增、自減運(yùn)算符自增、自減運(yùn)算符如: +i,-i (在變量i使用之前,先使i的值加(減)1) i+,i- (在變量i使用之后,使i的值加(減)1)使用自增、自減運(yùn)算符需要注意的若干問題:自增、自減運(yùn)算符需要注意的若干問題:v+或-運(yùn)算符,只能用于變量,而不能用于常量或表達(dá)式。v+和-的結(jié)合方向是“自右至左”。大學(xué)計算機(jī)基礎(chǔ)C語言程序設(shè)計-第2章412.7 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式C語言運(yùn)算符簡介

27、與表達(dá)式的類型語言運(yùn)算符簡介與表達(dá)式的類型 表達(dá)式的求值規(guī)則表達(dá)式的求值規(guī)則 算術(shù)運(yùn)算符和算術(shù)表達(dá)式算術(shù)運(yùn)算符和算術(shù)表達(dá)式 賦值運(yùn)算符和賦值表達(dá)式賦值運(yùn)算符和賦值表達(dá)式 逗號運(yùn)算符和逗號表達(dá)式逗號運(yùn)算符和逗號表達(dá)式 關(guān)系運(yùn)算符和關(guān)系表達(dá)式關(guān)系運(yùn)算符和關(guān)系表達(dá)式 邏輯運(yùn)算符和邏輯表達(dá)式邏輯運(yùn)算符和邏輯表達(dá)式 大學(xué)計算機(jī)基礎(chǔ)C語言程序設(shè)計-第2章42vC的運(yùn)算符有以下幾類:的運(yùn)算符有以下幾類:(1) 算術(shù)運(yùn)算符:+ - * / %(2) 關(guān)系運(yùn)算符: = = !=(3) 邏輯運(yùn)算符:! & |(4) 位運(yùn)算符: | &(5) 賦值運(yùn)算符:= (6) 條件運(yùn)算符: ? :(7) 逗號

28、運(yùn)算符:,vC語言表達(dá)式的類型語言表達(dá)式的類型 賦值表達(dá)式; 算術(shù)表達(dá)式; 關(guān)系表達(dá)式; 邏輯表達(dá)式; 條件表達(dá)式; 逗號表達(dá)式2.7.1 C語言運(yùn)算符與表達(dá)式的類型語言運(yùn)算符與表達(dá)式的類型大學(xué)計算機(jī)基礎(chǔ)C語言程序設(shè)計-第2章432.7.2 表達(dá)式的求值規(guī)則表達(dá)式的求值規(guī)則 這些運(yùn)算符在C語言中規(guī)定了優(yōu)先級和結(jié)合性,在求值時先按運(yùn)算符的優(yōu)先級別高低次序執(zhí)行,如果某個運(yùn)算對象左右兩側(cè)的運(yùn)算符的優(yōu)先級別相同,則按規(guī)定的“結(jié)合方向”處理,其中算術(shù)運(yùn)算符的結(jié)合方向為“自左至右”,而對于賦值運(yùn)算符則采用“自右至左”的結(jié)合方向。 有關(guān)運(yùn)算符的優(yōu)先級別和結(jié)合性參看附錄。 大學(xué)計算機(jī)基礎(chǔ)C語言程序設(shè)計-第2章

29、442.7.3 算術(shù)運(yùn)算符和算術(shù)表達(dá)式算術(shù)運(yùn)算符和算術(shù)表達(dá)式(1) + (加法運(yùn)算符,或正值運(yùn)算符。如3+5、+3)(2) - (減法運(yùn)算符,或負(fù)值運(yùn)算符。如5-2、-3)(3) * (乘法運(yùn)算符。如3*5)(4) / (除法運(yùn)算符。如5/3,5.0/3)(5) % (模運(yùn)算符,又稱求余運(yùn)算符,%兩側(cè)均 應(yīng)為整型數(shù)據(jù),如7%4的值為3)。 基本的算術(shù)運(yùn)算符基本的算術(shù)運(yùn)算符1大學(xué)計算機(jī)基礎(chǔ)C語言程序設(shè)計-第2章452.7.3 算術(shù)運(yùn)算符和算術(shù)表達(dá)式算術(shù)運(yùn)算符和算術(shù)表達(dá)式(8) 指針運(yùn)算符: * &(9) 求字節(jié)數(shù)運(yùn)算符: sizeof (10) 強(qiáng)制類型轉(zhuǎn)換運(yùn)算符: (類型)(11) 分

30、量運(yùn)算符:. -(12) 下標(biāo)運(yùn)算符:(13) 其他:如函數(shù)調(diào)用運(yùn)算符()大學(xué)計算機(jī)基礎(chǔ)C語言程序設(shè)計-第2章462.7.3 算術(shù)運(yùn)算符和算術(shù)表達(dá)式算術(shù)運(yùn)算符和算術(shù)表達(dá)式+i,-i (在變量i使用之前,先使i的值加(減)1)i+,i- (在變量i使用之后,使i的值加(減)1)使用自增、自減運(yùn)算符需要注意的若干問題:(1) +或-運(yùn)算符,只能用于變量,而不能用于常量或表達(dá)式。(2) +和-的結(jié)合方向是“自右至左”。 算術(shù)表達(dá)式和運(yùn)算符的優(yōu)先級與結(jié)合性算術(shù)表達(dá)式和運(yùn)算符的優(yōu)先級與結(jié)合性2強(qiáng)制類型轉(zhuǎn)換運(yùn)算符()強(qiáng)制類型轉(zhuǎn)換運(yùn)算符()3自增、自減運(yùn)算符自增、自減運(yùn)算符 4大學(xué)計算機(jī)基礎(chǔ)C語言程序設(shè)計-

31、第2章472.7.4 賦值運(yùn)算符和賦值表達(dá)式賦值運(yùn)算符和賦值表達(dá)式賦值符號“=”就是賦值運(yùn)算符 使用“=”連接的式子稱為賦值表達(dá)式,其一般形式為: 變量變量=常量、變量或表達(dá)式常量、變量或表達(dá)式賦值運(yùn)算符具有右結(jié)合性。如:a=b=c=3賦值運(yùn)算符和賦值表達(dá)式賦值運(yùn)算符和賦值表達(dá)式1大學(xué)計算機(jī)基礎(chǔ)C語言程序設(shè)計-第2章482.7.4 賦值運(yùn)算符和賦值表達(dá)式賦值運(yùn)算符和賦值表達(dá)式 (1) 將實型數(shù)據(jù)(包括單、雙精度)賦給整型變量時,舍棄實數(shù)的小數(shù)部分。 (2) 將整型數(shù)據(jù)賦給單、雙精度變量時,數(shù)值不變,但以浮點數(shù)形式存儲到變量中。 (3) 將一個double型數(shù)據(jù)賦給float變量時,截取其前面7

32、位有效數(shù)字, (4) 將一個float型數(shù)據(jù)賦給double變量時,數(shù)值不變,有效位數(shù)擴(kuò)展到16位。 (5) 字符型數(shù)據(jù)賦給整型變量時,將字符數(shù)據(jù)(8位)放到整型變量低8位中。 類型轉(zhuǎn)換類型轉(zhuǎn)換 2大學(xué)計算機(jī)基礎(chǔ)C語言程序設(shè)計-第2章492.7 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式 在賦值符“=”之前加上其他運(yùn)算符可以構(gòu)成復(fù)合的運(yùn)算符。如,+=,- =,*=,/=,%=,=,&=,=,|=。如:a+=2 /* 等價于 a=a+2 */x*=y+8 /* 等價于 x=x*(y+8) */ 由賦值運(yùn)算符將一個變量和一個表達(dá)式連接起來的式子稱為“賦值表達(dá)式”。 它的一般形式為:它的一般形式為: 變量 賦值運(yùn)算符 表達(dá)式 復(fù)合的賦值運(yùn)算符復(fù)合的賦值運(yùn)算符3賦值表達(dá)式賦值表達(dá)式4大學(xué)計算機(jī)基礎(chǔ)C語言程序設(shè)計-第2章502.7.5 逗號運(yùn)算符和逗號表達(dá)式逗號運(yùn)算符和逗號表達(dá)式 逗號運(yùn)算符是一種特殊的運(yùn)算,用以連接兩個表達(dá)式,又稱為“順序求值運(yùn)算符”。逗號表達(dá)式的一般形式為: 表達(dá)式表達(dá)式1,表達(dá)式,表達(dá)式2,表達(dá)式,表達(dá)式n 例如 x=2*5,x*3,此時整個逗號表達(dá)式的值為30。注:賦值運(yùn)算符的優(yōu)先級別高于逗號運(yùn)算符 大學(xué)計算機(jī)基礎(chǔ)C語言程序設(shè)計-第2章512.7.6 關(guān)系運(yùn)算符和關(guān)系表達(dá)式關(guān)系運(yùn)算符和關(guān)系表達(dá)式1.關(guān)系運(yùn)算符

溫馨提示

  • 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

提交評論