




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
-1-本章目標掌握C++中的變量、常量掌握C++的基本數據類型掌握數據類型的轉換掌握運算符和表達式的使用掌握流程控制結構掌握數組的定義和使用掌握定義和使用二維數組的方法掌握C風格的字符串的定義和操作熟悉字符集編碼格式常量和變量—標識符C++中,標識符必須以字母、下劃線(_)或美元符($)開頭,后面可以跟字母、數字、下劃線或美元符標識符可以包含數字,但不能以數字開頭;除下劃線“_”和“$”符號外,標識符中不包含任何特殊字符,如空格;標識符區分大小寫,比如,“abc”和“Abc”是兩個不同的標識符;對于標識符的長度沒有限制;不能使用C++關鍵字作為標識符。-2-常量和變量—標識符下列標識符是非法的:-3-myvar//包含空格;9myvar//以數字開頭;a+c//加號“+”不是字母和數字屬于特殊字符。常量和變量—常量在C++中,利用const關鍵字來定義常量,常量被定義后,不允許再進行更改。常量定義的基本格式如下:-4-const<data_type>var_name=var_value;const是關鍵字,表示要定義的標示符是常量,必須注明;data_type是C++的任意數據類型之一;var_name是常量名,必須符合標識符命名規范;利用“=”對常量值進行初始化常量和變量—常量常量定義舉例:-5-//聲明了一個double類型的常量,初始化值為3.1416。
constdoublePI=3.1416;//聲明了一個布爾類型的常量,初始化值為true。
constboolIS_MAN=true;常量和變量—變量在C++中,所有的變量必須先聲明再使用。其定義的基本格式如下:-6-<data_type>var_name=var_value;data_type是C++的任意數據類型之一;var_name是變量名,必須符合標識符命名規范;利用“=”對變量值進行初始化。常量和變量—變量變量定義舉例:-7-intcount=10;//同時聲明幾個同一數據類型的變量,變量之間用“,”隔開inti,j,k;
常量和變量—變量作用域使用“{”和“}”包含起來的代碼塊,是一個單獨的程序塊;在上述程序塊內定義的變量稱之為“局部變量”。局部變量的作用范圍有限:離開了變量作用域,該變量就不能再被訪問在一個確定的域中,變量名應該是唯一的-8-常量和變量—變量作用域下列代碼演示了局部變量的作用域:-9-......intmain(intargc,char*argv[]){//num在內層作用域中可用
intnum=2; //測試變量num if(num==2){ //定義num1,其作用域為if所在的{} intnum1=num*num; cout<<"num值是:"<<num<<"num1的值是:"<<num1<<endl; } //num1=2;錯誤!num1未知
......}數據類型-10-C++的數據類型分為兩大類:基本內置類型自定義類型數據類型—基本內置類型整數類型:short,int,long;浮點類型:float,double;字符類型:char,wchar_t;布爾類型:bool;void類型:通常用作無返回值函數的返回類型,或定義無確切類型的指針。-11-數據類型—基本內置類型C++標準規定了每個基本內置類型的最小存儲空間:-12-類型大小(位)取值范圍說明short(短整型)16-215~215-1用于存儲小于32767的數字。如員工編號int(整型)32-231~231-1用于存儲較大的整數,用途非常廣泛long(長整型)32-231~231-1同intfloat(浮點型)323.4e-38~3.4e+38用于存儲帶小數的數字,如產品價格double(雙精度)641.7e-38~1.7e+38存儲精度要求高的數據,如銀行余額boolean(布爾型)1true/false用于存儲真假值,通常用于判斷char(字符型)16-27~27-1用于存儲字符數值。如性別:’a’wchar_t(雙字節字符)16-215~215-1用于存儲雙字節字符,例如:’中’數據類型—自定義類型-13-類型說明數組具有相同數據類型的變量的集合結構體具有不同數據類型的變量的集合枚舉枚舉類型是一種獨特的值類型,它用于聲明一組命名的常數聯合不同數據類型,共用一個內存單元指針內存地址,用于直接操作內存類(class)變量和方法的集合。如Employee類包含了員工的詳細信息和操作這些信息的方法引用引用就是對象的另一個名字。在實際程序中,引用主要用作函數的形式參數數據類型—數據類型轉換自動類型轉換-14-將一種類型的變量賦給另一種類型的變量時,就會發生自動類型轉換發生自動類型轉換要滿足的條件如下:兩種類型必須兼容;目標類型精度大于源類型精度數據類型—數據類型轉換強制類型轉換-15-將表示范圍大的數據類型轉換成表示范圍小的數據類型時,需要用到強制類型轉換強制類型轉換的常用語法形式有兩種,一種是從C語言繼承的,形式為:
data_typevar1=(data_type)var2;另外一種轉換需要使用static_cast運算符,其形式為:
data_typevar1=static_cast<data_type>(var2);運算符運算符(或稱為操作符)是一個符號,用來操作一個或多個表達式以生成結果表達式是指運算符(如+和-)與變量或常量組合的語句C++還支持運算符重載,允許程序員定義用于類類型時運算符的含義C++中的運算符可以分為一元、二元及三元運算符等類型-16-運算符—算術運算符-17-運算符數學含義示例+加a+b-減或負號a-b,-b*乘a*b/除a/b%取模a%b++自增a++,++a--自減a--,--a運算符—比較運算符-18-運算符數學含義示例>大于a>b<小于a<b==等于a==b>=大于等于a>=b<=小于等于a<=b運算符—邏輯運算符-19-運算符數學含義示例!非!a&&與a&&b||或a||b運算符—位運算符-20-運算符含義示例~按位非(NOT)~a&按位與(AND)a&b|按位或(OR)a|b^按位異或(XOR)a^b>>右移a>>b>>>無符右移a>>>b<<左移a<<b運算符—賦值算符-21-運算符示例+=a+=b-=a-=b*=a*=b/=a/=b%=a%=b運算符—條件算符符-22-表達式?e1:e2#include<iostream>usingnamespacestd;intmain(intargc,char*argv[]){ intnum1=3; intnum2=6; boolb=num1>num2?true:false; cout<<"b="<<b<<endl; return0;}三元運算符的使用示例如下:運算符—sizeof算符符-23-sizeof運算符的作用是返回一個變量所占內存的長度,長度的單位是字節,該運算符的使用有以下三種語法形式如下:sizeof(typename)sizeof(var_name)sizeofvar_name運算符—sizeof算符符-24-sizeof運算符的使用示例如下:#include<iostream>usingnamespacestd;intmain(intargc,char*argv[]){ inta=12; intx1=sizeof(a); intx2=sizeof(int); cout<<”x1=”<<x1<<”;”<<”x2=”<<x2<<endl;}運算符—運算符優先級-25-優先級運算符結合方向說明1[]().->左到右2-++--*(解引用)&(取地址)!~右到左單元運算符3/*%左到右雙元運算符4+-左到右雙元運算符5<<>>左到右雙元運算符6>>=<<=左到右雙元運算符7==!=左到右雙元運算符8&左到右雙元運算符9^左到右雙元運算符10|左到右雙元運算符11&&左到右雙元運算符12||左到右雙元運算符13?:右到左三元運算符14=/=*=%=+=-=<<=>>=&=^=|=右到左15,左到右從左向右順序運算流程控制-26-分支結構:if-else,switch循環結構:while,do-while,for轉移語句:break,continue,return流程控制—分支結構-27-If(condition1) statement1;ifelse(condition2) statement2[else] statement3;if-else語句流程圖
流程控制—循環結構-28-while(condition){statement;}while語句流程圖流程控制—轉移語句-29-for(表達式1,表達式2,表達式3){......if(表達式4)break;......}for(表達式1,表達式2,表達式3){......if(表達式4)continue;......}數組-30-數組是一種自定義數據類型用來存儲一組相同數據類型的數據根據數組存放元素的組織結構,可將數組分為一維數組、二維數組以及多維(三維以上)數組數組—一維數組-31-定義數組data_typevarName[num];inta[10];//定義一個整型數組,10個元素floatb[20];//定義一個單精度浮點型數組,20個元素charc[100];//定義一個字符型數組,100個元素doubled[10];//定義一個雙精度浮點型數組,10個元素boole[10];//定義一個布爾型數組,10個元素示例代碼:數組—一維數組-32-數組初始化數組在定義時,如果沒有對數組進行初始化,數組中的元素初始值將是所在內存的臨時值建議在定義數組的同時初始化數組intk[4]={1,3,4,5};//用大括號,數據之間使用“,”隔開intarray[10]={0};//所有元素初始化為0inta[]={1,3,4,5};//編譯器自動確定數組的元素個數示例代碼:數組—一維數組-33-使用數組......intmain(intargc,char*argv[]){intarray[]={10,23,6,88,19};...... //尋找最大值
intlength=sizeof(array)/sizeof(int); for(inti=1;i<length;i++) { if(array[i]>max) { index=i; max=array[i]; } }使用數組存儲5個整數,并輸出其中最大者:數組—二維數組-34-定義二維數組data_typevarName[num1][num2];charch[3][4];//定義了一個char型二維數組ch示例代碼:數組—二維數組-35-初始化二維數組intarray[3][2]={{1,2},{3,4},{5,6}};示例代碼:int[3][2]類型數組的初始化
數組—二維數組-36-使用二維數組......intmain(intargc,char*argv[]){ //用二維數組表示矩陣
intmatrix[][3]={{1,2,0},{4,0,6},{0,8,9}}; //打印矩陣
for(inti=0;i<3;i++) { for(intj=0;j<3;j++) { cout<<matrix[i][j]<<""; } cout<<endl;//換行
} return0;}使用二維數組實現矩陣的存儲:字符串-37-單字節字符集(簡稱SBCS):中每個字符用一個字節表示,用于英文字符表示。單字節字符串用char*或char[]來表示。多字節字符集(簡稱MBCS):一般用于亞洲語系。每個中文漢字用兩個字節存儲,英文字符用1個字節ASCII碼存儲。多字節字符串也用char*或char[]來表示。雙字節字符集(簡稱DBCS):每個字符都用兩個字節表示,UNICODE是典型的雙字節字符集。雙字節字符串用wchat_t*或wchar_t[]來表示。字符串—C風格字符串-38-C風格字符串的定義和存儲有兩種形式://1.使用指針:char*str="你好c++";//多字節字符集wchar_t*str1=L"吃飯了嗎?";//雙字節字符集,前綴加字母L;//2.使用字符數組:charsName[]="王麗";//不使用{},多字節字符集charsCity[]={"北京"};//使用{},多字節字符集wchar_tsAddr[]={L"黃土高坡"};//雙字節字符集,前綴加字母L;字符串—常用字符串操作函數-39-字符串復制函數:strcpy、wcscpy;字符串連接函數:strcat、wcscat;字符串查找函數:strstr、wcsstr。字符串—常用字符串操作函數-40-示例代碼:......intmain(intargc,char*argv[]){ charstr[100]={"我們都知道"}; charsName[20]={0}; charsSay[20]={0};
strcpy(sName,"王麗");//將字符串"王麗"復制到sName中
cout<<"sName的內容是:"<<sName<<endl; strcat(sSay,"人很好");//將字符串"人很好"連接到sSay上
cout<<"sSaye的內容是:"<<
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 商場合同排他協議范本
- 德陽品質保潔合同協議
- 必播合同和合作協議
- 商場免責協議書范本
- 正規解除勞務合同協議
- 學校教輔征訂管理“三公開、兩承諾、一監督”制度
- 模特短視頻拍攝合同協議
- 2025校園餐飲服務合同
- 樓頂翻防水施工合同協議
- 周轉材料處置合同協議
- 金螳螂企業管理課件
- 炊事機械安全操作規程
- 最新版教育心理學課件3-成就動機
- 《大數據環境下的網絡安全問題探討(論文)8000字》
- 離合器-汽車畢業設計-設計說明書
- 中國民間美術年畫-完整版PPT
- 2022年《趣味接力跑》教案
- 級配碎石旁站監理記錄表.模板
- 國電南自PSL 641U線路保護測控裝置技術說明書V1.1
- 常暗之廂(7規則-簡體修正)
- 皮秒激光培訓講解PPT課件
評論
0/150
提交評論