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

下載本文檔

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

文檔簡介

1、C語言程序設(shè)計主講人: 楊丹、劉斌、張靜常州信息職業(yè)技術(shù)學(xué)院第1頁,共56頁。單元一 程序設(shè)計基礎(chǔ) 教學(xué)目標(biāo) 【知識目標(biāo)】1了解C語言的特點,初步熟悉C語言程序開發(fā)過程和VC+上機步驟;2理解語句的概念,了解C語言的可執(zhí)行語句和return語句;3領(lǐng)會標(biāo)識符的命名規(guī)則、C函數(shù)的定義和結(jié)構(gòu);4掌握C語言程序的結(jié)構(gòu)、主函數(shù)的結(jié)構(gòu)和程序執(zhí)行的過程;5理解函數(shù)的定義、調(diào)用、聲明及三者之間的關(guān)系和區(qū)別,理解參數(shù)傳遞的過程; 第2頁,共56頁。單元一 程序設(shè)計基礎(chǔ) 【知識目標(biāo)】6理解和掌握整型常量、實型常量、字符常量、字符串常量及其表示方法和符號常量的定義及使用;7掌握變量的定義、賦值和初始化;8了解整型

2、變量、實型變量、字符型變量在內(nèi)存中的存儲形式、存儲長度和取值范圍;9弄清自動變量、靜態(tài)變量和外部變量的生存周期和作用域;10熟練掌握算術(shù)運算、賦值類運算等各種運算的運算規(guī)則、運算符的優(yōu)先級別和結(jié)合方向;11領(lǐng)會算術(shù)表達(dá)式、賦值表達(dá)式和逗號表達(dá)式的值及計算過程。第3頁,共56頁。單元一 程序設(shè)計基礎(chǔ) 教學(xué)目標(biāo) 【能力目標(biāo)】1初步熟悉VC+程序開發(fā)環(huán)境;2能夠在所編寫的程序中正確的定義和使用變量;3能夠用C語言表達(dá)式表達(dá)實際問題,模仿編寫簡單應(yīng)用問題的程序代碼;4能夠初步對C語言程序進(jìn)行調(diào)試。第4頁,共56頁。引例描述 單元一 程序設(shè)計基礎(chǔ) 求給定三位整數(shù)的各位數(shù)碼。 對給定的一個三位整數(shù),求出這

3、個三位數(shù)的各位上的數(shù)碼,如:386,求得的結(jié)果是:百位數(shù)碼是3,十位數(shù)碼是8,個位數(shù)碼是6。引例演示 第5頁,共56頁。1.1 C語言程序開發(fā)過程 一、C語言的特點1使用簡潔、靈活、方便2運算符豐富、表達(dá)能力強3數(shù)據(jù)類型豐富4以函數(shù)作為模塊單位5允許直接訪問物理地址6生成目標(biāo)代碼質(zhì)量高7可移植性好 第6頁,共56頁。1.1 C語言程序開發(fā)過程 二、程序開發(fā)過程 1編輯2編譯3連接4執(zhí)行 編輯編譯連接執(zhí)行編寫輸入源程序 .cpp .obj .exe結(jié)果第7頁,共56頁。1.1 C語言程序開發(fā)過程 三、Visual C+上機步驟 第一步:進(jìn)入visual C+ 6.0用戶界面。第二步:建立項目文件

4、。第三步:建立源程序文件。第四步:編譯源程序。第五步:生成可執(zhí)行文件。第六步:執(zhí)行程序。第8頁,共56頁?!纠?-1】求兩個整數(shù)的和的c語言程序如下,對其進(jìn)行編輯、編譯、連接、執(zhí)行。 1.1 C語言程序開發(fā)過程 #include int Sum(int x,int y);int main()int a,b,s;printf(請輸入兩個整數(shù):);scanf(%d%d,&a,&b);s=Sum(a,b);printf(兩個整數(shù)和是:%dn,s);return 0;int Sum(int x,int y)int z;z=x+y;return z; 第9頁,共56頁。1.2 函數(shù)及其結(jié)構(gòu) 一、函數(shù)的定

5、義(一)語句1說明語句2可執(zhí)行語句表達(dá)式語句函數(shù)調(diào)用語句空語句復(fù)合語句流程控制語句 第10頁,共56頁。1.2 函數(shù)及其結(jié)構(gòu) 一、函數(shù)的定義(二)函數(shù)的定義函數(shù)定義的一般格式:返回值類型 函數(shù)名(參數(shù)類型1 形式參數(shù)1,參數(shù)類型N 形式參數(shù)N)數(shù)據(jù)定義部分?jǐn)?shù)據(jù)操作部分 標(biāo)識符的命名規(guī)則:以字母或下劃線開頭,由字母、數(shù)字、下劃線組成。 第11頁,共56頁。1.2 函數(shù)及其結(jié)構(gòu) 二、函數(shù)調(diào)用1函數(shù)調(diào)用的一般格式被調(diào)函數(shù)名(實際參數(shù)表)其中,實際參數(shù)簡稱為實參,實參表可由一個或多個實參組成,但必須與形參的個數(shù)和類型一致,兩個實參之間用逗號分隔。2參數(shù)傳遞 在進(jìn)行函數(shù)調(diào)用時,把實參的值傳遞給對應(yīng)的形參

6、,所以,每個實參在函數(shù)調(diào)用之前都必須有確定的值。3函數(shù)調(diào)用的作用 第12頁,共56頁。1.2 函數(shù)及其結(jié)構(gòu) 三、函數(shù)聲明1函數(shù)聲明的格式類型標(biāo)識符 函數(shù)名(形參表);其中函數(shù)聲明是一個說明語句必須在結(jié)尾加分號,其它與函數(shù)定義中的函數(shù)頭完全相同。如果被調(diào)用函數(shù)寫在主調(diào)函數(shù)之前,函數(shù)聲明可省略不寫,但應(yīng)該養(yǎng)成書寫函數(shù)聲明的良好習(xí)慣。2函數(shù)聲明的作用第13頁,共56頁。1.2 函數(shù)及其結(jié)構(gòu) 四、return語句 1return語句的一般格式return (表達(dá)式);其中一對圓括號可省略不寫。當(dāng)函數(shù)沒有返回值時,表達(dá)式甚至整個返回語句可省略不寫。2return語句的作用 使程序流程從被調(diào)函數(shù)返回到主調(diào)

7、函數(shù)的函數(shù)調(diào)用處,并將被調(diào)函數(shù)的返回值帶回到函數(shù)調(diào)用處。第14頁,共56頁。1.2 函數(shù)及其結(jié)構(gòu) 五、主函數(shù)的結(jié)構(gòu)C語言的主函數(shù)的一般格式:int main()數(shù)據(jù)定義數(shù)據(jù)輸入函數(shù)調(diào)用數(shù)據(jù)輸出return 0; 第15頁,共56頁。1.2 函數(shù)及其結(jié)構(gòu) 六、程序的執(zhí)行過程 C語言程序總是從主函數(shù)main()開始執(zhí)行,依次執(zhí)行主函數(shù)函數(shù)體內(nèi)的每一個可執(zhí)行語句,直到最后一個右花括號程序才執(zhí)行完畢。第16頁,共56頁。1.2 函數(shù)及其結(jié)構(gòu) 七、注釋在VC+環(huán)境中,注釋有兩種:1以/*開頭,以*/結(jié)束,中間寫待注釋的內(nèi)容。2以/開頭,在其后寫待注釋的內(nèi)容。注釋的作用:增強程序的可讀性和用于對程序進(jìn)行調(diào)

8、試。第17頁,共56頁。1.2 函數(shù)及其結(jié)構(gòu) 【例1-2】以下C語言程序的功能是:對用戶輸入的矩形邊長求矩形的周長。體會函數(shù)定義、調(diào)用、聲明和注釋的使用,理解程序執(zhí)行和參數(shù)傳遞過程。 第18頁,共56頁。程序執(zhí)行和參數(shù)傳遞過程:#include int Perimeter(int x , int y);/函數(shù)Perimeter的聲明int main()int length, wide,pmt;printf(請輸入矩形的長和寬:);scanf(%d%d,&length ,&wide ); /假設(shè)用戶輸入5 3pmt= ; printf(矩形的周長是:%dn,pmt);return 0;/*以下是

9、函數(shù)Perimeter的定義*/int Perimeter(int x , int y)int z;z= ;return z; lengthwide*pmt*53Perimeter(length, wide)x*y*z*532*x+2*y1616/函數(shù)調(diào)用16第19頁,共56頁。1.3 數(shù)據(jù)描述 一、常量(一)整型常量及表示法1十進(jìn)制整型常量:2十進(jìn)制長整型常量:3八進(jìn)制整型常量:4八進(jìn)制長整型常量:5十六進(jìn)制整型常量:6十六進(jìn)制長整型常量:用數(shù)碼09表示的十進(jìn)制整數(shù)在十進(jìn)制整型常量后加小寫字母l或大寫字母L表示的數(shù)以數(shù)字0開頭用數(shù)碼07表示的整數(shù),開頭的數(shù)字0代表所表示的數(shù)為八進(jìn)制數(shù)在八進(jìn)制

10、整型常量后加小寫字母l或大寫字母L表示的數(shù)以數(shù)字0和小寫字母x或大寫字母X開頭,用數(shù)碼09或小寫字母af或大寫字母AF表示的十六進(jìn)制整數(shù),0 x代表所表示的數(shù)為十六進(jìn)制數(shù)在十六進(jìn)制整型常量后加小寫字母l或大寫字母L表示的數(shù)【示例】32,-7等都是十進(jìn)制整型常量。 【示例】64L,65783 l 等都是十進(jìn)制長整型常量。 【示例】 027,036,-015等都是合法的八進(jìn)制整型常量,而049是不合法的八進(jìn)制整型常量,因為,049中有數(shù)碼9。 【示例】 032 l,057L等都是八進(jìn)制長整型常量。 【示例】 0 xa8,0X59,-0X39等都是十六進(jìn)制整型常量,而0 xag,2f等都不是合法的十

11、六進(jìn)制整型常量,因為0 xag中有符號g;2f前沒有0 x。 【示例】 0XFFl,0 x64L等都是十六進(jìn)制長整型常量。 第20頁,共56頁。1.3 數(shù)據(jù)描述 一、常量(二)實型常量及表示法1十進(jìn)制小數(shù)形式:由數(shù)碼09、正負(fù)號和小數(shù)點(必須有小數(shù)點)組成的十進(jìn)制小數(shù)表示的實數(shù)。2指數(shù)形式:由尾數(shù)、字母e或E、階碼三部分組成,其中尾數(shù)為十進(jìn)制小數(shù)或整數(shù),階碼為1位或2位的十進(jìn)制(有符號)整數(shù)。 【示例】3.14,-0.271,0.0,0.,.6 等都是十進(jìn)制小數(shù)形式的實型常量。 【示例】3.14159e2表示十進(jìn)制數(shù)3.14159102,31415.9E-2表示十進(jìn)制數(shù)31415.910-2,

12、它們都表示十進(jìn)制小數(shù)314.159;1e03表示十進(jìn)制數(shù)1103,這里的尾數(shù)1不能省,而E03,-2e314都是不合法的實型常量,因為E03中缺少尾數(shù);-2e314中階碼是3位整數(shù),超過了階碼的范圍。 第21頁,共56頁。1.3 數(shù)據(jù)描述 一、常量(三)字符型常量及表示法 1字符型常量:用單引號括起來的單一字符(包括轉(zhuǎn)義字符)稱為字符型常量。 【示例】a,A,2, n,101等都是字符型常量,其中n,101都是轉(zhuǎn)義字符,而,都是不合法的字符型常量,對于單撇號和反斜杠必須用轉(zhuǎn)義字符來表示。 第22頁,共56頁。1.3 數(shù)據(jù)描述 一、常量(三)字符型常量及表示法 2轉(zhuǎn)義字符:以反斜杠“”開頭后跟一

13、個規(guī)定的字母代表一個控制字符;代表反斜杠字符“”, 代表單撇號字符“”;以反斜杠開頭后跟13位八進(jìn)制數(shù)代表ASCII碼值為該八進(jìn)制數(shù)的字符(此方法可表示ASCII字符集中的任一字符);以反斜杠和小寫字母x開頭,即以x開頭,后跟12位十六進(jìn)制數(shù)代表ASCII碼值為該十六進(jìn)制數(shù)的字符(也可表示ASCII字符集中的任一字符)。 字符形式含 義ASCII值(十進(jìn)制)n回車換行,將當(dāng)前光標(biāo)位置移到下一行的開頭10t 水平跳格(跳到下一個制表區(qū)的起始位置)9b退格,光標(biāo)前移一列,光標(biāo)經(jīng)過位置不變8r回車(不換行)13f換頁12反斜杠字符92單引號(撇號)字符39雙引號字符34ddd1到3位8進(jìn)制數(shù)代表的字

14、符xhh以x開頭的1到2位16進(jìn)制數(shù)代表的字符第23頁,共56頁。1.3 數(shù)據(jù)描述 一、常量(四)字符串常量及表示法 字符串常量:用雙撇號括起來的字符序列稱為字符串常量,簡稱字符串。字符串中含字符的個數(shù)稱為該字符串的長度。 【示例】How do you do,A,He154lo.n都是字符串常量,它們的長度分別是13,1,7,應(yīng)注意:154和n都是轉(zhuǎn)義字符,都只代表一個字符。 第24頁,共56頁。1.3 數(shù)據(jù)描述 一、常量(五)符號常量 符號常量的定義方法:在程序的開頭,使用如下的編譯預(yù)處理命令:#define 符號常量 常量第25頁,共56頁。1.3 數(shù)據(jù)描述 【例1-3】符號常量的使用求圓

15、的面積 。 #include #define PI 3.14159double Area (double r);int main()double Radii, s;printf(請輸入圓的半徑:);scanf(%lf, &Radii);s = Area (Radii);printf(半徑為%lf的圓的面積是%lfn, Radii, s);return 0;double Area (double r)double s;s = PI * r * r;return s;第26頁,共56頁。二、變量變量:在程序運行過程中,其值可以改變的量。(一)變量的定義1變量的定義變量定義的一般形式類別標(biāo)識符 類型

16、標(biāo)識符 變量名表;1.3 數(shù)據(jù)描述 第27頁,共56頁。二、變量存儲類別標(biāo)識符包括:auto(自動)、register(寄存器)、static(靜態(tài));類型標(biāo)識符包括:short(短整型)、int(基本整型)、long(長整型)、float(單精度實型)、double(雙精度實型)、char(字符型)等。 1.3 數(shù)據(jù)描述 【示例1】 int i,j,k; 缺省存儲類別標(biāo)識符系統(tǒng)默認(rèn)是auto,通過此說明語句定義了3個變量i,j,k都是基本整型變量、都是自動變量。 【示例2】 static float a,b; 通過該說明語句定義了2個變量a,b都為單精度實型變量、都是靜態(tài)變量 。第28頁,共

17、56頁。二、變量2變量的賦值 變量賦值的一般形式變量=表達(dá)式; 作用:把賦值號右端表達(dá)式的值賦給賦值號左端的變量,即把賦值號右端表達(dá)式的值寫到賦值號左端變量的存儲空間中。 1.3 數(shù)據(jù)描述 【示例】 a=b+2; 把b+2的值賦給變量a,此時,b必須已有確定的值。第29頁,共56頁。二、變量3變量的初始化 變量賦值的一般形式變量=表達(dá)式; 作用:把賦值號右端表達(dá)式的值賦給賦值號左端的變量,即把賦值號右端表達(dá)式的值寫到賦值號左端變量的存儲空間中。 1.3 數(shù)據(jù)描述 【示例1】 int a=5,b;在定義變量a,b的同時給變量a賦值為5,是對變量a進(jìn)行初始化。 【示例2】 int a,b; a=5

18、; 先定義兩個整型變量a,b,然后給變量a賦值為5,不是初始化。第30頁,共56頁。二、變量(二)整型變量1整型變量的類型標(biāo)識符有符號基本整型:signed int無符號基本整型:unsigned int有符號短整型:signed short int無符號短整型:unsigned short int有符號長整型:signed long int無符號長整型:unsigned long int注:方括號的內(nèi)容表示是可選的。 1.3 數(shù)據(jù)描述 【示例1】 int a,b;定義變量a,b都是整型變量、都是自動變量?!臼纠?】 unsigned long c,d;定義變量c,d都是無符號長整型變量、都是

19、自動變量。第31頁,共56頁。二、變量(二)整型變量2整型數(shù)據(jù)在內(nèi)存中的存儲形式 數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)叫做數(shù)據(jù)的存儲長度。VC+系統(tǒng)規(guī)定: short型數(shù)據(jù)在內(nèi)存中占2個字節(jié)(16位),以16位二進(jìn)制數(shù)的補碼形式存放 ; int型和long型數(shù)據(jù)在內(nèi)存中占4個字節(jié)(32位),以32位二進(jìn)制數(shù)的補碼形式存放 。1.3 數(shù)據(jù)描述 第32頁,共56頁。二、變量(二)整型變量3整型數(shù)據(jù)的取值范圍 1.3 數(shù)據(jù)描述 類型存儲長度取值范圍signed short int2字節(jié)(16位)-3276832767 (-215215-1)unsigned short int2字節(jié)(16位)065535 (02

20、16-1)signed int4字節(jié)(32位)-21474836482147483647 (-231231-1)unsigned int4字節(jié)(32位)04294967295 (0232-1)signed long int4字節(jié)(32位)-21474836482147483647 (-231231-1)unsigned long int4字節(jié)(32位)04294967295 (0232-1)第33頁,共56頁。二、變量(三)實型變量1實型變量的類型標(biāo)識符 類型標(biāo)識符分別是:float(單精度實型)和double(雙精度實型)。2實型數(shù)據(jù)的存儲長度、取值范圍和精度 1.3 數(shù)據(jù)描述 類型存儲長度

21、取值范圍有效數(shù)字精度float4字節(jié)(3.410-38 3.41038)67位6位double8字節(jié)(1.710-308 1.710308)1516位6位第34頁,共56頁。二、變量(四)字符型變量1字符型變量的類型標(biāo)識符(有符號)字符型:signed char無符號字符型:unsigned char2字符型數(shù)據(jù)的存儲形式及取值范圍 字符型數(shù)據(jù)在內(nèi)存中占1個字節(jié),以其相應(yīng)的ASCII碼值的8位二進(jìn)制數(shù)(補碼)形式存儲,char型數(shù)據(jù)的取值范圍是-128127,unsigned char型數(shù)據(jù)的取值范圍是0255,每一個數(shù)值對應(yīng)一個字符。 1.3 數(shù)據(jù)描述 第35頁,共56頁。1.3 數(shù)據(jù)描述

22、【例1-4】將大寫字母轉(zhuǎn)換為小寫字母。 #include char ToLower (char ch);int main()char ch, low;printf(請輸入一個大寫字母:);scanf(%c, &ch);low = ToLower (ch);printf(大寫字母%c轉(zhuǎn)換為小寫字母是%cn, ch, low);return 0;char ToLower (char ch)char tlow;tlow = ch + 32;return tlow; 第36頁,共56頁。二、變量(五)動態(tài)變量 1自動變量 用存儲類別標(biāo)識符auto定義的變量是自動變量,自動變量的存儲空間是在程序運行時分

23、配的,分配和釋放由系統(tǒng)自動完成。使用時,應(yīng)注意以下幾點:在定義變量時,缺省存儲類別標(biāo)識符系統(tǒng)默認(rèn)是自動變量;自動變量的存儲空間在程序運行期間分配和釋放,稱為動態(tài)存儲;1.3 數(shù)據(jù)描述 第37頁,共56頁。二、變量(五)動態(tài)變量 1自動變量自動變量只在定義它的那個局部范圍內(nèi)才起作用,稱為局部變量;自動變量在賦值之前,它的值是不確定的;對同一個函數(shù)的兩次調(diào)用之間,自動變量的值不保留。這是因為,調(diào)用一次之后存儲空間被釋放,再調(diào)用時,又另分配了存儲空間。2寄存器變量 1.3 數(shù)據(jù)描述 【示例】int main()int x=1;void prt (void);int x=3;prt();printf(

24、2nd x=%dn,x);printf(1nd x=%dn,x);return 0;void prt(void)int x=5;printf(3nd x=%dn,x); 【示例】int main()int x;printf(x=%dn,x);return 0; 【示例】void count (int n);int main()count(1);count(2);return 0;void count(int n)int x=1;printf(%d:x=%d,n,x);x=x+2;printf(%dn,x); 第38頁,共56頁。二、變量(六)靜態(tài)變量 用標(biāo)識符static定義的變量是靜態(tài)變量。

25、1靜態(tài)變量是在編譯時分配存儲空間,程序運行結(jié)束存儲空間才被釋放,稱為永久存儲,即,存在于程序執(zhí)行的全過程,直到程序執(zhí)行結(jié)束;2靜態(tài)變量的初始化是在編譯時進(jìn)行的,如果不顯式為靜態(tài)變量初始化,系統(tǒng)自動置靜態(tài)變量的初值為0(整型)或0.0(實型);1.3 數(shù)據(jù)描述 第39頁,共56頁。二、變量(六)靜態(tài)變量3在函數(shù)多次被調(diào)用的過程中,靜態(tài)變量的值具有繼承性,即本次調(diào)用的初值是上次調(diào)用結(jié)束時變量的值; 4靜態(tài)局部變量的作用域具有局部性,靜態(tài)局部變量的值只能在本函數(shù)中使用,但生存周期是永久存儲。 1.3 數(shù)據(jù)描述 【示例】void increment(void);int main()increment(

26、);increment();increment();return 0;void increment(void)static int x=1;x=x+2;printf(%dn,x);【示例】void increment(void);int main()int x=5;increment();printf(1:x=%dn,x);return 0;void increment(void)static int x=1;x=x+2;printf(2:x=%dn,x); 第40頁,共56頁。二、變量(七)外部變量 定義在所有函數(shù)體之外的變量稱為外部變量。1外部變量是在編譯時為其分配存儲空間的,在靜態(tài)存儲區(qū)

27、中存儲,生存周期是永久存儲,作用域是從定義點到本文件結(jié)束;2外部變量的初始化也是在編譯時進(jìn)行的,如果不顯式為外部變量初始化,系統(tǒng)自動置外部變量的初值為0(整型)或0.0(實型)。1.3 數(shù)據(jù)描述 第41頁,共56頁。一、運算符與表達(dá)式1運算量:參加運算的對象稱為運算量,運算量包括:常量、變量、函數(shù)等。2運算符:用來表示運算的符號稱為運算符或操作符。3表達(dá)式:用運算符把運算量連接起來的符合C語言語法規(guī)則的式子稱為表達(dá)式。 1.4 數(shù)據(jù)操作 第42頁,共56頁。二、算術(shù)運算1單目算術(shù)運算(正、負(fù)號運算)運算符:+ 正(取原值), 負(fù)(取相反數(shù))。優(yōu)先級別:+, 同級別,是第2級。結(jié)合方向:右結(jié)合。

28、1.4 數(shù)據(jù)操作 第43頁,共56頁。二、算術(shù)運算2雙目算術(shù)運算運算符及運算規(guī)則:+(加),(減),*(乘),/(除),%(求余或模)。%的運算規(guī)則是:對于a%b,求a被b除所得的余數(shù),結(jié)果的符號與被除數(shù)a的符號相同。優(yōu)先級別:+,第4級;*,/,%第3級。結(jié)合方向:均為左結(jié)合。1.4 數(shù)據(jù)操作 第44頁,共56頁。二、算術(shù)運算2雙目算術(shù)運算運算量的類型與結(jié)果類型: 對于+, *,/這四種運算,參加運算的兩個運算量可以是整型數(shù)據(jù),也可以是實型數(shù)據(jù);如果兩個運算量都是整型數(shù)據(jù),則結(jié)果也是整型數(shù)據(jù),如果兩個運算量中至少有一個是實型數(shù)據(jù),則結(jié)果也是實型數(shù)據(jù)。 對于模運算%,要求參加運算的兩個運算量必

29、須都是整型數(shù)據(jù),運算所得的結(jié)果也是整型數(shù)據(jù)。 1.4 數(shù)據(jù)操作 【示例】int a=5,b=2; 則 a+b 的結(jié)果為7,a/b的結(jié)果為2,而不是2.5。float a=5.0,b=2.0; 則 a+b的結(jié)果為7.0,a/b的結(jié)果為2.5。所以,C語言中的除法運算“/”,有兩方面的含義: 當(dāng)運算符兩側(cè)的運算量都是整型數(shù)據(jù)時,結(jié)果也是整型數(shù)據(jù),此時稱為整除; 當(dāng)運算符兩側(cè)的運算量至少有一個是實型數(shù)據(jù)時,結(jié)果是double類型數(shù)據(jù),此時稱為除法。 【示例】int a=5,b= -5,c= 3,d= -3; 則 a%c的結(jié)果為2, b%c的結(jié)果為-2,a%d的結(jié)果為2,b%d的結(jié)果為2,a%b的結(jié)果

30、為0,b%a的結(jié)果為0,0%a的結(jié)果為0, 0%b的結(jié)果也為0。 因此,對一個正整數(shù)求模運算,不論除數(shù)是正數(shù)還是負(fù)數(shù),所得的結(jié)果都是非負(fù)數(shù);對一個負(fù)整數(shù)求模運算,不論除數(shù)是正數(shù)還是負(fù)數(shù),所得的結(jié)果都是非正數(shù),對0求模運算的結(jié)果還是0,即結(jié)果的符號與被除數(shù)的符號相同。 第45頁,共56頁?!纠?-5】設(shè)n是一個兩位整數(shù),用C語言的表達(dá)式分別表示n的個位和十位數(shù)碼。1.4 數(shù)據(jù)操作 解答:n的個位數(shù)碼可表示為n%10;n的十位數(shù)碼可表示為n/10。第46頁,共56頁。三、賦值類運算1賦值運算給變量賦值的一般形式:變量=表達(dá)式優(yōu)先級別:賦值運算的優(yōu)先級別是第14級的,僅高于逗號運算符。結(jié)合方向:右結(jié)

31、合。賦值表達(dá)式:根據(jù)運算符的優(yōu)先級別和結(jié)合方向,通過加括號最終化為用賦值號把變量和表達(dá)式連接起來的式子稱為賦值表達(dá)式。賦值表達(dá)式的值為賦值后賦值號左邊變量的值。 1.4 數(shù)據(jù)操作 【示例1】int a;a=2;a=a+3;【示例2】int a=3,b;b=a=a+5; 第47頁,共56頁。三、賦值類運算2自反算術(shù)賦值運算自反算術(shù)賦值運算符包括:自反加賦值:+=;自反減賦值:=;自反乘賦值:*=;自反除賦值:/=;自反模賦值:%=。優(yōu)先級別:與賦值運算符同級,都是第14級。結(jié)合方向:右結(jié)合注意:與賦值運算符一樣,自反算術(shù)賦值運算符的左邊通常也必須是變量。1.4 數(shù)據(jù)操作 【示例】int a=5,

32、b=3,c;c=b*=a+2; 第48頁,共56頁。三、賦值類運算3自加和自減運算前綴形式: +變量, - -變量后綴形式: 變量+, 變量- - 對于前綴形式+i或-i,運算規(guī)則是:把i+1或i-1賦給變量i,而表達(dá)式(+i或i)取變量i被賦值后的值,即+i與i=i+1等價或i與i=i-1等價。 對于后綴形式i+或i-,運算規(guī)則是:把i+1或i-1賦給變量i,而表達(dá)式(i+或i)取變量i被賦值前的值。優(yōu)先級別:自加、自減運算符的優(yōu)先級別是第2級。結(jié)合方向:右結(jié)合。 1.4 數(shù)據(jù)操作 【示例】int a=2,b=2,c=2,d=2;a+;b-;+c;-d; 表達(dá)式表達(dá)式執(zhí)行前變量值表達(dá)式執(zhí)行后變量值表達(dá)式的值a+232b-212+c233-d211第49頁,共56頁?!纠?-5】設(shè)有定義int a=3,b,c=5;請將以下兩條語句a-; b=a+c;寫成一條語句。1.4 數(shù)據(jù)操作 解答:因為語句b=a+c;中的a使用的是語句a-;執(zhí)行后a的值,所以,兩條語句可寫成一條語句b= -a+c;。第50頁,共56頁。四、逗號運算逗號運算符:,(逗號)優(yōu)先級別:第15級,優(yōu)先級別最低,低于一切其

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論