《C++程序設計及項目實踐》 課件 第2章 常量、變量、表達式_第1頁
《C++程序設計及項目實踐》 課件 第2章 常量、變量、表達式_第2頁
《C++程序設計及項目實踐》 課件 第2章 常量、變量、表達式_第3頁
《C++程序設計及項目實踐》 課件 第2章 常量、變量、表達式_第4頁
《C++程序設計及項目實踐》 課件 第2章 常量、變量、表達式_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

付費下載

下載本文檔

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

文檔簡介

第2章常量、變量、表達式2.1常量2.2變量及數據類型2.3運算符及表達式111C++提供了三種主要類型的常量:字面常量(直接給出的值,如整數、小數、字符和字符串)符號常量(用#define定義)命名常量(用const或constexpr這兩種關鍵字定義)。2.1常量22字面常量實例1#include<iostream>usingnamespacestd;/*功能:輸出數據常量*/intmain(){cout<<123<<endl;//整數cout<<12.34<<endl;//浮點數cout<<'A'<<endl;//字符cout<<"C++program"<<endl;//字符串cout<<false<<endl;//布爾值-假cout<<true<<endl;//布爾值-真return0;}33字面常量實例2#include<iostream>usingnamespacestd;intmain(){cout<<"1)"<<123<<endl;//十進制整數cout<<"2)"<<0b1010<<endl;//二進制整數cout<<"3)"<<0456<<endl;//八進制整數cout<<"4)"<<0x789<<endl;//十六進制整數cout<<"5)"<<12.34<<endl;//十進制小數形式的浮點數cout<<"6)"<<5.678e2<<endl;//指數形式的浮點數cout<<"7)"<<'z';//小寫字符cout<<'\t';//轉義字符cout<<'Z'<<endl;//大寫字符return0;}44變量是程序運行過程中值可以發(fā)生變化的量,程序可以對變量進行讀取和賦值的操作。2.2變量及數據類型55變量細節(jié)變量代表程序中存儲數據的內存位置。變量的聲明需要給出其類型和名稱,例如使用程序語句“intnumber;”聲明了一個整數類型(int)的變量number。變量可以被初始化,即在聲明時賦予初始值。66變量實例#include<iostream>usingnamespacestd;intmain(){inti;//定義了整型變量ii=123;//給變量i賦值cout<<i<<endl;//輸出變量i的值intj;//定義了整型變量jcin>>j;//輸入數據到變量j中cout<<j<<endl;//輸出變量j的值return0;}77標識符標識符是C++系統(tǒng)規(guī)定的名字,可以用來表示變量,函數等的名字,標識符是包含字母、數字、下劃線的字符序列。以字母或下劃線開頭,比如_x,a1,a_123等均是合法的標識,而1a就不合法。對于系統(tǒng)已經內置的關鍵字、函數名、類名等不能用于用戶定義的變量名,比如int不能用來作為變量名。在C++中,標識符是區(qū)分大小寫的,也就是不同大小寫的兩個標識符是互不相同的兩個標識符,比如ab123和Ab123是兩個不同的標識符。88基本輸入C++把數據從外部輸入設備到內存?zhèn)鬏數倪^程用輸入流對象表示,cin為輸入流對象,也就是負責將數據從外部輸入設備(鍵盤,硬盤,網絡等,常用的設備為鍵盤)輸送到內存中。比如從鍵盤輸入一個整數到變量i中,可以用cin>>i來表示。輸入設備cin內存(變量)>>

99基本輸出C++把數據從內存?zhèn)鬏數酵獠吭O備的過程用輸出流對象表示,cout為輸出流對象,負責將數據從內存?zhèn)鬏數酵獠枯敵鲈O備(顯示器,打印機,硬盤,網絡等,常用的設備為顯示器)。比如將一個整數i輸出到顯示器上,可以用cout<<i來表示。cout輸出設備內存(變量或常量)<<

1010基本輸入輸出實例111.#include<iostream>2.usingnamespacestd;3.intmain()4.{5.inti,j,k,l;//定義4個整型變量6.cin>>i>>j>>k7.>>l;//輸入4個整數8.cout<<i<<j<<endl9.<<k<<endl10.<<l;//輸出4個整數11.return0;12.}11數據類型C++中的數據類型不僅僅包括整數數據類型(簡稱整型)int,還包括長整型long,短整型short,字符型char,單精度浮點型float,雙精度浮點型double等數據類型。整型還分成有符號類型signed和無符號類型unsigned兩類,12sizeof(數據類型或變量名)運算符,使用該運算符可以獲得相關數據類型或變量在內存中所占據的字節(jié)數。。不同數據所占內存1313不同數據的所占內存#include<iostream>usingnamespacestd;intmain(){shorts=11;//定義并初始化短整型變量scout<<"sizeofshortint:"<<sizeof(s)<<endl<<"valueofshortint:"<<s<<endl<<endl;return0;}14符號常量與命名常量形式上類似于變量,本質上是常量。分別是用#define、const或constexpr二種方式進行了修飾定義。符號常量定義的形式:#define符號名值命名常量定義的形式:(1)const數據類型變量名=值;(2)constexpr數據類型變量名=值;15符號常量與命名常量實例#include<iostream>usingnamespacestd;#definePI3.14159intmain(){constfloatE=2.71828f;constexprdoubleG=9.8;cout<<"PI:"<<PI<<endl<<"E:"<<E<<endl<<"G:"<<G<<endl;return0;}1616162.3運算符及表達式運算符實現各類數據或變量之間進行運算,也是構成各類表達式和程序語句的基礎,包括:賦值運算符、算術運算符、關系運算符、邏輯運算符等。用運算符及括號將操作數連接起來的規(guī)范的式子,稱為表達式。17賦值運算符“=”為賦值運算符。其作用是將”=”右側的操作數(常量、變量、表達式等)賦給左側的變量。其語法形式為:

變量名=表達式(常量,變量等);18#include<iostream>usingnamespacestd;intmain()4.{5.inti=1;6.i=i+1;7.cout<<i<<endl;8.i='a';cout<<i<<endl;i=4.987;cout<<i<<endl;return0;}19算術運算符支持算術運算的運算符,主要包括加法運算符號”+”,減法運算符”-“,乘法運算符”*”,除法運算符”/”,求余運算符”%”等。這里的運算符均需要兩個操作數,也稱為二目運算符。這里的兩個操作數可以為變量、常量、表達式等。20#include<iostream>usingnamespacestd;intmain(){cout<<"1)15+4="<<15+4<<endl;cout<<"2)15-4="<<15-4<<endl;cout<<"3)15*4="<<15*4<<endl;cout<<"4)15/4="<<15/4<<endl;cout<<"5)21%4="<<21%4<<endl;return0;}21C++程序設計及項目實踐自增自減運算符自增運算符(++)使變量的值增加1,自減運算符(--)使變量的值減少1。其操作數為單一的變量,所以為單目運算符。自增自減運算符可以放在變量之前(前置),也可以放在變量之后(后置)。2222C++程序設計及項目實踐#include<iostream>usingnamespacestd;intmain(){inti=10;i++;cout<<"1)i="<<i<<endl;++i;cout<<"2)i="<<i<<endl;i--;cout<<"3)i="<<i<<endl;--i;cout<<"4)i="<<i<<endl;return0;}2323C++程序設計及項目實踐#include<iostream>usingnamespacestd;intmain(){inti=10;intj=i++;cout<<"1)i="<<i<<"\tj="<<j<<endl;j=++i;cout<<"2)i="<<i<<"\tj="<<j<<endl;j=i--;cout<<"3)i="<<i<<"\tj="<<j<<endl;j=--i;cout<<"4)i="<<i<<"\tj="<<j<<endl;return0;}2424C++程序設計及項目實踐關系運算符關系運算符也是一個雙目運算符,其可以實現兩個數的比較。比較的結果為1或0。關系運算符包括:小于(<),小于等于(<=),大于(>),大于等于(>=),等于(==),不等于(!=)。25C++程序設計及項目實踐#include<iostream>usingnamespacestd;intmain(){inta(10),b(20);boolc;c=a<b;cout<<"1)a<b\t"<<c<<endl;c=a<=b;cout<<"2)a<=b\t"<<c<<endl;c=a<=a;cout<<"3)a<=a\t"<<c<<endl;return0;}26C++程序設計及項目實踐邏輯運算符邏輯運算符主要包括邏輯與(&&),邏輯或(||),邏輯非(!)三種運算符。邏輯與運算符與邏輯或運算符均為雙目運算符,邏輯非為單目運算符。運算功能的描述如下: (1)邏輯與兩個操作數中只有均為真時,結果才為真,其他均為假。 (2)邏輯或兩個操作數中只要有一個為真時,結果就為真,其他均為假。 (3)邏輯非取操作數的相反值。27C++程序設計及項目實踐#include<iostream>usingnamespacestd;intmain(){boola(true),b(false),result;cout<<boolalpha<<"1)a\t"<<a<<"\tb\t"<<b<<endl;result=a&&b;cout<<"2)a&&b\t"<<result<<endl;result=a||b;cout<<"3)a||b\t"<<result<<endl;result=!b;cout<<"4)!b\t"<<result<<endl;return0;}28C++程序設計及項目實踐#include<iostream>usingnamespacestd;intmain(){boolresult;cout<<boolalpha;intc(-1),d(0);cout<<"5)c\t"<<c<<"\td\t"<<d<<endl;result=c&&d;cout<<"6)c&&d\t"<<result<<endl;result=c||d;cout<<"7)c||d\t"<<result<<endl;result=!c;cout<<"8)!c\t"<<result<<endl;result=(c<0)&&(d>0);cout<<"9)(c<0)&&(d>0)\t"<<result<<endl;return0;}29C++程序設計及項目實踐邏輯運算真值表aba&&ba||b!a布爾值非布爾值布爾值非布爾值true非0true非0truetruefalsetrue非0false0falsetruefalsefalse0true非0falsetruetruefalse0false0falsefalsetrue30C++程序設計及項目實踐邏輯短路(1)對A&&B運算時,這里A,B為表達式,若已經計算A為false,則B部分不再進行計算,直接返回false。只有A部分運行結果為true時候,B部分會進行進一步計算。(2)對A||B運算時,若已經計算A為true,則B部分不再進行計算,直接返回true。只有A部分運行結果為false時候,B部分會進行進一步計算。31C++程序設計及項目實踐#include<iostream>usingnamespacestd;intmain(){boolb1(true),b2(true);(b1=3<2)&&(b2=3<2);cout<<boolalpha<<"1)b1:"<<b1<<"\tb2:"<<b2<<endl;b1=b2=true;cout<<"2)b1:"<<b1<<"\tb2:"<<b2<<endl;b1||(b2=3<2);cout<<"3)b1:"<<b1<<"\tb2:"<<b2<<endl;return0;}32C++程序設計及項目實踐位運算符位運算符是對操作數的位進行相應的操作,主要包括:與(&),或(|),取反(~),異或(^),左移(<<),右移(>>)等運算符。取反運算符為單目運算符,其他運算符均為雙目運算符。33C++程序設計及項目實踐#include<iostream>usingnamespacestd;intmain(){unsignedshortinta(127),b(128),c;c=a&b;cout<<"1)a&b\t"<<c<<endl;c=a|b;cout<<"2)a|b\t"<<c<<endl;c=~a;cout<<"3)~a\t"<<c<<endl;c=a^b;cout<<"4)a^b\t"<<c<<endl;return0;}34位運算真值表aba&ba|b~aa^b00001001011110010111110035移位操作#include<iostream>usingnamespacestd;intmain(){unsignedshortinta(127),c;c=a<<4;cout<<"5)a<<4\t"<<c<<endl;c=a>>4;cout<<"6)a>>4\t"<<c<<endl;return0;}36類型轉換運算符類型轉換包括隱式類型轉換和強制類型轉換。隱式類型轉換不需要用戶指定,系統(tǒng)直接在進行相關運算時自動轉換,這種現象稱為賦值兼容。強制類型轉換需要用戶使用:類型名(表達式)或者(類型名)(表達式)的方式進行轉換。37#include<iostream>#include<typeinfo>usingnamespacestd;intmain(){charc='A';unsignedcharuc='B';boolis=typeid(c+uc)==typeid(char);cout<<boolalpha<<"1)isc+ucchar?\t"<<is<<endl;is=typeid(c+uc)==typeid(int);cout<<"2)isc+ucint?\t"<<is<<endl;return0;}38級別名稱1longdouble2double3float4unsignedlonglong5longlong6unsignedlong7long8unsignedint9int轉換規(guī)則char,short相關類型在計算時均升級為int。不同級別數據運算時,低級數據均升級為高級數據類型。在int和long長度相等時,unsignedint在和long相關數運算時,結果為unsigndlong類型。當數據賦值給左值(賦值號左側變量)時,數據均強制轉換為左值數據類型。39復合賦值運算符在賦值運算符“=”之前可以加上先前的其他運算符,比如算術運算符、位操作運算符等構成復合賦值運算符,這些運算相當

溫馨提示

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

評論

0/150

提交評論