第2章數據類型、運算符與表達式ppt課件_第1頁
第2章數據類型、運算符與表達式ppt課件_第2頁
第2章數據類型、運算符與表達式ppt課件_第3頁
第2章數據類型、運算符與表達式ppt課件_第4頁
第2章數據類型、運算符與表達式ppt課件_第5頁
已閱讀5頁,還剩105頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、Neusoft Institute of InformationDate: April 24, 2022IT Education & TrainingIT Education & TrainingNeusoft Institute of InformationDate: 13 June 2021辦公室:辦公室:C7座座101:772896740:maoljneusoft課件下載課件下載ftpcomputer.deptniit/毛麗娟毛麗娟/0809第二學期第二學期任課教師:毛麗娟任課教師:毛麗娟第二章第二章數據類型及表達式數據類型及表達式Neusoft Institute of

2、 InformationDate: April 24, 2022IT Education & Training本章主要知識點本章主要知識點根本的數據類型根本的數據類型數據類型轉換數據類型轉換常量和變量常量和變量C言語各種運算符和表達式言語各種運算符和表達式Neusoft Institute of InformationDate: April 24, 2022IT Education & Training根本數據類型根本數據類型深化了解變量深化了解變量第第9 9次課次課Neusoft Institute of InformationDate: April 24, 2022IT E

3、ducation & TrainingC言語的數據類型言語的數據類型單精度實型單精度實型 (float)雙精度實型雙精度實型 (double)整型整型 int)字符型字符型 (char)枚舉類型枚舉類型數組類型數組類型構造體類型構造體類型共用體類型共用體類型實型實型根本類型根本類型構造類型構造類型空類型空類型 (void)指針類型指針類型數據類型數據類型Neusoft Institute of InformationDate: April 24, 2022IT Education & Training義務提出:義務提出: eg2_1:有如下義務,當某學生輸入本人的學號和姓名及兩

4、門課程的成果后,可以在控制臺看到本人的總成果。試編程處理該義務。Neusoft Institute of InformationDate: April 24, 2022IT Education & Training義務分析:義務分析: eg2_1程序中涉及到哪些類型的常程序中涉及到哪些類型的常量或變量?量或變量? 需求調用哪些規(guī)范庫函數?需求調用哪些規(guī)范庫函數?Neusoft Institute of InformationDate: April 24, 2022IT Education & Training義務處理:義務處理:/ /* *功能:計算某位學生的總分功能:計算某位

5、學生的總分* */ /#include #include main()main() char no10,name10;char no10,name10;int english_score,c_score;int english_score,c_score;printf(printf(請輸入他的學號請輸入他的學號:);:);scanf(%s,no);scanf(%s,no);printf(printf(請輸入他的姓名請輸入他的姓名:);:);scanf(%s,name);scanf(%s,name);printf(printf(請輸入他的大學英語成果請輸入他的大學英語成果:);:);scanf(

6、%d,&english_score);scanf(%d,&english_score);printf(printf(請輸入他的請輸入他的C C言語成果言語成果:);:);scanf(%d,&c_score);scanf(%d,&c_score);printf(printf(他的總成果是他的總成果是:%dn,english_score+c_score);:%dn,english_score+c_score); Neusoft Institute of InformationDate: April 24, 2022IT Education & Trainin

7、g“數據類型的意義:數據類型的意義:定義了數據占用的內存空間大小定義了數據占用的內存空間大小定義了數據在內存中的存儲格式定義了數據在內存中的存儲格式決議了數據的運算規(guī)那么本身的行為決議了數據的運算規(guī)那么本身的行為為編譯器提供了檢查根據為編譯器提供了檢查根據數據類型的意義數據類型的意義數據類型是防止程序錯誤的初級根本手段,不是全部手段;數據類型是防止程序錯誤的初級根本手段,不是全部手段;Neusoft Institute of InformationDate: April 24, 2022IT Education & Training1.1.整型數據整型數據2.2.實型數據實型數據3.3

8、.字符型數據字符型數據數據的存儲格式、范圍數據的存儲格式、范圍Neusoft Institute of InformationDate: April 24, 2022IT Education & Training 整型數據分為普通整型int、短整型short和長整型long,并且每一種類型又分為帶符號signed和無符號unsigned兩種類型 。整型數據的特性見下表: 數據類型名闡明Visual C+ 6.0環(huán)境Turbo C2.0環(huán)境字節(jié)取值范圍字節(jié)取值范圍short int短整型2-32768327672-3276832767signed short int帶符號短整型2-327

9、68327672-3276832767unsigned short int無符號短整型20655352065535int整型4-214748364821474836472-3276832767signed int帶符號整型4-214748364821474836472-3276832767unsigned int無符號整型4042949672952065535long int長整型4-214748364821474836474-21474836482147483647signed long int帶符號長整型4-214748364821474836474-2147483648214748364

10、7unsigned long int無符號長整型404294967295404294967295整型數據分類及取值范圍整型數據分類及取值范圍Neusoft Institute of InformationDate: April 24, 2022IT Education & Trainingeg2_2:察看以下程序的運轉結果。/*功能:察看溢出*/ #includemain() short num=32768;printf(“%dn,num);運轉結果如以下圖所示:整型數據的取值范圍實例整型數據的取值范圍實例Neusoft Institute of InformationDate: Ap

11、ril 24, 2022IT Education & Training 實型數據分為單精度實型float、雙精度實型double和長雙精度實型long double。詳細情況見下表所示 : 數據類型名闡明Visual C+ 6.0環(huán)境Turbo C2.0環(huán)境字節(jié)取值范圍有效數字字節(jié)取值范圍有效數字float單精度實型4-3.410383.41038674-3.410383.4103867double雙精度實型8-1.7103081.71030815168-1.7103081.7103081516long double長雙精度實型8151610-1.21049321.2104932181

12、91.7103081.710308實型數據分類實型數據分類Neusoft Institute of InformationDate: April 24, 2022IT Education & Training 字符型數據分為普通字符型char、帶符號字符型signed char和無符號字符型unsigned char三種類型。詳細情況見下表所示 : 數據類型名闡明字節(jié)取值范圍char字符型1-128127signed char帶符號字符型1-128127unsigned char無符號字符型10255字符型數據分類 Neusoft Institute of InformationDat

13、e: April 24, 2022IT Education & Training1數據類型:C言語的合法數據類型。如例中的int、short、char、float、double等。 2變量名表:變量名是C言語合法的標識符。變量名表可以包含多個變量名,彼此之間運用逗號分開,表示同時定義假設干個具有一樣數據類型的變量,如: float a,b;1. 1. 變量定義變量定義變量定義普通格式: 數據類型 變量名表;如:int a; 對變量定義闡明如下: 變量是指在程序執(zhí)行過程中其值可以被改動的量。變量定義的本質是按照變量闡明的數據類型為變量分配相應空間的存儲單元,在該存儲單元中存放變量的值。

14、C言語中,變量運用時遵照“先定義,后運用的原那么。 變量Neusoft Institute of InformationDate: April 24, 2022IT Education & Training2.變量的命名變量的命名 標識符 作用:用來標識變量、常量、函數等的字符序列 組成: 只能由字母、數字、下劃線組成,且第一個字母必需是字母或下劃線 大小寫敏感 不能運用關鍵字 長度:最長32個字符 命名原那么: 見名知意 不宜混淆 如1與I, o與0例:判別以下標識符號合法性sum Sum M.D.John day Date 3days student_name #33 lotus_

15、1_2_3 char ab _above $123M.D.John3days#33char$123abNeusoft Institute of InformationDate: April 24, 2022IT Education & TrainingMemory Value(5)Name (a)Type (short)short a = 5 ; /* 懇求空間并初始化 */一個變量必然包含以下概念:一個變量必然包含以下概念:名字變量名名字變量名類型變量占用空間類型變量占用空間值變量的內容值變量的內容地址變量在內存中所處的位置地址變量在內存中所處的位置字節(jié)Address3. 變量的存儲

16、方式變量的存儲方式Neusoft Institute of InformationDate: April 24, 2022IT Education & Training/ /* *eg2_3eg2_3功能:計算兩個整數的和功能:計算兩個整數的和* */ / #include #include main() main() int num1=2; int num1=2; int num2,sum; int num2,sum; num2=3; num2=3; sum=num1+num2; sum=num1+num2; printf(num1+num2=%4dn,sum); printf(nu

17、m1+num2=%4dn,sum); 4. 變量的初始化及賦值變量的初始化及賦值初始化初始化賦值賦值Neusoft Institute of InformationDate: April 24, 2022IT Education & Training模擬練習:模擬練習:ex2_1:有如下義務,當某學生輸入本人的學號和姓名及兩門課程的成果后,可以在控制臺看到本人的平均成果。試編程處理該義務。Neusoft Institute of InformationDate: April 24, 2022IT Education & Training討論并總結為什么要定義數據類型?為什么要定

18、義數據類型?不同數據類型的區(qū)別是什么?不同數據類型的區(qū)別是什么?Neusoft Institute of InformationDate: April 24, 2022IT Education & Training結論1定義數據類型的作用定義了數據占用的內存空間大小定義了數據占用的內存空間大小定義了數據在內存中的存儲格式定義了數據在內存中的存儲格式決議了數據的運算規(guī)那么本身的行為決議了數據的運算規(guī)那么本身的行為為編譯器提供了檢查根據為編譯器提供了檢查根據Neusoft Institute of InformationDate: April 24, 2022IT Education &a

19、mp; Training結論2不同數據類型的區(qū)別內存空間大小不同內存空間大小不同數據表示有效位數不同數據表示有效位數不同數據表示范圍不同數據表示范圍不同對應的運算和操作不同對應的運算和操作不同Neusoft Institute of InformationDate: April 24, 2022IT Education & Training第第1010次課次課常量的定義和運用常量的定義和運用認識符號常量認識符號常量Neusoft Institute of InformationDate: April 24, 2022IT Education & Training普通用大寫字母是

20、宏定義預處置命令,不是C語句直接常量:整型常量 請點擊:實型常量 請點擊:字符常量 請點擊:字符串常量 請點擊:如 #define PRICE 30定義:程序運轉時其值不能改動的量即常數分類:符號常量:用標識符代表常量定義格式: #define 符號常量 常量/*計算消費總額*/#define PRICE 30main() int num,total; num=10; total=num*PRICE; printf(total=%d,total);運轉結果:total=300常量常量/*eg2_4功能:計算并輸出圓周率的和差積商*/#define PI 3.14#includemain() p

21、rintf(%ft%ft%ft%fn,PI+PI,PI-PI,PI*PI,PI/PI);Neusoft Institute of InformationDate: April 24, 2022IT Education & Training三種方式:十進制整數:由數字09和正負號表示.如 123,-456,0八進制整數:由數字0開頭,后跟數字07表示.如0123,011十六進制整數:由0 x開頭,后跟09,af,AF表示. 如0 x123,0Xff例 12 與 12L例 30000 為int型 65536 為long int 型整型常量的類型根據其值所在范圍確定其數據類型在整常量后加字母

22、l或L,以為它是long int 型常量問題:0123 = ( )100 x123 = ( )100Xff = ( )1083291255問題:0123 = ( )100 x123 = ( )100Xff = ( )10整型常量整常數Neusoft Institute of InformationDate: April 24, 2022IT Education & Training 在C言語中,整型常量有十進制、八進制、十六進制三種進制表示方法,并且各種數制均可有正+負-之分,正數的“+可省略。 /*eg2_5功能:輸出某整數的各種進制值*/#define NUM 20#include

23、main() printf(%dt%ot%xn,NUM,NUM,NUM); 整型常量實例Neusoft Institute of InformationDate: April 24, 2022IT Education & Training表示方式:十進制數方式:必需有小數點 如0.123, .123, 123.0, 0.0, 123.指數方式:e或E之前必需有數字;指數必需為整數如12.3e3 ,123E2, 1.23e4 , e-5 , 1.2E-3.5 實型常量的類型默許double型在實型常量后加字母f或F,以為它是float 型實型常量實數或浮點數Neusoft Institu

24、te of InformationDate: April 24, 2022IT Education & Training第第11次課次課 課后習題錯誤評講課后習題錯誤評講 初步的調試技巧初步的調試技巧 常量練習常量練習Neusoft Institute of InformationDate: April 24, 2022IT Education & Training定義:用單引號括起來的單個普通字符或本義字符. 字符常量的值:該字符的ASCII碼值本義字符及其含義:本義字符含義nvradddtbf“xhh本義字符含義換行垂直制表回車響鈴單引號3位8進制數代表的字符程度制表退格換

25、頁反斜線雙引號2位16進制數代表的字符如 101 -A 012 -n 376 - x61 -a 60 -0 483 -()例:A-101-x41-65如 A65, a97, 048 , n10如 a A ? n 101本義字符:反斜線后面跟一個字符或一個代碼值表示/*本義字符舉例*/ main() printf(101 x42 Cn); printf(I say:How are you?n); printf(C Programn); printf(Turbo C);運轉結果:(屏幕顯示)A B CIsay:How are you?C ProgramTurbo C例 main() printf(

26、“Yb=n); 運轉結果:屏幕顯示:=打印機輸出:字符常量Neusoft Institute of InformationDate: April 24, 2022IT Education & Training/*eg2_6功能:輸出某字符常量的值*/#includemain() printf(%ct%cn,a,A); printf(%dt%dn,a,A);字符型常量實例 Neusoft Institute of InformationDate: April 24, 2022IT Education & Training字符常量與字符串常量不同定義:用雙引號(“)括起來的字符序列

27、存儲:每個字符串尾自動加一個 0 作為字符串終了標志h e l l o 0例 字符串“hello在內存中a a 0例 a“a例 空串 “0例: char ch; ch=“A; 例: char ch; ch=A; 字符串常量Neusoft Institute of InformationDate: April 24, 2022IT Education & Training模擬練習請找出一些常量中哪些是整數、字符、字符請找出一些常量中哪些是整數、字符、字符串。串。0 x34f 012 1010 a1 101“ “a 078 10 f Neusoft Institute of Informa

28、tionDate: April 24, 2022IT Education & Training討論并總結 運用符號常量的優(yōu)勢是什么?運用符號常量的優(yōu)勢是什么? 字符串常量的存儲特點?字符串常量的存儲特點?Neusoft Institute of InformationDate: April 24, 2022IT Education & Training第第12次次課課 實際練習實際練習Neusoft Institute of InformationDate: April 24, 2022IT Education & Training作業(yè)每人必做設圓半徑設圓半徑r=1.5

29、,圓柱高,圓柱高h=3,求圓周長、圓面積。用,求圓周長、圓面積。用scanf輸入數據,輸出計算結果,輸出時要有文字闡明,輸入數據,輸出計算結果,輸出時要有文字闡明,取小數點后取小數點后2位數字。位數字。輸入一個華氏溫度,要求輸出攝氏溫度,取輸入一個華氏溫度,要求輸出攝氏溫度,取2位小數。位小數。公式為公式為:c=5/9(F-32)。輸入一名學生的三科成果假設都是整型,請統(tǒng)計該輸入一名學生的三科成果假設都是整型,請統(tǒng)計該學生的總分及平均分,并分析平均分的計算能否正確。學生的總分及平均分,并分析平均分的計算能否正確。Neusoft Institute of InformationDate: Apr

30、il 24, 2022IT Education & Training第第13次課次課 數據類型間的轉換數據類型間的轉換 算術運算符及表達式算術運算符及表達式Neusoft Institute of InformationDate: April 24, 2022IT Education & Training問題引入1、如何輸出一個指定字母的、如何輸出一個指定字母的ASCII碼值?碼值?2、如何正確輸出、如何正確輸出5/2的結果?的結果?Neusoft Institute of InformationDate: April 24, 2022IT Education & Tr

31、aining 問題問題1求解求解 /*輸出制定字母的ASCII碼值*/ #include main() printf(%ct%d,a,a); Neusoft Institute of InformationDate: April 24, 2022IT Education & Training 問題問題2求解求解 /*輸出5除2的結果*/ #include main() float x=5.0; int y=2; float z=x/y; printf(%f,z); Neusoft Institute of InformationDate: April 24, 2022IT Educat

32、ion & Training 隱式轉換 什么情況下發(fā)生 運算轉換-不同類型數據混合運算時 賦值轉換-把一個值賦給與其類型不同的變量時 輸出轉換-輸出時轉換成指定的輸出格式 函數調用轉換-實參與形參類型不一致時轉換 運算轉換規(guī)那么:不同類型數據運算時先自動轉換成同一類型不同類型數據間的轉換不同類型數據間的轉換Neusoft Institute of InformationDate: April 24, 2022IT Education & Trainingdoublefloatlongunsignedintchar,short低高闡明:必定的轉換運算對象類型不同時轉換 char

33、ch; int i; float f; double d;ch/i + f*d - (f+i)intintdoubledoubledoubledoubledoubledoubleintintdoubledoubledoubledoubledoubledouble10+a +i*f - d/l例2 int i; float f; double d; long l;例例1Neusoft Institute of InformationDate: April 24, 2022IT Education & Training模擬練習1.編寫一個打印恣意字母編寫一個打印恣意字母ASCII碼值的程序

34、。碼值的程序。2.用強迫轉換改寫問題用強迫轉換改寫問題2。Neusoft Institute of InformationDate: April 24, 2022IT Education & Training普通方式:類型名表達式普通方式:類型名表達式 例例: (int)(x+y): (int)(x+y) (int)x+y (int)x+y (double)(3/2) (double)(3/2) (int)3.6 (int)3.6 闡明:強迫轉換得到所需類型的中間變量,原變量闡明:強迫轉換得到所需類型的中間變量,原變量類型不變類型不變 例 main() float x; int i;

35、x=3.6; i=(int)x; printf(“x=%f,i=%d,x,i); 結果:x=3.600000,i=3較高類型向較低類型轉換時能夠發(fā)生精度損失問題顯式轉換強迫轉換Neusoft Institute of InformationDate: April 24, 2022IT Education & Training討論并總結 不同的數據類型進展運算,運算規(guī)那么是什么?不同的數據類型進展運算,運算規(guī)那么是什么?Neusoft Institute of InformationDate: April 24, 2022IT Education & Training分類稱號運算

36、符算術運算符+、-、*、/、%、+、-關系運算符、=、=、!=邏輯運算符&、|、!位運算符、|、&賦值運算符=及其擴展賦值運算符條件運算符? :逗號運算符,指針運算符*、&求字節(jié)數運算符sizeof強迫類型轉換運算符(類型)分量運算符. 、-下標運算符 其他函數運算符( )1.運算符2.表達式用運算符將操作對象銜接起來、符合C語法規(guī)那么的式子稱為表達式。運算符和表達式Neusoft Institute of InformationDate: April 24, 2022IT Education & Training 運算符功能 與運算量關系 要求運算量個數 要求

37、運算量類型 運算符優(yōu)先級別 結合方向 結果的類型學習運算符應留意學習運算符應留意Neusoft Institute of InformationDate: April 24, 2022IT Education & Training問題引入 如何編寫一個能進展五那么混合運算的簡易計如何編寫一個能進展五那么混合運算的簡易計算器程序?算器程序? 功能包括求兩個整數的和、差、積、功能包括求兩個整數的和、差、積、商以及兩數相除的余數,如何表示?商以及兩數相除的余數,如何表示?結論:運用算術運算符及表達式結論:運用算術運算符及表達式Neusoft Institute of InformationD

38、ate: April 24, 2022IT Education & Training根本算術運算符: + - * / %結合方向:從左向右優(yōu)先級: - -* / % - + - (2) (3) (4)闡明:“-可為單目運算符時,右結合性兩整數相除,結果為整數%要求兩側均為整型數據例 5/2 = -5/2.0 =例 5%2 = -5%2 = 1%10 = 5%1 = 5.5%2算術運算符和表達式算術運算符和表達式2-2.51-110()Neusoft Institute of InformationDate: April 24, 2022IT Education & Traini

39、ng 問題求解問題求解#include /*和、差、積、商以及兩數相除的余數和、差、積、商以及兩數相除的余數*/void main()int oper1=10,oper2=100,add,sub,mult,div,mod;/*操作數和存放結果的變量定義操作數和存放結果的變量定義*/add=oper1+oper2;/*兩兩數和數和*/sub=oper1-oper2; /*兩兩數差數差*/mult=oper1*oper2; /*兩兩數積數積*/div=oper1/oper2; /*兩數商兩數商*/mod=oper1%oper2; /*兩數模兩數模*/printf(“n兩數和為兩數和為%d,兩數差為

40、兩數差為%d,兩數積為兩數積為%d,兩數商為兩數商為%d,兩數模為兩數模為%d,add,sub,mult,div,mod);/*結果輸出結果輸出*/Neusoft Institute of InformationDate: April 24, 2022IT Education & Training模擬練習1.輸入兩個整數,要求輸出它們的和、差、積、商及輸入兩個整數,要求輸出它們的和、差、積、商及余數。余數。2.輸入一名學生的三科成果假設都是實型,請統(tǒng)輸入一名學生的三科成果假設都是實型,請統(tǒng)計該學生的總分及平均分。計該學生的總分及平均分。 Neusoft Institute of Inf

41、ormationDate: April 24, 2022IT Education & Training第第14次課次課 復習復習 賦值運算符及表達式賦值運算符及表達式 自增、自減運算符及表達式自增、自減運算符及表達式Neusoft Institute of InformationDate: April 24, 2022IT Education & Training簡單賦值運算符符號: =格式: 變量標識符=表達式作用:將一個數據常量或表達式賦給一個變量復合賦值運算符種類:+= -= *= /= %= = &= = |=含義: exp1 op= exp2 exp1 = e

42、xp1 op exp2a+=3a=a+3x*=y+8x=x*(y+8)x%=3x=x%3例 a=3; d=func(); c=d+2;賦值運算符和表達式賦值運算符和表達式Neusoft Institute of InformationDate: April 24, 2022IT Education & Training結合方向:自右向左優(yōu)先級: 14左側必需是變量,不能是常量或表達式賦值表達式的值與變量值相等,且可嵌套賦值轉換規(guī)那么:使賦值號右邊表達式值自動轉換成其左邊變量的類型例 3=x-2*y; a+b=3;例 float f; int i; i=10; f=i;那么 f=10.0

43、例 int i; i=2.56; /結果i=2;例: a=b=c=5 a=(b=5) a=5+(c=6) a=(b=4)+(c=6) a=(b=10)/(c=2)/表達式值為5,a,b,c值為5/ b=5;a=5/表達式值11,c=6,a=11/表達式值10,a=10,b=4,c=6/表達式值5,a=5,b=10,c=2闡明1:Neusoft Institute of InformationDate: April 24, 2022IT Education & Training 結合方向:自右向左 優(yōu)先級: 12 左側必需是變量,不能是常量或表達式賦值表達式的值與變量值相等,且可嵌套賦值

44、轉換規(guī)那么:使賦值號右邊表達式值自動轉換成其左邊變量的類型例: a=12; a+=a-=a*a例: int a=2; a%=4-1; a+=a*=a-=a*=3; /a=-264 等價于a=a+(a=a-(a*a)/a=0 等價于a=a+(a=a*(a=a-(a=a*3)闡明2:Neusoft Institute of InformationDate: April 24, 2022IT Education & Training 簡單賦值運算符及其表達式 賦值運算符是“=,其作用是將賦值運算符右側的表達式的值賦給其左側的變量。 值得留意的是:賦值運算符運算對象中的左側對象一定是變量。如:

45、a=b-c=5;相當于a=b-c=5;,由于表達式中出現(xiàn)將數值5賦給b-c表達式,因此,該表達式是非法的。 Neusoft Institute of InformationDate: April 24, 2022IT Education & Training問題引入當變量的值每次遞增當變量的值每次遞增/遞減遞減1時,時,i=i+1、i+=1i=i-1、i-=1能否有更簡約的方式?能否有更簡約的方式?Neusoft Institute of InformationDate: April 24, 2022IT Education & Training問題分析擴展的算術運算符擴展的算

46、術運算符+自增、自增、-自減運算符,可將增自減運算符,可將增1/1/減減1 1運算表示為:運算表示為:i+i+或或+i(+i(注:放在變量前和變量后含義不同注:放在變量前和變量后含義不同) )i-i-或或-i-iNeusoft Institute of InformationDate: April 24, 2022IT Education & Training作用:使變量值加1或減1種類:前置 +i, -i (先執(zhí)行i+1或i-1,再運用i值后置 i+,i- (先運用i值,再執(zhí)行i+1或i-1例 j=3; k=+j; j=3; k=j+; j=3; printf(“%d,+j); j=

47、3; printf(“%d,j+); a=3;b=5;c=(+a)*b; a=3;b=5;c=(a+)*b; /k=4,j=4/k=3,j=4/4/3/c=20,a=4/c=15,a=4自增、自減運算符自增、自減運算符+ -+ -Neusoft Institute of InformationDate: April 24, 2022IT Education & Training作用:使變量值加作用:使變量值加1 1或減或減1 1種類:種類:前置前置 +i, -i ( +i, -i (先執(zhí)行先執(zhí)行i+1i+1或或i-1i-1,再運用,再運用i i值值后置后置 i+,i- ( i+,i-

48、(先運用先運用i i值值, ,再執(zhí)行再執(zhí)行i+1i+1或或i-1i-1闡明:闡明:+ - + - 不能用于常量和表達式不能用于常量和表達式, ,如如5+5+,(a+b)+(a+b)+ -+ -結合方向:結合方向: 自右向左自右向左優(yōu)先級:優(yōu)先級:- + - - + - -* * / % -+ - / % -+ - (2) (3) (4) (2) (3) (4)例 -i+ -(i+) i=3; printf(“%d,-i+); /-3 例 j+k; (j+)+k;例例 -i+ -i+ i=3; printf( i=3; printf(“%d%d,-i+); ,-i+); 自增、自減運算符+ -N

49、eusoft Institute of InformationDate: April 24, 2022IT Education & Training#includevoid main()int i,j,k,l;i=3;j=7;k=i+;l=j-;printf(i=%d,i);printf(j=%dn,j);printf(k=%d,k);printf(l=%dn,l);i=+i;j=-j;printf(i=%d,i);printf(j=%dn,j);printf(k=%d,k);printf(l=%dn,l);自增、自減運算符實例。程序的運轉結果如下: Neusoft Institute

50、 of InformationDate: April 24, 2022IT Education & Training模擬練習y=5,執(zhí)行完執(zhí)行完y+;后,后,y的值是?的值是?y=5,執(zhí)行完執(zhí)行完+y;后,后,y的值是?的值是?y=5,執(zhí)行完執(zhí)行完x=y+;后,后,x的值是?的值是?y的值是?的值是?y=5,執(zhí)行完執(zhí)行完x=+y;后,后,x的值是?的值是?y的值是?的值是?Neusoft Institute of InformationDate: April 24, 2022IT Education & Training 自增(+)和自減(-)運算符是單目運算符,其功能是使運算

51、對象變量的值增1或減1。它們既可以作前綴運算符位于運算對象的前面,如+i,-i;也可以作后綴運算符位于運算對象的后面,如i +,i -。前綴和后綴運算的數據處置方法有明顯的差別。對于前綴方式表示在用該表達式之前先使變量值增減1;對于后綴方式表示在用該表達式的值之后使n的值增減1。+j,-j 在運用j之前,先使j的值加(減)1。j+,j 在運用j之后,使j的值加(減)1。 自增或自減運算符在運用時,需求留意以下幾點:1運算符的操作對象,只能是變量,而不能作用于常量或表達式。運算符的優(yōu)先級高于根本算術運算符,結合性是“自右向左右結合。2i+,遵照右結合原那么,它相當于-( i +),而不相當于(-

52、i)+方式。 Neusoft Institute of InformationDate: April 24, 2022IT Education & Training討論并總結 %運算符可以對其他類型進展運算嗎?運算符可以對其他類型進展運算嗎? +和和- -運算符的位置和放在操作數的前面和后運算符的位置和放在操作數的前面和后面的區(qū)別?面的區(qū)別?Neusoft Institute of InformationDate: April 24, 2022IT Education & Training結論1%運算符的操作數類型%運算符兩側的操作數只能為整型運算符兩側的操作數只能為整型%運算

53、的結果的符號和被除數一樣被除數運算的結果的符號和被除數一樣被除數為正,余數為正,被除數為負,余數為負為正,余數為正,被除數為負,余數為負其它類型假設進展其它類型假設進展%運算,先進展強迫類型運算,先進展強迫類型轉化轉化Neusoft Institute of InformationDate: April 24, 2022IT Education & Training 結論2+和- -為前綴與后綴的區(qū)別對于前綴方式表示在用該表達式之前先使變量值增減1;對于后綴方式表示在用該表達式的值之后使n的值增減1。+j,-j 在運用j之前,先使j的值加(減)1。j+,j 在運用j之后,使j的值加(減

54、)1Neusoft Institute of InformationDate: April 24, 2022IT Education & Training學以致用 一個數可以整除另一個數如何表達?一個數是偶數一個數可以整除另一個數如何表達?一個數是偶數/奇數奇數如何表達?如何表達? 生活中常見的例子,銀行中知利率生活中常見的例子,銀行中知利率2.5%,存入,存入5000元元1年后共可以取出多少錢?年后共可以取出多少錢? 知某人的工資,要計算個人所得稅等等。用知某人的工資,要計算個人所得稅等等。用C言語來描畫言語來描畫計算計算 Neusoft Institute of Informati

55、onDate: April 24, 2022IT Education & Training第第15次課次課 復習復習 關系運算符和表達式關系運算符和表達式 條件運算符和表達式條件運算符和表達式Neusoft Institute of InformationDate: April 24, 2022IT Education & Training復習1、 設設x=2.5,a=7,y=4.7,求表達式的求表達式的值:值:x+a%3*(int)(x+y)%2/4-92、找出合法的賦值表達式:、找出合法的賦值表達式:x=3x=3+3x=yx=y+2x=y=33=yx+2=1x+2=yx=x

56、+3-6.5-6.5Neusoft Institute of InformationDate: April 24, 2022IT Education & Training復習y=5,執(zhí)行完執(zhí)行完y+;后,后,y的值是?的值是?y=5,執(zhí)行完執(zhí)行完+y;后,后,y的值是?的值是?y=5,執(zhí)行完執(zhí)行完x=y+;后,后,x的值是?的值是?y的值是?的值是?y=5,執(zhí)行完執(zhí)行完x=+y;后,后,x的值是?的值是?y的值是?的值是?寫出以下賦值表達式的等同自反賦值表達式:寫出以下賦值表達式的等同自反賦值表達式:x+=yx-=3x*=3+yx/=3x%=3x=x+yx=x+yx=x-3x=x-3x

57、=xx=x* *(3+y)(3+y)x=x/3x=x/3x=x%3x=x%3Neusoft Institute of InformationDate: April 24, 2022IT Education & Training問題引入 1、星光大道評委正在給最后決賽的兩名選手、星光大道評委正在給最后決賽的兩名選手打分,究竟誰是冠軍呢?我們如今只能根據打分,究竟誰是冠軍呢?我們如今只能根據最后的總分來決議。結果由選手的成果要進最后的總分來決議。結果由選手的成果要進展比較得出。展比較得出。2、輸入兩個恣意的整數,比較并輸出較大數。、輸入兩個恣意的整數,比較并輸出較大數。Neusoft In

58、stitute of InformationDate: April 24, 2022IT Education & Training問題分析 表示兩個操作數或表達式的大小關系,采用表示兩個操作數或表達式的大小關系,采用關系運算符關系運算符Neusoft Institute of InformationDate: April 24, 2022IT Education & Training關系運算符種類: = !=結合方向:自左向右優(yōu)先級別:=!=優(yōu)先級10高優(yōu)先級9低例 ca+b /c(a+b) ab!=c /(ab)!=c a=bc /a=(bc /a=(bc)關系表達式的值:是

59、邏輯值“真或“假,用1和0表示例 int a=3,b=2,c=1,d,f; ab (ab)=c b+cb f=abc/表達式值1/表達式值1/表達式值0/d=1/f=0關系運算符和表達式關系運算符和表達式Neusoft Institute of InformationDate: April 24, 2022IT Education & Training例 int i=1, j=7,a; a=i+(j%4!=0); 那么a=2例 a0 結果為 A100 結果為10關系運算符及表達式舉例Neusoft Institute of InformationDate: April 24, 2022

60、IT Education & Training#includevoid main()int a,b;printf(a=);scanf(%d,&a);printf(b=);scanf(%d,&b);printf(ab:%dn,ab);printf(ab:%dn,a=b:%dn,a=b);printf(a=b:%dn,a = ,=,b = = cdab = = cd(ab)= = (cd)(ab)= = (cd)Neusoft Institute of InformationDate: April 24, 2022IT Education & Training問題2

61、處理 2、輸入兩個恣意的整數,比較并輸出較大數。、輸入兩個恣意的整數,比較并輸出較大數。main()int n1,n2;scanf(“%d%d,&n1,&n2);./*假設假設n1n2,那么那么*/printf(“max=%dn,n1);/*假設假設n1b)?a:b;max=(ab?a:b);ab?a:(bc?b:c);ab?a:(b+1);ab?a:bmax=ab?a:bab?a:bc?b:cab?a:b+1Neusoft Institute of InformationDate: April 24, 2022IT Education & Training運算符的優(yōu)先級表Neusoft Institute of InformationDate: April 24, 2022IT Education &

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論