版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
教學(xué)目的與要求:了解C++中的基本詞法記號。掌握C++中的基本數(shù)據(jù)類型。教學(xué)內(nèi)容提要:
1、C++中的基本詞法記號;
2、C++中的數(shù)據(jù)類型;
3、數(shù)組和指針教學(xué)重點:C++中的變量和常量的特點及數(shù)組和指針。
教學(xué)難點:數(shù)組和指針。
教學(xué)進(jìn)度:P23~P26,P44教學(xué)過程:第3講數(shù)據(jù)類型【
3.1.1字符集】英文字母A~Z,a~z數(shù)字字符0~9特殊字符空格!#%^&*_(下劃線)
+=-
〈
〉/\
︱
′
〃;.,()[]{}:?表C++語言的字符集的構(gòu)成詞法記號是C++語言的最小語法單位。字符是程序中可以區(qū)別的最小符號。C++語言中共有5種詞法記號:關(guān)鍵字、標(biāo)識符、常量、運算符和標(biāo)點符號。字符是構(gòu)成C++語言的基本要素。【
3.1C++語言的詞法記號】標(biāo)識符是程序員為命名程序中的一些要素所定義的單詞,如變量名、函數(shù)名等。
2.標(biāo)識符標(biāo)識符的命名規(guī)則由字母、數(shù)字和下劃線組成以字母或下劃線作為第一個字符,其后跟零個或多個字母、數(shù)字、下劃線。大寫字母與小寫字母分別代表不同的標(biāo)識符不能與關(guān)鍵字相同舉例正確的錯誤的sumDram_rectangle_myfriend1_peo//起始字符非法operator//是關(guān)鍵字my$//含有非法字符表標(biāo)識符的命名規(guī)則1.關(guān)鍵字關(guān)鍵字——是C++語言的保留字,好比是已經(jīng)賦予特殊含義的專用單詞。特點:它們各自有不同的使用目的,在程序中不能把它們用作別的用途。【3.1.2詞法記號】運算符可以用做分隔符,其他分隔符還有(){},:;和空白字符。4.運算符運算符——是C++語言是實現(xiàn)加、減等各種運算的符號。5.分隔符在編寫程序時,分隔符用于分隔詞法記號或程序正文。注
由于C++編譯器將注釋也當(dāng)作空白對待,所以,注釋也可用作分隔符。又稱文字,指在程序中直接使用符號標(biāo)示的數(shù)據(jù),包括數(shù)字、字符、字符串等。不表示任何實際的操作,僅用于結(jié)構(gòu)程序。
是指空格(空格鍵所產(chǎn)生的字符)、制表符(Tab鍵所產(chǎn)生的字符)、換行符(Enter鍵所產(chǎn)生的字符)。3.常量數(shù)據(jù)是程序處理的對象,在C++語言中,所有的對象都屬于某種數(shù)據(jù)類型。數(shù)據(jù)類型的分類基本數(shù)據(jù)類型自定義數(shù)據(jù)類型【
3.2.1基本數(shù)據(jù)類型】關(guān)鍵字又被稱作修飾符,用來作為前綴修飾字符型、整型、浮點型。基本數(shù)據(jù)類型的分類布爾型(bool)字符型(char)整型(int)浮點型(float、double)signed(表示有符號)4個關(guān)鍵字unsigned(表示無符號)long(表示長型)short(表示短型)
【
3.2數(shù)據(jù)類型】長度(字節(jié))取值范圍類型bool1false(0)true(1)charunsignedcharsignedcharshortint(short)signedshortint(signedshort)unsignedshortint(unsignedshort)int1112224-128~1270~255-128~127-32768~32767-32768~327670~65535-2147483648~2147483647signedintunsignedintsignedlongint(signedlong)longint(long)unsignedlongint(unsignedint)floatdoublelongdouble-2147483648~21474836470~-2147483648~2147483647-2147483648~21474836470~3.4E-38~3.4E+381.7E-308~1.7E+3081.7E-308~1.7E+30844444488【表C++語言的基本數(shù)據(jù)類型】有些數(shù)據(jù)在程序運行過程中是可以改變的,我們稱之為變量。一個變量對應(yīng)著計算機中的一組內(nèi)存單元,這組內(nèi)存單元在C++語言中用一個標(biāo)識符來標(biāo)識,即變量名。數(shù)據(jù)類型是指C++語言中的任一合法類型,每個變量都必須屬于一種類型。變量名的命名應(yīng)遵照標(biāo)識符的命名規(guī)則。C++語言中使用變量前必須對變量進(jìn)行聲明。變量聲明的格式如下: 數(shù)據(jù)類型變量名1,變量名2,…,變量名n;注意在聲明變量時,必須注意變量類型的選擇。應(yīng)該保證該變量中將要存儲的值不突破該變量類型所能表示的最大值?!?.2.2變量】在程序中,有些數(shù)據(jù)在運行期間是不允許改變的,我們稱之為常量。常量的分類字面常量符號常量數(shù)據(jù)類型是由它的表示方法決定的。1.整型常量整型常量就是以文字形式出現(xiàn)的整數(shù),包括三種形式。各種表示形式前均可加上正或負(fù)號以表示它們值的正負(fù),正號可以省略。形式十進(jìn)制八進(jìn)制十六進(jìn)制舉例1980,-50表整型常量的三種形式組成由若干個0~9的數(shù)字組成,但不能以0開頭以0開頭,由若干0~7的數(shù)字組成以0X或0x開頭,由若干0~9的數(shù)字及A~F(大小寫均可)的字母組成010,-02760x1Fa-0X4Ab備注L(或l)表示長整型,U(或u)表示無符號型,如果后綴包括L(或l)和U(或u)則表示無符號長整型。【3.2.3常量】2.實型常量實型常量只能用十進(jìn)制表示,共有兩種表示形式一般表示形式指數(shù)表示形式形式一般表示指數(shù)表示舉例10.2,10.,.2表實型常量的兩種形式組成又稱小數(shù)表示形式。使用這種表示形式時,實型常量由整數(shù)和小數(shù)兩部分組成。其中的一部分在實際使用時可省略,但不允許兩部分同時省去。表示很大或很小的實數(shù),由尾數(shù)部分、字母E(或e)、指數(shù)部分三部分組成。尾數(shù)部分的表示和一般表示形式相同,指數(shù)部分必須是整數(shù),但可正可負(fù),當(dāng)指數(shù)大于零時,正號可省。1.2E20,.24e100,備注默認(rèn)數(shù)據(jù)類型為double型,如果加上后綴F(或f)則為float型,加上L(或l)則為longdouble型?!?.2.3常量】
字符常量通常是指用單引號括起來的一個字符,其數(shù)據(jù)類型是char。其中單引號只是用來說明被它括起來的字符是字符常量,它本身不是字符常量的內(nèi)容。如:′a′,′#′,′G′。C++語言中,還有一種轉(zhuǎn)義序列的表示方法可用來表示字符常量。是用轉(zhuǎn)義符號“\”后跟一個字符或一個ASCII碼來表示一個單一字符。若“\”后跟一個ASCII碼,則表示的是該ASCII碼所代表的字符。
在這里ASCII碼用八進(jìn)制或十六進(jìn)制表示,這里八進(jìn)制和十六進(jìn)制的表示與前面表示整型常量的方式不同,應(yīng)無第一個“0”。例如′\X62′就表示字符′b′。表12C++預(yù)定義的轉(zhuǎn)義序列符號含義\a\b\f\n\r\t\v\\\″\′響鈴?fù)烁瘢˙ackspace鍵)換頁換行回車水平制表符(Tab鍵)垂直制表符反斜杠雙引號單引號3.字符常量【3.2.3常量】4.字符串常量
字符串常量又稱字符串或串常量,是用一對雙引號括起來的字符序列。例如:″xyz″,″Iamastudent″,″Thisisastring″都是字符串。由于雙引號在字符串中用做定界符,所以,若字符串中需要出現(xiàn)雙引號時,則必須采用轉(zhuǎn)義序列。注I\0C++語言中字符串的存儲與字符不同,它在內(nèi)存中的存放并不是簡單地按串中字符的順序排放,而是在末尾加上一個′\0′,表示字符串的結(jié)束。字符串、字符及與其對應(yīng)的存儲形式″I″′I′I
在C++語言中已經(jīng)有了其他特定的含義:“\”是轉(zhuǎn)義字符;“′”被用于表示字符常量,“″”用于表示字符串常量。如果需要把它們用作字符常量,就必須采用轉(zhuǎn)義序列。注
字符常量在內(nèi)存中以ASCII碼形式存儲,每個字符占一個字節(jié)?!?/p>
3.2.3常量】5.布爾常量布爾常量僅有兩個:false(假)和true(真),其數(shù)據(jù)類型為bool。
符號常量在聲明時一定要賦初值,而且其值在初始化后不能再改變,這一點與變量完全不同。C++語言提供了兩種聲明符號常量的方法。注解釋形式正確聲明用#define聲明符號常量C語言中聲明符號常量的方法。其中#define是預(yù)處理指令。缺點是不能顯式聲明常量的類型。用const聲明符號常量C++語言中廣泛采用的聲明符號常量的方法const數(shù)據(jù)類型常量名=常量值;或:數(shù)據(jù)類型const常量名=常量值;constdoublepi=3.1415926;#definepi3.1415926錯誤聲明constdoublepi;//錯誤pi=3.1415926;//錯誤最后不允許加“;”表兩種聲明符號常量的方法6.符號常量例3.1:
#include<iostream.h>#definepi3.1415926voidmain(){constfloatH=5.0;intr=7.0,v;v=pi*r*r*H;cout<<v<<endl;}
例3.2#define的不安全性
#include<iostream.h>main(){inta=1;#defineT1a+a#defineT2T1-T1cout<<"T2is"<<T2<<endl;return0;}
注意:
例3.3用const取代#define。
#include<iostream.h>intmain() {inta=1;constintT1=a+a;constintT2=T1-T1;cout<<"T2is"<<T2<<endl;return0;}
輸出:T2is0自定義數(shù)據(jù)類型的分類枚舉類型數(shù)組類型聯(lián)合類型結(jié)構(gòu)類型類類型指針類型一種用戶自定義數(shù)據(jù)類型。是類型相同、數(shù)目一定的變量的有序集合,組成數(shù)組的變量稱為該數(shù)組的元素。C語言中提供結(jié)構(gòu)類型,它能把不同類型的數(shù)據(jù)組合成一個集合體。是使幾個不同類型的變量共用同一組內(nèi)存單元。它能把不同類型的數(shù)據(jù)及對數(shù)據(jù)的操作組合成一個集合體。存放內(nèi)存地址的單元。在實際運用中,僅有這些內(nèi)置的數(shù)據(jù)類型,并不能完全滿足程序設(shè)計的需要。為此,C++語言還提供了一些自定義數(shù)據(jù)類型?!?.2.4自定義數(shù)據(jù)類型】
注意:
在C++中,結(jié)構(gòu)體名、聯(lián)合體名、枚舉名可直接作為類型名。在定義變量時,不必在結(jié)構(gòu)體名、聯(lián)合體名或枚舉名前冠以struct、union或enum。例如:enumcolor{“white”,”black”,”red”,”green”,”yellow”};tructstudent{charsno[7];charname[20];charsex;intage;};在C語言中定義變量必須寫成:enumcolorc1;structstuentzh;在C++中可以寫成:colorc1;studentzh;
【
3.3數(shù)組與指針】數(shù)組是具有一定順序關(guān)系的若干相同類型變量的集合體,組成數(shù)組的變量稱為該數(shù)組的元素。一維數(shù)組的聲明類型說明符數(shù)組名[常量表達(dá)式];
例如:inta[10];
表示a為整型數(shù)組,有10個元素:a[0]...a[9]數(shù)組元素在內(nèi)存中順次存放,它們的地址是連續(xù)的。【
3.3.1數(shù)組】1、數(shù)組的概念
注意:
在定義數(shù)組時,數(shù)組長度必須確定,否則C++系統(tǒng)無法為數(shù)組分配內(nèi)存空間。確定數(shù)組長度的方法:1、由數(shù)組元素個數(shù)確定
inta[10];2、由初始化元素個數(shù)確定
inta[5]={1,2,3,4};inta[]={1,2,3,4,5};
當(dāng)數(shù)組元素個數(shù)給出時,初始化元素必須小于或等于數(shù)組元素個數(shù)指向void類型的指針稱為void指針。比如:inta,b; int*p1=&a,*p2=p1;只能用指向相同類型的指針給另一個指針賦值。1.void指針【
3.3.2指針】指針變量是用于存放內(nèi)存地址的變量??梢詫⒆兞康牡刂繁4嬖谥羔樦校鵁o需知道變量地址的實際數(shù)值。其聲明的一般形式如下:
數(shù)據(jù)類型*標(biāo)識符;比如:inta; int*p1=&a; double*p2=p1;//錯誤比如:
inta;//聲明int型變量
int*p1=&a;//給指針p1賦值
void*p2=p1;//用int型指針直接給void指針賦值,正確
int*p3=p2;//用void指針直接給int型指針賦值,錯誤
int*p4=(int*)p2;//void指針通過強制類型轉(zhuǎn)換給int型指針賦值, //正確void指針是一個特例,它可以指向任何類型的C++數(shù)據(jù)。也即可以用任何類型的指針直接給void指針賦值。如果需要將void指針的值賦給其他類型的指針,則需要進(jìn)行強制類型轉(zhuǎn)換。語句中的兩個指針指向的類型不同,因此,它們之間不能相互賦值。除非進(jìn)行強制類型轉(zhuǎn)換。不同類型指針間的賦值是錯誤的。void指針的使用#include<iostream.h>voidmain(){inta(1);int*pa1=&a,*pa2=0;void*pv=pa1;//用int型指針直接給void指針賦值
cout<<″a=\t″<<a<<endl;cout<<″*(int*)pv=\t″<<*(int*)pv<<endl;//輸出結(jié)果時, //void指針必須強制類型轉(zhuǎn)換
pa2=(int*)pv;//給int型指針賦值時,void指針必須轉(zhuǎn)換
cout<<″*pa2=\t″<<*pa2<<endl;}a=1*(int*)pv=1*pa2=1例3.4
★常指針
例:int*constptr=&a;//指針是常量
intb=10;ptr=&b;//error*ptr=b;//ok
該語句將ptr聲明為指向一個整數(shù)的常指針,ptr所指向的值可以被修改,但是不能把ptr指向其它單元。
在聲明指針時,可以用關(guān)鍵字const進(jìn)行修飾,用關(guān)鍵字const修飾的指針稱為const指針。2.const指針★
指向常量的指針
例:constint*ptr=&a;//指向的對象是整型常量
or
intconst*ptr=&a;intb=20;ptr=&b;//ok*ptr=b;//error
該語句把ptr聲明為指向整數(shù)常量的指針。ptr所引用的值不能修改,但是可以把ptr指向其它內(nèi)存單元?!?/p>
指向常量的常指針例:constint*constptr=&a;//指向的對象是整型常量,指針
//也是常量
orintconst*constptr=&a;intb=20;ptr=&b;//error*ptr=b;//error小結(jié)C++中的基本數(shù)據(jù)類型。C++中的自定義數(shù)據(jù)類型。C++中的數(shù)組和指針。作業(yè)
補充練習(xí)1、請編程完成如下圖形的輸出。
###$$$####$$$$#####$$$$$######$$$$$$#######$$$$$$$2、編程完成從鍵盤上輸入任意10個整數(shù),要求按從小到大的順序輸出。3、編程完成輸入n*n的矩陣,輸出兩條對角線上的和。4、編程完成從鍵盤上輸入任意十六進(jìn)制整數(shù)的字符串,將它轉(zhuǎn)換成十進(jìn)制整數(shù)并輸出。#include<iostream.h>voidmain(){for(inti=1;i<=5;i++){for(intj=1;j<=5-i;j++)cout<<“
”;for(intk=1;k<3+i;k++)cout<<“#”;for(ints=1;s<3;s++)cout<<“
”;for(intt=1;t<3+i;t++)cout<<“$
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《少兒理財活動案例》課件
- 單位管理制度集粹選集【人力資源管理】十篇
- 單位管理制度匯編大全【人事管理篇】
- 單位管理制度合并選集人員管理篇
- 《巫婆的暑假》課件
- 單位管理制度分享大合集【人員管理篇】十篇
- 單位管理制度范例匯編【人員管理】十篇
- 單位管理制度呈現(xiàn)大全【人員管理篇】
- 《行政職業(yè)能力測驗》2022年公務(wù)員考試民和回族土族自治縣預(yù)測試題含解析
- 《基層干部管理》課件
- 大概念教學(xué)讀書分享
- 駕駛員資格申請表
- Module 6 Unit1 Can I have some sweets (說課稿)外研版(三起)英語四年級上冊
- 主要負(fù)責(zé)人重大隱患帶隊檢查表
- 《建筑施工模板安全技術(shù)規(guī)范》(JGJ 162-2008)
- 菜品作業(yè)指導(dǎo)書-06
- 小學(xué)勞動教育調(diào)查報告
- 電動叉車控制系統(tǒng)詳解帶電路圖
- JGJ-16--民用建筑電氣設(shè)計規(guī)范
- 義務(wù)教育數(shù)學(xué)課程標(biāo)準(zhǔn)(2022年版)
- 倉央嘉措詩全集
評論
0/150
提交評論