第01章 C++基礎知識_第1頁
第01章 C++基礎知識_第2頁
第01章 C++基礎知識_第3頁
第01章 C++基礎知識_第4頁
第01章 C++基礎知識_第5頁
已閱讀5頁,還剩80頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第第1 1章章 C+C+基礎知識基礎知識 1.1 程序設計語言的基本概念1.2 C+程序的基本結構 1.3 一個應用程序的開發(fā)過程 1.4 C+的詞法規(guī)則 1.5 C+基本數(shù)據(jù)類型(重點)1.6 常量與變量 1.7 運算符與表達式(重點、難點)程序設計語言程序設計語言是人類在計算機上解決實際問題的一種工具。計算機求解問題的過程:計算機可解的實際問題實際問題數(shù)學模型 程序設計語程序設計語言的表達形式言的表達形式(程序程序) 計算機執(zhí)行程序結果。 1.1 程序設計語言的基本概念1. 面向過程的結構化程序設計語言2. 面向對象的程序設計語言有兩類(1)一類是完全面向對象的語言。(2)另一類是兼顧面向

2、過程和面向對象的混合式語言。如:C+語言。 程序設計語言類型:1.2 C+程序的基本結構 1.2.1 C+程序結構 一般來說,C+程序的結構包含兩個部分:聲明區(qū)、函數(shù)區(qū)聲明區(qū)、函數(shù)區(qū)在任何一個區(qū)內都可以隨時插入程序的注釋注釋。 【例1.1】從鍵盤輸入圓的半徑,求圓的面積。程序代碼如下:/*ex1_1.cpp*#include using namespace std;#define PI 3.14159float sum(float x);void main() float r,s; coutr; s=sum(r); coutr=r s= sendl;float sum(float x) ret

3、urn PI*x*x;函數(shù)函數(shù)聲明注釋注釋1聲明區(qū)聲明區(qū)在函數(shù)之外。程序的聲明區(qū)可能需要編寫:(1)包含文件,如例1.1中的#include ;(2)宏定義,如例1.1中的#define PI 3.14159;(3)函數(shù)聲明,如例1.1中的float sum(float x);(4)條件編譯;(5)全局變量聲明;(6)結構體等的定義;(7)類的定義。2函數(shù)區(qū)一個程序必須有一個主函數(shù)main();還可以有和n個其他函數(shù)(n0 )。每個函數(shù)的組成分為兩部分:函數(shù)頭(首行) 函數(shù)體(花括號 里的全部內容)。函數(shù)頭描述:函數(shù)值類型、函數(shù)名、函數(shù)參數(shù)的類型與參數(shù)名稱。函數(shù)體描述:函數(shù)內部用到的變量、各種

4、操作處理、函數(shù)值返回。任何一種程序設計語言可用下面的模型描述:一種程序設計語言的模型與人類的自然語言模型是一致的,都遵守這種模型。讀者可以借鑒人類自然語言的學習方法來學習某種程序設計語言。1.2.2 C+程序的書寫格式程序的書寫格式(1)一般每行寫一條語句;也可以將一條語句寫在多行上。(2)每條語句都以分號結束(末尾無分號的行,一般不叫語句,可以稱之為命令)。(3)低層次的語句可以相對于上級層次向右縮進書寫,層次分明;多條語句可以用花括號包起來成為一條復合語句。(4)兩種注釋符:多行注釋的形式用:/* .*/占據(jù)多行。單行注釋以雙斜杠“/”開頭,占據(jù)一行。1.3 一個應用程序的開發(fā)過程 1.3

5、.1 Visual C+ 6.0開發(fā)環(huán)境 采用Visual C+ 6.0開發(fā)環(huán)境 ;這是一個集編輯、編譯、鏈接、調試運行于一體的集成環(huán)境,即在一個程序的控制下可以分步或一次性地完成編輯、編譯、鏈接、調試運行工作。1.3.2 一個應用程序的開發(fā)過程 1啟動Visual C+ 6.0開發(fā)環(huán)境 2創(chuàng)建工程項目 3打開項目文件 4創(chuàng)建C+源程序文件并添加到項目文件中 5編譯、鏈接與運行程序 在上頁圖中單擊“Compile”按鈕進行編譯,單擊“Build”按鈕進行編譯與鏈接(在沒有編譯的情況下),單擊“Execute Program”按鈕進行編譯、鏈接和運行(在沒有編譯、鏈接的情況下)。例1.1程序所建

6、立的項目的運行結果如下:1.4 C+的詞法規(guī)則 1.4.1 C+的字符集組成 C+的字符集包括如下字符:(1)26個小寫字母:az。(2)26個大寫字母:AZ。(3)10個數(shù)字:09。(4)標點和特殊字符:+ - * / , : ; ? | ! # % & ( ) 空格。(5)空字符:ASCII碼為0的字符,用作字符串的結束符。1.4.2 C+的單詞及其構詞規(guī)則 單詞由若干個合法字符組成,下面介紹常用的單詞。1標識符標識符 標識符是由字母、下畫線和數(shù)字組成的字符序列,且第一個字母不能是數(shù)字。標識符中的字母大小寫是不同的。標識符用來命名C+程序中的常量、變量、函數(shù)、語句標號及類型定義符等

7、。有一部分標識符是系統(tǒng)定義的。本小節(jié)關心的是用戶定義的標識符。 在定義標識符時,要注意以下幾點:(1)要遵守上面的構成標識符的規(guī)則。Aa、ABC、A_Y、ycx11、_name是合法標識符。而5xyz、m.x、!abc、x-y是非法標識符。(2)系統(tǒng)已經使用的關鍵字、函數(shù)名或其他已定義的單詞不能再定義成標識符。(3)定義標識符時盡可能讓標識符有意義,便于閱讀,即做到“見名知義”。 2 2關鍵字關鍵字關鍵字(又稱保留字)是被系統(tǒng)定義了的已具有特定含義的標識符。如:main, if, int 等。3 3運算符運算符運算符用來連接操作數(shù)組成表達式。只需要1個操作數(shù)的運算符稱為單目運算符,需要2個操作

8、數(shù)的運算符稱為雙目運算符,需要3個操作數(shù)的運算符稱為三目運算符。4 4常量常量常量是在程序中不改變的量。C+程序中的常量有:整型常量、浮點型常量、字符常量和字符串常量4種。將在1.6節(jié)中詳細介紹。5 5變量變量變量是在程序中可以改變的量。變量有三要素:名字、類型和值。某個變量的值被改變后,將一直保持到下一次被改變。變量是一種標識符,其命名完全與標識符相同。將在1.6節(jié)中詳細介紹其特性。 6 6注釋符注釋符注釋符的作用是在程序中標識注釋信息。多行注釋以“/*”開始,以“ */ ”結束,占據(jù)多行。單行注釋以“/”開始,占據(jù)一行。7 7分隔符分隔符分隔符有:空格符、換行符、水平制表符、逗號(,) 、

9、分號(;) 、冒號(:)。 1.5 C+基本數(shù)據(jù)類型 表1-2 C+基本數(shù)據(jù)類型基本型(int)短整型(short)長整型(long)無符號整型(unsigned int)無符號短整型(unsigned short int)無符號長整型(unsigned long int)有符號整型(signed int)有符號短整型(signed short int)有符號長整型(signed long int)字符型(char)單精度浮點型(float)雙精度浮點型(double)長雙精度浮點型(long double)4244244241488-2 147 483 6482 147 483 647-32

10、 76832 767-2 147 483 6482 147 483 64704 294 967 295065 53504 294 967 295-2 147 483 6482 147 483 647-32 76832 767-2 147 483 6482 147 483 6470255-3.410383.41038-1.7103081.710308-1.7103081.710308數(shù) 據(jù) 類 型占用內存 字節(jié)數(shù)數(shù)據(jù)表達范圍1.6 常量與變量 常量與變量是C+中最基本的數(shù)據(jù)描述形式。本節(jié)只介紹常量和變量的基本概念,包括4種常量和基本數(shù)據(jù)類型的變量。1.6.1 常量常量是在程序中不改變的量不改變的

11、量。C+程序中有4種基本常量:整型常量、浮點型常量、字符常量、字符串常量。 1整型常量C+程序中,整型常量和浮點常量統(tǒng)稱數(shù)值常量。整型常量有三種形式:十進制、八進制和十六進制。十進制常量的寫法就是算術表達方式,如:12、345都是合法的十進制常量。八進制常量在數(shù)值前要加上一個零(0),如:011、077都是合法的八進制常量。十六進制常量的寫法是在數(shù)值前加上一個零(0)和一個字母X(大小寫均可),如0X11、0 xF都是合法的十六進制常量,分別等于十進制數(shù)17和15。 2浮點型常量浮點型常量又稱實數(shù)型常量。分為十進制數(shù)形式和指數(shù)形式兩種表示方法。(1)十進制數(shù)形式的浮點型常量的書寫格式:.其中小

12、數(shù)點不能省略。如:1.2345、1.0、1.、.12345均是合法的浮點型常量。(2)指數(shù)形式的浮點型常量的書寫格式:.E其中,指數(shù)形式表示符“E”大小寫均可。.部分允許不含小數(shù)點的,或含小數(shù)點的,必須是整數(shù)必須是整數(shù)。如12E-3、0.1E2、.12345E6、0E0等均是合法的。 【例例1.2】浮點型常量的運用。浮點型常量的運用。/*ex1_2.cpp*#include #include using namespace std;void main() int x=77; float a; double b; long double c; a=88.12300000000000000000f

13、; b=-1.69901234567890123456789e308; c=-1.69901234567890123456789e308; coutx=xendl; couta=setprecision(7)aendl; couta=setiosflags(ios:scientific)aendl; coutsetprecision(20)b=b; couttc=cendl;3字符常量字符常量是一個用單引號括起來的字符。由于單引號是字符常量的定界符,單引號本身的表示則要加反斜杠,成為如下形式:。反斜杠在字符表達中有重要作用,一些特殊字符必須用帶的形式表示,如:n-換行符,作用等同于endl;t

14、-制表符,作用是使光標右移一定空格距離;0-空字符,用作字符串結束標記。在C+中,字符常量具有整數(shù)值,其值是該字符的ASCII碼。一個字符常量可以與整數(shù)進行加減運算?!纠?.3】字符常量的運用。字符常量的運用。/*ex1_3.cpp*#include #include Using namespace std;void main() char a,b,c,d; a=A; b=B; c=a+3; d=; coutatbtcendl;couthexint(a)tint(b)tint(c)endl; coutdendl; 程序的運行結果如下:ABD414244 4字符串常量字符串常量是用雙引號括起來

15、的若干個字符組成的字符序列。由于雙引號是字符串常量的定界符,雙引號本身表示成。是一個空字符串,空字符串中沒有任何有效字符,只有一個字符串結束符。在C+程序中,任何一個字符串常量都有一個結束符,該結束符是ASCII碼值為0的空字符,表示為0。字符常量與字符串常量是不同的,表現(xiàn)在:(1)表示形式不同。前者用單引號括起來,后者用雙引號括起來。(2)存放它們的對象不同。前者存放在字符變量中,后者存放在字符數(shù)組或字符指針指定的位置。如,char c=A, s5=ABCD;(3)存放字符串常量時要加一個結束符,而存放字符常量則不需要。所以A與A不同。且其占用的內存空間也不同,A占1個字節(jié);A占2個字節(jié),前

16、一字節(jié)存放字符A,后一字節(jié)存放結束符。(4)對它們進行的運算也不同。字符與字符、字符與整數(shù)間可作加減運算;而字符串只能作連接運算。 【例例1.4】字符串常量的運用。字符串常量的運用。/*ex1_4.cpp*#include using namespace std;void main() char s180,s280; couts1s2; couts1ts2endl;程序的運行結果如下:5 5符號常量符號常量符號常量是一個用來替代常量(前面討論的4種常量)的標識符。這個標識符當然叫符號常量。(1)增強程序的可讀性。標識符可以定義得有意義,如用PI表示圓周率。(2)書寫簡單,不易出錯。有的常量直接

17、書寫很長,容易出錯,如圓周率3.141 592 6用PI代之,既簡單又不容易出錯。(3)修改程序方便。 例如:#define PI 3.1415926#define SIZE 100 1.6.2 變量 變量是在程序中可以改變的量,變量有名字、類型和值三個要素。變量的類型包括存儲類和數(shù)據(jù)類型兩個方面。某個變量的值被改變后,將一直保持到下一次被改變。 1變量的定義變量在使用前必須定義。格式如下: ;例如:int a, b, c; a、b、c為整型變量。因缺省存儲類,若該語句是定義在函數(shù)體內,則a、b、c的存儲類為自動類;若該語句是定義在函數(shù)體外,則a、b、c的存儲類是外部類。static doub

18、le x, y 10 ; static表示:x、y是靜態(tài)變量;double表示: x、y是雙精度變量;10表示: y是數(shù)組。 2 2變量的數(shù)據(jù)類型變量的數(shù)據(jù)類型變量的基本數(shù)據(jù)類型有:整型、浮點型和字符型。變量的構造數(shù)據(jù)類型稱自定義類型。它由若干個數(shù)據(jù)類型相同或不相同的變量所構成。如數(shù)組、結構體、共用體、類都是構造數(shù)據(jù)類型。3 3變量的存儲類變量的存儲類( (在第在第3 3章詳細介紹章詳細介紹)變量的存儲類定義變量的有效性范圍,即作用域。C+中有4類:自動存儲類(auto)、寄存器存儲類(register)、靜態(tài)存儲類(static)和外部存儲類(extern)。 【例例1.5】定義在前、引用在

19、后的外部存儲類變量定義在前、引用在后的外部存儲類變量s1、s2。程序代碼如下:程序代碼如下:/*ex1_5.cpp*#include using namespace std;char s180, s280; /變量變量s1與與s2的定義在前的定義在前void main() couts1s2; /變量變量s1與與s2的引用在后的引用在后 couts1ts2endl; 【例1.6】定義在后、引用在前的外部存儲類變量定義在后、引用在前的外部存儲類變量s1、s2。程序代碼如下:/*ex1_6.cpp*#include using namespace std;void main() extern cha

20、r s180, s280; /聲明聲明外部存儲類變量外部存儲類變量(多此句多此句) couts1s2; /變量變量s1與與s2的引用在前的引用在前 couts1ts2endl; char s180, s280; /變量變量s1與與s2的定義在后的定義在后4變量的值變量的值是變量三要素之一??梢栽诙x變量時對變量賦初值(變量初始化);也可以在引用變量時通過其他方法(賦值表達式、cin、scanf函數(shù)等)對變量賦值。變量初始化格式:=,=,;變量初始化規(guī)則:變量初始化規(guī)則:外部類和靜態(tài)類變量如果不進行初始化,那么它們由編譯程序賦以“默認初始值”(數(shù)值型變量默認初值為數(shù)值0,字符型變量默認初值為空字

21、符0)。外部類和靜態(tài)類變量初始化 (時段)是在編譯時一次性給定初值。自動類和寄存器類變量如果不進行初始化,那么它們的初值是不確定的(隨機、人們無法知道);因此盲目使用這樣的未初始化變量是危險的(可能導致無意義情況出現(xiàn):比如導致分母為0、根號里面是負數(shù))。自動類和寄存器類變量的初始化(時段)是在每次進入函數(shù)體時重新定義初值。 變量有定義定義和引用引用兩個方面。變量的定義涉及變量名稱、存儲類和數(shù)據(jù)類型。引用引用即使用使用,通常先定義,后使用。例1.6是特例,但在使用前必須作出說明說明(聲明聲明)。下面是一些合法的定義:int a=1, b=2, c=3;Static char xyz=A, buf

22、fer10=Hello;double a5=1.12345,2.23456,3.34567,4.45678,5.56789;float s=1+2+3;用語句給變量賦值: int a; a=12; /此語句給變量a賦值12“a=12”本來是一個賦值表達式賦值表達式。C+允許表達式表達式當作語句使用,只要在表達式后面加上分號,就成為表達式語句;所以“ a=12;”是賦值表達式語句賦值表達式語句(有時簡稱為賦值語句)賦值語句)。 1.7 運算符與表達式 C+的表達式包括算術表達式、關系表達式、邏輯表達式、賦值表達式、條件表達式和逗號表達式。1.7.1 算術運算符與算術表達式 1算術運算符(1)單目

23、算術運算符: -(取負)、+(增1)、-(減1)。(2)雙目算術運算符: +(加)、-(減)、*(乘)、/(除)、%(取余)。 單目運算符的優(yōu)先級高于雙目運算符的優(yōu)先級;*、/、% 的優(yōu)先級高于 +、- 的優(yōu)先級。+、-運算符號既可以寫在變量前,也可以寫在變量后,分別稱作前綴運算和后綴運算。前綴運算(+x, -x):先改變變量的值,再使用變量的(新)值;后綴運算(x+, x-):先使用變量的值,再改變變量的值。 【例例1.7】前綴、后綴運算表達式的運用。前綴、后綴運算表達式的運用。程序代碼如下:程序代碼如下:/*ex1_7.cpp*#include using namespace std;vo

24、id main() int i=10, a, b, j=i+10, x, y; /初值可以是初值可以是(包含包含已知已知變量的變量的)表達式表達式 a=+i; couta=ati=iendl; b=i+; coutb=bti=iendl; x=-j; coutx=xtj=jendl; y=j-; couty=ytj=jendl; 程序的運行結果如下程序的運行結果如下:取余運算只能用于兩個整型數(shù)的運算。功能是求兩個整型數(shù)相除的余取余運算只能用于兩個整型數(shù)的運算。功能是求兩個整型數(shù)相除的余數(shù)。用下面的公式:數(shù)。用下面的公式:余數(shù)余數(shù)=被除數(shù)被除數(shù)-商商 除數(shù)除數(shù)注意:注意:5%-3=2,而,而-5

25、%3=-2。確定確定商商的規(guī)則為:同號的規(guī)則為:同號數(shù)數(shù)相除商為正,異號數(shù)相除商為負,部分積的相除商為正,異號數(shù)相除商為負,部分積的絕對值不能大于被除數(shù)的絕對值。絕對值不能大于被除數(shù)的絕對值。【例例1.8】取余運算。取余運算。/*ex1_8.cpp*#include using namespace std;void main() int a,b; a=5%-3; b=-5%3; couta=atb=b(大于)=(大于等于) 0時,表達式“x+yx”是永真的。但在用計算機語言判斷關系表達式“x+yx”的值時,可能會得出不真的結論(即:當y是一個足夠小以至計算機無法表達的正數(shù)時, “x+yx”的值

26、為假)。【例1.9】關系表達式的運用。程序代碼如下:/*ex1_9.cpp*#define EPS 1.0E-16 / 此此EPS符號常量在內存中實際上是符號常量在內存中實際上是0#include using namespace std;void main() double x, y; bool z; x=5.0; y=EPS; z=x+yx; coutx=xty=ytz=zendl; coutsetprecision(16)x+y=(x+y)endl;程序的運行結果如下程序的運行結果如下:1.7.3 邏輯運算符與邏輯表達式1邏輯運算符在C+中,邏輯運算符有以下幾種:!:邏輯求反(又稱邏輯非,

27、單目運算符)&:邏輯與(雙目運算符)|:邏輯或(雙目運算符)邏輯運算符的優(yōu)先級從高到低依次是: !、&、|。邏輯運算符的結合性是從左至右(單目除外)。 2邏輯表達式邏輯表達式是由邏輯運算符與操作數(shù)組成的式子。C+規(guī)定:邏輯表達式中非0的操作數(shù)為真,0操作數(shù)為假。這說明C+的邏輯運算符的操作數(shù)可以是算術表達式、關系表達式、邏輯表達式。這與其他程序語言不同。邏輯運算的結果為真時用1表示,為假時用0表示。書上p21一句“邏輯運算結果的類型也是整型不太嚴謹。其實,邏輯運算結果的類型本來是邏輯型,但由于邏輯型最終要數(shù)值化為1或0,才變成整型的?!纠?.10】邏輯表達式的運用。程序代碼如下

28、:/*ex1_10.cpp*#include using namespace std;void main() int a, b, c, d; bool e; a=5; b=0; c=!b; d=a&b; e=a|b; coutatbtctdte:右移位運算符:左移位運算符都是雙目運算符,優(yōu)先級相同,高于邏輯位運算符優(yōu)先級。移位運算符左邊是要移位的操作數(shù),右邊是要移位的位數(shù)。移位運算表達式寫為:或:右移位操作是將操作數(shù)化成二進制數(shù),將操作數(shù)右移指定位數(shù),移出的二進制位丟棄,左邊補0或符號位(根據(jù)編譯系統(tǒng)決定)。左移位操作是將操作數(shù)化成二進制數(shù),將操作數(shù)左移指定位數(shù),移出的二進制位丟棄,右

29、邊補0?!纠?.11】邏輯位運算和移位運算。邏輯位運算和移位運算。程序代碼如下:程序代碼如下:/*ex1_11.cpp*#include using namespace std;void main() int a, b; a=13; b=8; couta=ata=aendl; couta&b=(a&b)endl; coutab=(ab)endl; couta|b=(a|b)endl; cout2=2)endl; couta2=(a2)endl; cout2=2)endl;程序的運行結果 1.7.5 賦值運算符與賦值表達式1賦值運算符賦值運算符有11種,均為雙目運算符,優(yōu)先級僅

30、高于逗號運算符,結合性是從右至左。11種賦值運算符中有1個基本賦值運算符,10個復合賦值運算符,分別為:(1)=:基本賦值運算符(2)+=:加賦值運算符(3)-=:減賦值運算符(4)*=:乘賦值運算符(5)/=:除賦值運算符(6)%=:取余賦值運算符(7)&=:位與賦值運算符(8)=:位異或賦值運算符(9)|=:位或賦值運算符(10)=:位右移賦值運算符2賦值表達式賦值表達式是由賦值運算符與操作數(shù)組成的式子。對應11種賦值運算符有相應的11種賦值表達式。先介紹基本賦值表達式,書寫為:=上句在C+中稱賦值表達式。在C+中允許表達式構成語句,只要在賦值表達式后面加上;,即:=;【例例1.1

31、2】賦值表達式的值及其副作用。賦值表達式的值及其副作用。程序代碼如下:程序代碼如下:/*ex1_12.cpp*#include using namespace std;void main() int c=1, a, b; coutc=cendl; a=b=c=10; couta=atb=btc=c ta=b=c=10=(a=b=c=10)endl; couta+=2=(a+=2)endl; a+=a; couta=aendl;程序的運行結果如下程序的運行結果如下:其他復合賦值運算符組成復合賦值表達式的形式類似基本賦值表達式,表達形式如下: += 等價于等價于 =+-= 等價于等價于 =-*=

32、等價于等價于 =*/= 等價于等價于 =/%= 等價于等價于 =%&= 等價于等價于 =&= 等價于等價于 =|= 等價于等價于 =|=等價于等價于 =等價于等價于 =復合賦值表達式比基本賦值表達式書寫簡單、編譯時生成的目標代碼少,因而運行效率高。 可以使用賦值表達式連續(xù)賦值。例如:int a,b,c;a=b=c=1;表達式a=b=c=1使3個變量均擁有值1。由于賦值運算符的結合性是從右至左,所以變量c和表達式c=1先擁有值1,然后變量b和表達式b=c=1擁有值1,最后才是變量a和表達式a=b=c=1擁有值1。區(qū)分:賦值表達式的左值、右值、表達式的值、變量的值(雖然數(shù)量上相等,

33、但概念要分清)。1.7.6 三目運算符與三目條件表達式在C+中只有一個三目運算符?:,三目條件表達式格式如下:?:先計算,當非0時,三目條件表達式取的值,否則取的值。三目條件表達式的功能可以解釋成一個簡單的條件語句(參見第2章)。三目運算符 ?: 的結合性是從右至左從右至左。【例例1.13】三目條件表達式的運用。三目條件表達式的運用。程序代碼如下:程序代碼如下:/*ex1_13.cpp*#include using namespace std;void main() int a=1,b=2,c=3; coutab?a:b = (ab?a:b)endl; coutb?b-:+a = b?b-:+

34、a)endl; coutb?+a:+b = b?+a:+b)endl; coutb?a:bc?b:c = b?a:bc?b:c)endl;程序的運行結果如下: ab?b-:+a = 2 c+=ab?+a:+b = 6 ab?a:bc?b:c = 6 1.7.7 逗號運算符與逗號表達式逗號在C+中可以作為分隔符或運算符。逗號運算符為雙目運算符,它的優(yōu)先級最低,結合性是從左至右。逗號運算符用來連接兩個或兩個以上的表達式,形成逗號表達式。計算逗號表達式時,從左至右依次計算各個表達式,逗號表達式的值取最后一個表達式的值逗號表達式的值取最后一個表達式的值。注意例1.14中倒數(shù)第二行的輸出結果。 【例例1

35、.14】逗號表達式的運用。逗號表達式的運用。程序代碼如下:程序代碼如下:/*ex1_14.cpp*#include using namespace std;void main() int a=1, b=2, c=3; couta=atb=btc=cendl; c=(a=10, b=a*2, b*2); couta=atb=btc=cendl; couta,b,c,c*3= (a,b,c,c*3):用于結構體、共用體變量。(4)sizeof:計算一數(shù)據(jù)類型或一表達式占用內存的字節(jié)數(shù)。例如:sizeof(int)、sizeof(x) 、sizeof(x+y),等等。,等等。(5)強制類型強制類型:

36、作用于一表達式,使表達式的類型強制性轉換為指定類型。例如:(int)(a+b+1.234567);表達式值被表達式值被強制性轉換為int類型C+的優(yōu)先級和結合性比較復雜,通過下面的總結,可以記?。撼罡呒壓妥畹图壨?,其他運算符的優(yōu)先級是“一二三賦值”。最高級是圓括號、下標、點、箭頭;最低級是逗號。“一二三賦一二三賦值值”分別指單目、雙目、三目、賦值運算符,它們的優(yōu)先級也是按此順序。這樣分出了6大類優(yōu)先級。在雙目運算符中,有10級,順序是:算術(除求負值運算外分2級)、移位、關系(分2級)、邏輯位(除按位取反運算外分3級)、邏輯(除邏輯非運算外分2級)。單目、三目、賦值運算符的結合性是從右至左,其他運算符的結合性是從左至右。 【例例1.15】運算符的優(yōu)先級和結合性。運算符的優(yōu)先級和結合性。程序代碼如下:程序代碼如下:/*ex1_15.cpp*#include using namespace std;void main() int x,y,z; x=!-5+312; y=x-(-1); c

溫馨提示

  • 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

提交評論