第2單元順序結(jié)構(gòu)程序設計PPT課件_第1頁
第2單元順序結(jié)構(gòu)程序設計PPT課件_第2頁
第2單元順序結(jié)構(gòu)程序設計PPT課件_第3頁
第2單元順序結(jié)構(gòu)程序設計PPT課件_第4頁
第2單元順序結(jié)構(gòu)程序設計PPT課件_第5頁
已閱讀5頁,還剩80頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 高等教育出版社高等教育出版社 第第 2 單元單元 順序結(jié)構(gòu)程序設計順序結(jié)構(gòu)程序設計信息學奧賽課課通(信息學奧賽課課通(C+C+)高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)第第 1 課課 cout 語句語句學習目標學習目標1. 理解理解 C+ 中的標準輸出流。中的標準輸出流。2. 掌握掌握 C+ 中中 cout 語句的使用。語句的使用。高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)流(流(stream)在在 C+ 中,所有的數(shù)據(jù)輸入、輸出都是以中,所有的數(shù)據(jù)輸入、輸出都是以“流流(stream)”的形式。流是一個處于傳輸狀態(tài)的字節(jié)的形式。流是

2、一個處于傳輸狀態(tài)的字節(jié)序列,是字節(jié)在對象之間的序列,是字節(jié)在對象之間的“流動流動”。流的操作包括輸入與輸出。流的操作包括輸入與輸出。使用輸入使用輸入/輸出流,必須加上以下頭文件:輸出流,必須加上以下頭文件:#include。高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)cout 語句是語句是 C+ 中實現(xiàn)輸出功能的語句。中實現(xiàn)輸出功能的語句。其格式為:其格式為:cout 項目項目1 項目項目2 項目項目n;如果項目是表達式,則輸出表達式的值;如果項目加引如果項目是表達式,則輸出表達式的值;如果項目加引號,則輸出引號內(nèi)的內(nèi)容;如果項目是號,則輸出引號內(nèi)的內(nèi)容;如果項目是

3、endl,則表示換行。,則表示換行。高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)例例1、閱讀并上機調(diào)試以下程序,體會、閱讀并上機調(diào)試以下程序,體會 cout 語句的使用。語句的使用。/p2-1-1#includeusing namespace std;int main() cout 2 + 4 endl; cout “ ABCD ” endl; int a = 10,b = 5; cout a + b endl; return 0;高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)例例2、閱讀并上機調(diào)試以下程序,觀察程序運行的結(jié)果。閱讀并上機調(diào)試以

4、下程序,觀察程序運行的結(jié)果。/p2-1-2#includeusing namespace std;int main() cout *n; /n也表示換行也表示換行 cout *n; cout *n; cout *n; cout *n; cout *n; cout *n; cout *n; cout *n; return 0;高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)例例3、已知梯形的上底長為已知梯形的上底長為15,下底長為,下底長為20,高為,高為12,編程,編程輸出該梯形的面積。輸出該梯形的面積?!締栴}分析問題分析】 根據(jù)梯形面積的計算公式:(上底根據(jù)梯形面積的計

5、算公式:(上底+下底)下底)*高高 / 2,直接,直接計算面積并輸出。計算面積并輸出。/p2-1-3#include using namespace std; int main() int a,b,h,s; a = 15; b = 20; h = 12; s = (a + b) * h / 2; cout s endl; return 0;高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)實踐鞏固實踐鞏固高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)第第 2 2 課課 數(shù)據(jù)類型數(shù)據(jù)類型學習目標學習目標1. 熟知熟知 C+ 中的常用數(shù)據(jù)類型。中的常用數(shù)

6、據(jù)類型。2. 學會根據(jù)具體需求使用不同的數(shù)據(jù)類型。學會根據(jù)具體需求使用不同的數(shù)據(jù)類型。高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)數(shù)據(jù)有數(shù)據(jù)類型、取值范圍、運算類型三個要素。數(shù)據(jù)有數(shù)據(jù)類型、取值范圍、運算類型三個要素。在在 C+ 程序中,使用的各種變量都應程序中,使用的各種變量都應“先聲明,后使先聲明,后使用用”。變量聲明又會涉及數(shù)據(jù)類型、初始值和作用域等。變量聲明又會涉及數(shù)據(jù)類型、初始值和作用域等。高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)高等教育出版社高等教育出版社信

7、息學奧賽課課通(信息學奧賽課課通(C+)/p2-2-1#includeusing namespace std;int main() int a,b,c; double d,e; a = 5;b = 6; d = 2.53; c = a + b; e = c + d; cout a “ + ” b “ = ” c endl; cout c “ + ” d “ = ” e endl; return 0;例例1、閱讀并上機調(diào)試以下程序,觀察運行結(jié)果。、閱讀并上機調(diào)試以下程序,觀察運行結(jié)果。運行程序,輸出:運行程序,輸出:5+6 = 1111+2.53 = 13.53程序中定義了程序中定義了 a、b、

8、c 三個整型變?nèi)齻€整型變量和量和 d、e 兩個實型變量,并進行了兩個實型變量,并進行了賦初值和加法運算。需要注意的是,賦初值和加法運算。需要注意的是,整型數(shù)據(jù)和實型數(shù)據(jù)進行混合運算,整型數(shù)據(jù)和實型數(shù)據(jù)進行混合運算,得到的結(jié)果是實型數(shù)據(jù)。得到的結(jié)果是實型數(shù)據(jù)。高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)說明說明 整數(shù)還有整數(shù)還有“無符號無符號”類型,其取值只會是正數(shù)和類型,其取值只會是正數(shù)和0,范,范圍擴大一倍。例如圍擴大一倍。例如unsigned int類型的取值范圍為類型的取值范圍為04294967295。 還可以通過還可以通過sizeof函數(shù),輸出各種數(shù)據(jù)類型的字

9、節(jié)數(shù),函數(shù),輸出各種數(shù)據(jù)類型的字節(jié)數(shù),例如:例如: cout sizeof(int) endl; 數(shù)據(jù)溢出:數(shù)據(jù)溢出:C+程序中出現(xiàn)這類錯誤時,編譯和運行過程序中出現(xiàn)這類錯誤時,編譯和運行過程中并不報錯。所以,需要特別細心,注意范圍檢查。程中并不報錯。所以,需要特別細心,注意范圍檢查。 高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)/p2-2-2#includeusing namespace std;int main() int a = 2147483647; a = a + 1; cout a= a endl; return 0;/運行程序,輸出:運行程序,輸出:a=

10、-2147483648。 例例2、閱讀并上機調(diào)試以下程序,觀察運行結(jié)果,體會閱讀并上機調(diào)試以下程序,觀察運行結(jié)果,體會int類類型的數(shù)據(jù)范圍。型的數(shù)據(jù)范圍。高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)/p2-2-3#includeusing namespace std;int main() int b = 0, a = 100; char ch = A; b = a + ch; cout ch int(ch) b =b,¥,¥1234lotus_1_2,sum123_,_day,234NUM,#34,int例例1、找出符合找出符合C+規(guī)則的標識符。規(guī)則的標識符。【問題

11、分析】【問題分析】 符合符合C+規(guī)則的標識符有:規(guī)則的標識符有:sum,Day,school_name,lotus_1_2,sum123_,_day。高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)(2) 變量的初始化變量的初始化變量在定義的同時,可以給它指定一個初始值,稱為變變量在定義的同時,可以給它指定一個初始值,稱為變量的初始化。量的初始化。(3) 變量的賦值變量的賦值在在 C+ 中,可以通過中,可以通過“賦值賦值”語句來修改變量的值。語句來修改變量的值。賦值語句的格式如下:賦值語句的格式如下:變量名變量名 = 值或者表達式值或者表達式 ;其中,其中,“=”稱為稱為

12、“賦值號賦值號”。高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)/p2-3-2#includeusing namespace std;int main() int a; a = 3; cout a endl; a = 10; cout a endl; a = a * 5; cout a endl; return 0;例例2、閱讀并上機調(diào)試以下程序,觀察運行結(jié)果,體會變量、閱讀并上機調(diào)試以下程序,觀察運行結(jié)果,體會變量的含義。的含義。高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)實踐鞏固實踐鞏固高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧

13、賽課課通(C+)第第 4 課課 字符與字符串字符與字符串學習目標學習目標1. 體會字符型變量的使用。體會字符型變量的使用。2. 體會字符串的含義和簡單使用。體會字符串的含義和簡單使用。3. 理解轉(zhuǎn)義字符的含義和使用。理解轉(zhuǎn)義字符的含義和使用。高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)存放單個字符的變量,稱為字符變量。字符變量的值是存放單個字符的變量,稱為字符變量。字符變量的值是用一對單引號括起來的一個字符,如用一對單引號括起來的一個字符,如a 和和?等。等。存放一串有若干字符的變量,稱為字符串變量。字符串存放一串有若干字符的變量,稱為字符串變量。字符串變量的值是用一

14、對雙引號括起來的字符序列,如變量的值是用一對雙引號括起來的字符序列,如“Good Morning! ” 和和“a” 等。如果雙引號內(nèi)什么都沒有,稱為空等。如果雙引號內(nèi)什么都沒有,稱為空字符串,與雙引號內(nèi)有一個空格的字符串是不一樣的。字符串,與雙引號內(nèi)有一個空格的字符串是不一樣的。字符和字符串字符和字符串高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)1. 字符變量字符變量定義字符變量的格式如下:定義字符變量的格式如下:char 標識符標識符1, 標識符標識符2, 標識符標識符n;字符變量在內(nèi)存中占用字符變量在內(nèi)存中占用 1 個字節(jié)。在個字節(jié)。在 C+ 中,字符數(shù)據(jù)中,字符

15、數(shù)據(jù)在內(nèi)存中實際存儲的是其在內(nèi)存中實際存儲的是其 ASCII 碼值。碼值。高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)例例1、閱讀并上機調(diào)試以下程序,觀察運行結(jié)果,體會字符、閱讀并上機調(diào)試以下程序,觀察運行結(jié)果,體會字符變量的輸入與輸出。變量的輸入與輸出。/p2-4-1#includeusing namespace std;int main() char c1,c2,c3; c1 = 48; c2 = 65; c3 = 97; cout c1 “ “ c2 “ “ c3 “ “ ; cout int(c1) “ “ int(c2) “ “ int(c3) endl;

16、return 0;/運行程序,輸出運行程序,輸出“0 A a 48 65 97”。高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)例例2、閱讀并上機調(diào)試以下程序,觀察運行結(jié)果,體會字符閱讀并上機調(diào)試以下程序,觀察運行結(jié)果,體會字符變量的運算。變量的運算。/p2-4-2#includeusing namespace std;int main() char c1,c2,c3; c1 = a; c2 = Z; c1 = c1 - 32; c2 = c2 + 32; c3 = 0 + 9; cout c1 “ ” c2 “ ” c3 endl; return 0;/運行程序,輸出

17、:運行程序,輸出:A z 9。高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)C+ 中定義了一些字符前加中定義了一些字符前加“”的特殊字符,稱為轉(zhuǎn)義的特殊字符,稱為轉(zhuǎn)義字符。字符。字符輸入函數(shù):字符輸入函數(shù):getchar(輸入字符)(輸入字符);字符輸出函數(shù):字符輸出函數(shù):putchar(輸出字符)。(輸出字符)。2. 轉(zhuǎn)義字符轉(zhuǎn)義字符高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)例例3、閱讀并上機調(diào)試以下程序,觀察運行結(jié)果,體會、閱讀并上機調(diào)試以下程序,觀察運行結(jié)果,體會getchar和和putchar的使用方式。的使用方式。/p2-4-3#i

18、ncludeusing namespace std;int main() char a = A ; putchar(a); / 輸出一個輸出一個A putchar( ); / 輸出輸出 putchar( n ); / 輸出回車換行輸出回車換行 char c; c = getchar(); putchar(c + 1); /輸入一個字符輸入一個字符, 輸出它在輸出它在ASCII 碼表中的后一個字符碼表中的后一個字符 return 0;高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)在在 C+ 中,可以用字符數(shù)組中,可以用字符數(shù)組 char s存放字符串,存放字符串,也可以用

19、也可以用 STL 中的中的 string 類型。每一個字符串的結(jié)尾都要類型。每一個字符串的結(jié)尾都要加一個加一個“字符串結(jié)束標志字符串結(jié)束標志”,而且是系統(tǒng)自動添加上去的,而且是系統(tǒng)自動添加上去的,C+規(guī)定以轉(zhuǎn)義字符規(guī)定以轉(zhuǎn)義字符“0”作為字符串結(jié)束標志作為字符串結(jié)束標志。字符串輸入、輸出函數(shù)字符串輸入、輸出函數(shù) gets() 和和 puts()。3. 字符串變量字符串變量高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)例例4、閱讀并上機調(diào)試以下程序,觀察運行結(jié)果,體會閱讀并上機調(diào)試以下程序,觀察運行結(jié)果,體會puts()和和gets()的使用方式。的使用方式。 /p2-4

20、-4#includeusing namespace std;char s20;/定義一個長度為定義一個長度為20的字符數(shù)組的字符數(shù)組sint main() gets(s); puts(s); return 0;/運行程序,若輸入:運行程序,若輸入:abcd 123,則輸出:,則輸出:abcd 123。高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)實踐鞏固實踐鞏固高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)第第 5 課課 算術(shù)運算符算術(shù)運算符學習目標學習目標1. 熟知算術(shù)運算符。熟知算術(shù)運算符。2. 熟練掌握算術(shù)表達式的書寫。熟練掌握算術(shù)表達式的

21、書寫。3. 了解一些常用的數(shù)學函數(shù)。了解一些常用的數(shù)學函數(shù)。高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)算術(shù)運算符算術(shù)運算符高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)表達式及其運算規(guī)則表達式及其運算規(guī)則 將常量、變量、算術(shù)運算符、括號以及函數(shù)連接在一將常量、變量、算術(shù)運算符、括號以及函數(shù)連接在一起的計算式,稱為算術(shù)表達式。起的計算式,稱為算術(shù)表達式。 當一個算術(shù)表達式中包含多個運算符時,遵循的計算當一個算術(shù)表達式中包含多個運算符時,遵循的計算順序(運算優(yōu)先級)為:先算順序(運算優(yōu)先級)為:先算“括號括號”里的,再算里的,再算“乘法乘法、除法

22、、模、除法、?!?,最后算,最后算“加法、減法加法、減法”,同一級別的按照,同一級別的按照類型從左往右依次計算。類型從左往右依次計算。 表達式的計算結(jié)果稱為表達式的值。表達式的計算結(jié)果稱為表達式的值。 高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)例例1、輸入長方形的長和寬(整型數(shù)據(jù)),計算并輸出長方、輸入長方形的長和寬(整型數(shù)據(jù)),計算并輸出長方形的周長和面積。例如,輸入形的周長和面積。例如,輸入“8 3”,輸出,輸出“22 24”。/p2-5-1#includeusing namespace std;int main() int a,b,c,s; cin a b; /

23、 從鍵盤輸入兩個整數(shù)給從鍵盤輸入兩個整數(shù)給 a 和和 b c = 2 * (a + b); s = a * b; cout c ” ” s endl; return 0;高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)例例2、求任意一個三位數(shù)的三個數(shù)字之和。例如,輸入求任意一個三位數(shù)的三個數(shù)字之和。例如,輸入897,輸出輸出24。 /p2-5-2#includeusing namespace std;int main() int n,a,b,c; cin n; /從鍵盤輸入一個整數(shù)給從鍵盤輸入一個整數(shù)給n a = n % 10; b = n / 10 % 10; c =

24、n / 100; cout a + b + c endl; return 0;高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)例例3、在一個直角坐標系中存在兩個點。輸入兩個點的坐標在一個直角坐標系中存在兩個點。輸入兩個點的坐標(整數(shù)),輸出它們連成的線段長度。(整數(shù)),輸出它們連成的線段長度。例如,輸入例如,輸入39 22 11 5,輸出,輸出32.7567。 /p2-5-3#include#include/使用使用數(shù)學函數(shù)前必須添加數(shù)學函數(shù)前必須添加cmath或者或者math.h using name

25、space std;int main() double x1,y1,x2,y2; cin x1 y1 x2 y2; cout 項目項目1 項目項目2 項目項目n;在使用在使用 cin 語句從鍵盤輸入多個數(shù)據(jù)項的時候,一語句從鍵盤輸入多個數(shù)據(jù)項的時候,一定要注意三個一致:數(shù)據(jù)個數(shù)一致、輸入順序一致、數(shù)定要注意三個一致:數(shù)據(jù)個數(shù)一致、輸入順序一致、數(shù)據(jù)類型一致。據(jù)類型一致。高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)例例1、閱讀下列程序,體會、閱讀下列程序,體會 cin 語句的使用。語句的使用。/p2-6-1#includeusing namespace std;int

26、main() int a,b,c; cin a b c; char d,e; cin d e; float f; cin f; cout ” a= ” a ” b= ” b ” c= ” c endl; cout ” d= ” d ” e= ” e ” f= ” f endl; return 0;高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)例例2、編程從鍵盤輸入一個小寫字母,將它轉(zhuǎn)換成大寫字母輸編程從鍵盤輸入一個小寫字母,將它轉(zhuǎn)換成大寫字母輸出出。/p2-6-2#includeusing namespace std;int main() char ch1, ch2;

27、cin ch1; ch2 = ch1 - 32; cout ch2 endl; /cout ch1 - 32 endl;可以直接輸出可以直接輸出ch2的的ASCII碼碼 return 0; 高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)例例3、從鍵盤輸入一個梯形的上底、下底和高(整型數(shù)據(jù)),輸從鍵盤輸入一個梯形的上底、下底和高(整型數(shù)據(jù)),輸出該梯形的面積(保留小數(shù)點后出該梯形的面積(保留小數(shù)點后2位)。位)。例如,輸入:例如,輸入:5 8 7,則輸出:,則輸出:45.50。 /p2-6-3#include#includeusing namespace std;int

28、main() int a,b,h; float area; cin a b h; area = (a + b) * h / 2.0; cout setprecision(2) fixed area endl; return 0; 高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)實踐鞏固實踐鞏固高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)第第 7 課課 賦值語句賦值語句學習目標學習目標掌握賦值語句的使用方法。掌握賦值語句的使用方法。高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)在在 C+ 中,可以通過中,可以通過“賦值語句賦

29、值語句”來修改變量的值。賦來修改變量的值。賦值語句的格式如下:值語句的格式如下:變量名變量名 = 值或者表達式值或者表達式 ;其中,其中,“=”稱為稱為“賦值號賦值號”。需要注意的是:需要注意的是:a=b 與與 a=b 是完全不同的意義,是完全不同的意義,“=”是關(guān)系運算符。是關(guān)系運算符。高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)/p2-7-1#includeusing namespace std;int main() int a,b,s,d; bool l,e; a = 3; b = 3; s = a + b; d = a / b; l = a b; e = a

30、= b; cout s d l e endl; return 0;例例1、閱讀程序,寫出程序的運行結(jié)果。、閱讀程序,寫出程序的運行結(jié)果。運行程序,輸出:運行程序,輸出:6 1 0 1。計算時,計算時,“a b”和和“a = b”的的結(jié)果分別是結(jié)果分別是bool類型的值類型的值0和和1。高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)在在 C+ 中,賦值語句非常靈活,有多種復合寫法。中,賦值語句非常靈活,有多種復合寫法。(1) 算術(shù)復合:算術(shù)復合:a=a+x;寫成寫成a+=x; 還有還有-=、*=、/=,%=(2) 賦值復合:賦值復合:C+支持在一個表達式里出現(xiàn)連續(xù)的賦支持

31、在一個表達式里出現(xiàn)連續(xù)的賦值號,即一次給幾個變量賦同一個值。此時計算順序是從值號,即一次給幾個變量賦同一個值。此時計算順序是從右到左,有括號存在的,先計算括號內(nèi)的表達式。右到左,有括號存在的,先計算括號內(nèi)的表達式。(3) 逗號表達式:逗號表達式:在在C+中,允許用逗號連接幾個表達中,允許用逗號連接幾個表達式,構(gòu)成一個更大的表達式,稱為式,構(gòu)成一個更大的表達式,稱為“逗號表達式逗號表達式”。 其格式如下:表達式其格式如下:表達式1,表達式,表達式2,表達式表達式n; 各個表達式的計算順序是從左往右,最終整個表達式的各個表達式的計算順序是從左往右,最終整個表達式的值是值是“表達式表達式n”的值。的

32、值。高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)/p2-7-2#includeusing namespace std;int a,b;int main() cin a b; a += b; b -= 1; cout a “ ” b endl; a /= 2; b *= b; cout a “ ” b endl; a %= b; b %= 10; cout a “ ” b endl; return 0;例例2、閱讀程序,寫出程序的運行結(jié)果。、閱讀程序,寫出程序的運行結(jié)果。運行程序,輸入:運行程序,輸入:100 56輸出:輸出:156 5578 302578 5高等教育出

33、版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)/p2-7-3#includeusing namespace std;int a,b;int main()a = b = 5;cout a b endl;(a = b) = 10;cout a b endl;(a += b) = 20;cout a b endl;return 0;例例3、閱讀程序,寫出程序的運行結(jié)果。、閱讀程序,寫出程序的運行結(jié)果。運行程序,輸出:運行程序,輸出:5 510 520 5高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)/p2-7-4#includeusing namespace s

34、td;int main() int j = 10,k = 1000; int i = (k + 1, j + 100, 999 + j); cout i endl; return 0;例例4、閱讀程序,寫出程序的運行結(jié)果。、閱讀程序,寫出程序的運行結(jié)果。運行程序,輸出:運行程序,輸出:1009。 給給i賦值的語句中賦值號右邊的括號是必須要加的,因為逗號運算符賦值的語句中賦值號右邊的括號是必須要加的,因為逗號運算符的優(yōu)先級低于賦值號的優(yōu)先級。的優(yōu)先級低于賦值號的優(yōu)先級。高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)實踐鞏固實踐鞏固高等教育出版社高等教育出版社信息學奧賽課課

35、通(信息學奧賽課課通(C+)第第 8 課課 復合運算符復合運算符學習目標學習目標理解并學會使用理解并學會使用 C+ 中的復合運算符。中的復合運算符。高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)在在 C+ 中,復合運算符實際上是賦值語句的一種縮中,復合運算符實際上是賦值語句的一種縮寫形式,使得修改變量值的操作更加簡潔。寫形式,使得修改變量值的操作更加簡潔。高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)1. 自加運算符和自減運算符自加運算符和自減運算符自加運算符自加運算符“+”有兩種寫法,即有兩種寫法,即 i+ 或者或者 +i。在單獨。在單獨使用時

36、,其作用相同,都相當于使用時,其作用相同,都相當于i=i+1。自減運算符。自減運算符“-”也有也有兩種寫法,即兩種寫法,即 i- 或者或者 -i。例如:例如:int a,b = 5; b+; /b的值變?yōu)榈闹底優(yōu)? +b; /b的值變?yōu)榈闹底優(yōu)? a = b+; /a的值為的值為7,b的值變?yōu)榈闹底優(yōu)? a = +b; /b的值變?yōu)榈闹底優(yōu)?,a的值也為的值也為9高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)/p2-8-1#includeusing namespace std;int main() int i = 3, j; j = +i; cout j i endl;

37、 j = i+; cout j i endl; return 0;例例1、閱讀程序,寫出程序的運行結(jié)果。、閱讀程序,寫出程序的運行結(jié)果。運行程序,運行程序,輸出:輸出:4 44 5高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)2. 復合算術(shù)賦值復合算術(shù)賦值復合算術(shù)賦值,如復合算術(shù)賦值,如 +=、-=、*=、/=、%=。復合算術(shù)賦值運算的優(yōu)。復合算術(shù)賦值運算的優(yōu)點是程序更精煉,編譯效率高。點是程序更精煉,編譯效率高。 int a,b; a = b = 5; /a的值為的值為5,b的值為的值為5 a += b; /a的值為的值為10,相當于,相當于a=a+b a -= b;

38、 /a的值為的值為5,相當于,相當于a=a-b a *= b; /a的值為的值為25,相當于,相當于a=a*b a /= b; /a的值為的值為5,相當于,相當于a=a/b a %= b; /a的值為的值為0,相當于,相當于a=a%b 需要注意的是,需要注意的是,“a *= b + 8”等價于等價于“a = a * (b + 8)”。復合算術(shù)。復合算術(shù)賦值運算的優(yōu)點是程序更精煉、編譯效率高。賦值運算的優(yōu)點是程序更精煉、編譯效率高。高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)/p2-8-3#includeusing namespace std;int main() in

39、t a = 10,b,c,t = 0,s = 100; a += 20; c = b *= b = a; (s /= c) %= a; t += (a + b) * c; cout a b c s t endl; return 0;例例3、閱讀程序,寫出程序的運行結(jié)果。、閱讀程序,寫出程序的運行結(jié)果。運行程序,輸出:運行程序,輸出:30 900 900 0 837000高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)實踐鞏固實踐鞏固高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)第第 9 課課 運算規(guī)則運算規(guī)則學習目標學習目標1. 掌握掌握 C+ 的

40、運算規(guī)則(優(yōu)先級和結(jié)合性)。的運算規(guī)則(優(yōu)先級和結(jié)合性)。2. 掌握數(shù)據(jù)類型的自動轉(zhuǎn)換和強制轉(zhuǎn)換。掌握數(shù)據(jù)類型的自動轉(zhuǎn)換和強制轉(zhuǎn)換。高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)在在 C+ 中,整型數(shù)據(jù)和實型數(shù)據(jù)可以混合運算,字符型中,整型數(shù)據(jù)和實型數(shù)據(jù)可以混合運算,字符型數(shù)據(jù)可以和整型數(shù)據(jù)通用。但是,在具體計算時,編譯系統(tǒng)數(shù)據(jù)可以和整型數(shù)據(jù)通用。但是,在具體計算時,編譯系統(tǒng)會自動將不同類型的數(shù)據(jù)轉(zhuǎn)換成同一類型,再進行運算,稱會自動將不同類型的數(shù)據(jù)轉(zhuǎn)換成同一類型,再進行運算,稱為數(shù)據(jù)類型的為數(shù)據(jù)類型的“自動轉(zhuǎn)換自動轉(zhuǎn)換”。高等教育出版社高等教育出版社信息學奧賽課課通(信

41、息學奧賽課課通(C+) C+語言還規(guī)定了運算符的優(yōu)先級和結(jié)合性。在表達式語言還規(guī)定了運算符的優(yōu)先級和結(jié)合性。在表達式求值時,先按運算符的優(yōu)先級別高低次序執(zhí)行,例如先乘除求值時,先按運算符的優(yōu)先級別高低次序執(zhí)行,例如先乘除后加減。如果一個運算對象兩側(cè)的運算符的優(yōu)先級別相同,后加減。如果一個運算對象兩側(cè)的運算符的優(yōu)先級別相同,如如a-b+c,則按規(guī)定的則按規(guī)定的“結(jié)合方向結(jié)合方向”處理。算術(shù)運算符的結(jié)合處理。算術(shù)運算符的結(jié)合方向為方向為“先左后右先左后右”,又稱之為,又稱之為“左結(jié)合性左結(jié)合性”。有些運算符。有些運算符的結(jié)合方向為的結(jié)合方向為“自右向左自右向左”,即右結(jié)合性,例如賦值運算符,即右結(jié)

42、合性,例如賦值運算符。高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)在賦值運算中,賦值號兩邊數(shù)據(jù)的類型不同時,賦值號在賦值運算中,賦值號兩邊數(shù)據(jù)的類型不同時,賦值號右邊量或者表達式值的類型將自動轉(zhuǎn)換為左邊量的類型。右邊量或者表達式值的類型將自動轉(zhuǎn)換為左邊量的類型。在在 C+ 中,除了中,除了“自動轉(zhuǎn)換自動轉(zhuǎn)換”外,還可以外,還可以“強制類型強制類型轉(zhuǎn)換轉(zhuǎn)換”。格式為:。格式為:( 類型名類型名 )( 表達式表達式 )( 類型名類型名 ) 變量變量例如:例如:(double)a 將將a強制轉(zhuǎn)換成強制轉(zhuǎn)換

43、成double型型 (int)(x + y) 將將x+y的值強制轉(zhuǎn)換為的值強制轉(zhuǎn)換為int型型 (float)(4 % 3) 將將4%3的值強制轉(zhuǎn)換成的值強制轉(zhuǎn)換成float型型高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)/p2-9-1#includeusing namespace std;int main() float pi = 3.14159; int s,r = 4; s = r * r * pi; cout s endl; return 0;例例1、閱讀并上機調(diào)試程序,觀察運行結(jié)果,體會賦值語句中閱讀并上機調(diào)試程序,觀察運行結(jié)果,體會賦值語句中的自動類型轉(zhuǎn)換

44、。的自動類型轉(zhuǎn)換。運行程序,輸出:運行程序,輸出:50高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)/p2-9-2#include using namespace std;int main() int x; float a = 15.75; double b = 323.01; cout (int) a endl; cout (int) (b + 0.5) % 10 endl; cout (int) b % (int) a + 1 m,則,則 m自動取自動取 n 值,即保值,即保證證 n 個字符正常輸出。個字符正常輸出。8) “%m.nf”,輸出浮點數(shù),占,輸出浮點數(shù),

45、占 m 列,其中有列,其中有 n 位小數(shù)位小數(shù),如果數(shù)值長度小于,如果數(shù)值長度小于 m,則左補空格。,則左補空格。9) “%-m.nf”,同上,只是使輸出的數(shù)值向左端靠齊,同上,只是使輸出的數(shù)值向左端靠齊,右端補空格。右端補空格。高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)例例1、閱讀并上機調(diào)試程序,體會、閱讀并上機調(diào)試程序,體會 printf 函數(shù)的使用。函數(shù)的使用。/p2-10-1#includeusing namespace std;int main() printf( “ %d ” ,1); / 輸出輸出 1 printf( “ %o ” ,8); / 輸出輸

46、出 10 printf( “ %x ” ,17); / 輸出輸出 11 printf( “ %u ” ,12); / 輸出輸出 12 printf( “ %c ” ,49); / 輸出輸出 1 printf( “ %s ” , ” 1ab11 ” ); / 輸出輸出 1ab11 printf( “ %f ” ,0.14); / 輸出輸出 0.140000 printf( “ %e ” ,0.1); / 輸出輸出 1.000000e-001 printf( “ %lld ” ,21473648); / 輸出輸出 21473648高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+

47、)2. scanf 函數(shù)函數(shù)scanf 函數(shù)的格式為:函數(shù)的格式為:scanf(格式控制字符串(格式控制字符串 , 地址表列)地址表列);scanf 的作用是輸入指定形式的數(shù)據(jù)。其中,地址列表可以的作用是輸入指定形式的數(shù)據(jù)。其中,地址列表可以是變量的地址,也可以是字符串的首地址。是變量的地址,也可以是字符串的首地址。 例如:例如:int a,b; scanf(“%d,%d”,&a,&b); 就表示先在內(nèi)存中各開辟就表示先在內(nèi)存中各開辟4個字節(jié)空間給個字節(jié)空間給a和和b,當遇到,當遇到scanf語句時,就把鍵盤上輸入的語句時,就把鍵盤上輸入的2個數(shù)依次存入個數(shù)依次存入a、b所在的空所在的空間(及地址中)。間(及地址中)?!?amp;a”就表示取就表示取a變量變量的的地址,地址,“&”稱為稱為取地址符。簡而言之,就是先找地址后放值。取地址符。簡而言之,就是先找地址后放值。高等教育出版社高等教育出版社信息學奧賽課課通(信息學奧賽課課通(C+)2. scanf 函數(shù)函數(shù) 使用使用scanf函數(shù)時,需要注意以下幾個問題:函數(shù)時,需要注意以下幾個

溫馨提示

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

評論

0/150

提交評論