C數(shù)據(jù)類型與表達(dá)式實(shí)用_第1頁
C數(shù)據(jù)類型與表達(dá)式實(shí)用_第2頁
C數(shù)據(jù)類型與表達(dá)式實(shí)用_第3頁
C數(shù)據(jù)類型與表達(dá)式實(shí)用_第4頁
C數(shù)據(jù)類型與表達(dá)式實(shí)用_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

會(huì)計(jì)學(xué)1C數(shù)據(jù)類型與表達(dá)式實(shí)用2.1C++的數(shù)據(jù)類型數(shù)據(jù)類型總表數(shù)據(jù)類型決定:1.數(shù)據(jù)占內(nèi)存字節(jié)數(shù)2.數(shù)據(jù)取值范圍3.其上可進(jìn)行的操作第1頁/共37頁基本數(shù)據(jù)類型說明:數(shù)據(jù)類型所占字節(jié)數(shù)隨機(jī)器硬件不同而不同,上表以IBMPC機(jī)為例:第2頁/共37頁說明:(1)整型數(shù)據(jù)分為長(zhǎng)整型(longint)、一般整型(int)和短整型(shortint)。在int前面加long和short分別表示長(zhǎng)整型和短整型。(2)整型數(shù)據(jù)的存儲(chǔ)方式為按二進(jìn)制數(shù)形式存儲(chǔ),例如十進(jìn)制整數(shù)85的二進(jìn)制形式為1010101,則在內(nèi)存中的存儲(chǔ)形式如下圖所示。第3頁/共37頁

(3)在整型符號(hào)int和字符型符號(hào)char的前面,可以加修飾符signed(表示“有符號(hào)”)或unsigned(表示“無符號(hào)”)。例如短整型數(shù)據(jù)占兩個(gè)字節(jié),見下圖。第4頁/共37頁(4)浮點(diǎn)型(又稱實(shí)型)數(shù)據(jù)分為單精度

float:分配4個(gè)字節(jié),提供6位有效數(shù)字

Double:分配8個(gè)字節(jié),提供15位有效數(shù)字

longdouble:同double。(5)short和shortint等效,unsignedint和unsigned等效。第5頁/共37頁2.2常量

定義:程序運(yùn)行時(shí)其值不能改變的量(即常數(shù))分類:整型常量實(shí)型常量字符常量字符串常量

常量第6頁/共37頁整型常量(整常數(shù))三種形式:十進(jìn)制整數(shù):由數(shù)字0~9和正負(fù)號(hào)表示.如123,-456,0八進(jìn)制整數(shù):由數(shù)字0開頭,后跟數(shù)字0~7表示.如0123,011十六進(jìn)制整數(shù):由0x開頭,后跟0~9,a~f,A~F表示.如0x123,0Xff整型常量的類型根據(jù)其值所在范圍確定其數(shù)據(jù)類型在整常量后加字母l或L,認(rèn)為它是longint

型常量例30000為shortint型65536為

int型問題:0123=()100x123=()100Xff=()10問題:0123=()100x123=()100Xff=()1083291255#include<iostream>usingnamespacestd;intmain(){ inta=0xff; cout<<a<<endl; return0;}第7頁/共37頁實(shí)型常量(實(shí)數(shù)或浮點(diǎn)數(shù))表示形式:十進(jìn)制數(shù)形式:(必須有小數(shù)點(diǎn))如0.123,.123,123.0,0.0,123.指數(shù)形式:(e或E之前必須有數(shù)字;指數(shù)必須為整數(shù))如12.3e3,123E2,1.23e4,e-5,1.2E-3.5

實(shí)型常量的類型默認(rèn)double型在實(shí)型常量后加字母f或F,認(rèn)為它是float型第8頁/共37頁10字符常量定義:用單引號(hào)括起來的單個(gè)普通字符或轉(zhuǎn)義字符.字符常量的值:該字符的ASCII碼值<轉(zhuǎn)義字符及其含義:轉(zhuǎn)義字符含義\n\v\r\a\‘\ddd\t\b\f\\\“\xhh轉(zhuǎn)義字符含義換行垂直制表回車響鈴單引號(hào)3位8進(jìn)制數(shù)代表的字符水平制表退格換頁反斜線雙引號(hào)2位16進(jìn)制數(shù)代表的字符如‘\101’-----------‘A’‘\012’-----------’\n’‘\376’-----------’’‘\x61’-----------’a’‘\60’-----------’0’‘\483’----------()例:‘A’-------’\101’-------’\x41’--------65如‘A’——65,‘a(chǎn)’——97,

‘0’——48,‘\n’——10如‘a(chǎn)’‘A’‘?’‘\n’‘\101’轉(zhuǎn)義字符:反斜線后面跟一個(gè)字符或一個(gè)代碼值表示例轉(zhuǎn)義字符舉例#include<iostream>usingnamespacestd;intmain(){cout<<"\101\x42C\n";cout<<"Isay:\"Howareyou?\"\n";cout<<"\\CProgram\\\n";cout<<"Turbo\'C\'"<<endl;return0;}運(yùn)行結(jié)果:(屏幕顯示)ABCIsay:”Howareyou?”\CProgram\Turbo‘C’例voidmain(){cout<<“Y\b=\n”<<endl;}運(yùn)行結(jié)果:屏幕顯示:=打印機(jī)輸出:¥第9頁/共37頁字符數(shù)據(jù)的使用方法字符數(shù)據(jù)和整型數(shù)據(jù)之間可以運(yùn)算。字符數(shù)據(jù)與整型數(shù)據(jù)可以互相賦值。例:舉例#include<iostream>usingnamespacestd;intmain(){intnum=10;charch;ch=num+56;cout<<num<<ch<<endl;return0;}結(jié)果:10B字符串常量:用雙引號(hào)括起來的一串字符例:"CHINA"

"a"

'a'所以:charc;c="a";第10頁/共37頁如#definePRICE30例:符號(hào)常量舉例#definePRICE30intmain(){intnum,total;num=10;total=num*PRICE;cout<<"total="<<total<<endl;return0;}運(yùn)行結(jié)果:total=300符號(hào)常量符號(hào)常量:用標(biāo)識(shí)符代表常量定義格式:#define

符號(hào)常量常量一般用大寫字母是宏定義預(yù)處理命令,不是C語句第11頁/共37頁例2.2小寫字母轉(zhuǎn)換為大寫字母。#include<iostream>usingnamespacestd;intmain(){ charc1,c2; c1='a'; c2='b'; c1=c1-32; c2=c2-32; cout<<c1<<''<<c2<<endl; return0;}運(yùn)行結(jié)果:AB第12頁/共37頁例:cout<<"abc\\\n"<<endl;輸出:

abc\例:

cout<<"Isay\"Thankyou!\"\n";輸出:

Isay"Thankyou!"如果在一個(gè)字符串中最后一個(gè)字符為“\”,則表示它是續(xù)行符。例:

cout<<″WemuststudyC\

++hard!″;輸出:

WemuststudyC++hard!#include<iostream>usingnamespacestd;intmain(){ cout<<"aaaaaaa\bbbbbb"<<endl; return0;}第13頁/共37頁2.3變量變量:在程序運(yùn)行期間其值可以改變的量稱為變量。第14頁/共37頁例:判斷下列標(biāo)識(shí)符號(hào)合法性sumSumM.D.JohndayDate3daysstudent_name#33lotus_1_2_3chara>b_above$123M.D.John3days#33char$123a>b變量名規(guī)則定義:用來標(biāo)識(shí)變量、常量、函數(shù)等的字符序列組成:只能由字母、數(shù)字、下劃線組成,且第一個(gè)字母必須是字母或下劃線大小寫敏感不能使用關(guān)鍵字長(zhǎng)度:無規(guī)定,有系統(tǒng)最長(zhǎng)32個(gè)字符。命名原則:見名知意不宜混淆如l與I,o與0

第15頁/共37頁變量必須“先定義,后使用”定義變量的一般形式:變量類型變量名表列;例:floata,b,c,d,e;定義變量時(shí)指定它的初值。例:floata=83.5,b,c=64.5,d=81.2,e;

定義變量第16頁/共37頁對(duì)多個(gè)變量賦予同一初值,必須分別指定,不能寫成floata=b=c=4.5;而應(yīng)寫成floata=4.5,b=4.5,c=4.5;或floata,b,c=4.5;a=b=c;第17頁/共37頁在定義變量時(shí),如果加上關(guān)鍵字const,則變量的值在程序運(yùn)行期間不能改變,這種變量稱為常變量(constantvariable)。例:constinta=3;在定義常變量時(shí)必須同時(shí)對(duì)它初始化(即指定其值)常變量不能出現(xiàn)在賦值號(hào)的左邊。例:constinta=5;a=3;//常變量不能被賦值

常變量第18頁/共37頁可以用表達(dá)式對(duì)常變量初始化例:constintb=3+6,c=3*cos(1.5);注意:使用了系統(tǒng)函數(shù)cos,必須包含頭文件#include<cmath>或#include<math.h>第19頁/共37頁

算術(shù)運(yùn)算符

+、-、*、/、%、++、--

關(guān)系運(yùn)算符>、<、==、>=、<=、!=

邏輯運(yùn)算符

&&、||、!

位運(yùn)算符

<<、>>、&、|、∧、~2.4C++的運(yùn)算符第20頁/共37頁賦值運(yùn)算符(=及其擴(kuò)展賦值運(yùn)算符)條件運(yùn)算符(?:)逗號(hào)運(yùn)算符(,)指針運(yùn)算符(*)引用運(yùn)算符和地址運(yùn)算符(&)求字節(jié)數(shù)運(yùn)算符(sizeof)強(qiáng)制類型轉(zhuǎn)換運(yùn)算符((類型)或類型())成員運(yùn)算符(.)指向成員的運(yùn)算符(->)下標(biāo)運(yùn)算符([])其他(如函數(shù)調(diào)用運(yùn)算符())第21頁/共37頁學(xué)習(xí)運(yùn)算符應(yīng)注意:運(yùn)算符功能與運(yùn)算量關(guān)系要求運(yùn)算量個(gè)數(shù)要求運(yùn)算量類型運(yùn)算符優(yōu)先級(jí)別結(jié)合方向結(jié)果的類型第22頁/共37頁算術(shù)運(yùn)算符和表達(dá)式基本算術(shù)運(yùn)算符:+-*/%結(jié)合方向:從左向右優(yōu)先級(jí):----->*/%----->+-

(3)(4)(5) 說明:“-”為單目運(yùn)算符時(shí),右結(jié)合性兩整數(shù)相除,結(jié)果為整數(shù)%要求兩側(cè)均為整型數(shù)據(jù)例5/2=-5/2.0=例5%2=-5%2=1%10=

5%1=5.5%2例5/2=2

-5/2.0=-2.5例5%2=1

-5%2=-11%10=

1

5%1=

05.5%2()#include<iostream>usingnamespacestd;intmain(){ cout<<-5%2<<endl; cout<<5%-2<<endl; return0;}運(yùn)行結(jié)果:-11第23頁/共37頁例:#include<iostream>#definePRICE12.5usingnamespacestd;voidmain(){intnum=3;floattotal;charch1,ch2=‘D’;total=num*PRICE;ch1=ch2-‘A’+‘a(chǎn)’;cout<<“total=“<<total<<“,ch1=“<<ch1<<endl;}宏定義變量定義輸出結(jié)果運(yùn)行結(jié)果:total=37.5,ch1=d第24頁/共37頁2.5.3表達(dá)式中各類數(shù)值型數(shù)據(jù)間的混合運(yùn)算隱式轉(zhuǎn)換什么情況下發(fā)生運(yùn)算轉(zhuǎn)換------不同類型數(shù)據(jù)混合運(yùn)算時(shí)賦值轉(zhuǎn)換------把一個(gè)值賦給與其類型不同的變量時(shí)輸出轉(zhuǎn)換------輸出時(shí)轉(zhuǎn)換成指定的輸出格式函數(shù)調(diào)用轉(zhuǎn)換------實(shí)參與形參類型不一致時(shí)轉(zhuǎn)換運(yùn)算轉(zhuǎn)換規(guī)則:不同類型數(shù)據(jù)運(yùn)算時(shí)先自動(dòng)轉(zhuǎn)換成同一類型第25頁/共37頁doublefloatlongunsignedintchar,short低高說明:必定的轉(zhuǎn)換運(yùn)算對(duì)象類型不同時(shí)轉(zhuǎn)換例charch;inti;floatf;doubled;ch/i+f*d-(f+i)intintdoubledoubledoubledoubledoubledoubleintintdoubledoubledoubledoubledoubledouble10+‘a(chǎn)’+i*f-d/l例inti;floatf;doubled;longl;第26頁/共37頁自增、自減運(yùn)算符++--作用:使變量值加1或減1種類:前置++i,--i(先執(zhí)行i+1或i-1,再使用i值)后置i++,i--(先使用i值,再執(zhí)行i+1或i-1)例j=3;k=++j;j=3;k=j++;j=3;cout<<++j<<endl;j=3;cout<<j++<<endl;a=3;b=5;c=(++a)*b;a=3;b=5;c=(a++)*b;//k=4,j=4//k=3,j=4//4//3//c=20,a=4//c=15,a=4第27頁/共37頁自增、自減運(yùn)算符++--作用:使變量值加1或減1種類:前置++i,--i(先執(zhí)行i+1或i-1,再使用i值)后置i++,i--(先使用i值,再執(zhí)行i+1或i-1)說明:++--不能用于常量和表達(dá)式,如5++,(a+b)++++--結(jié)合方向:自右向左優(yōu)先級(jí):-++-------->*/%----->+-(3)(4)(5)例-i++-(i++)i=3;cout<<i++<<endl;//-3

例j+++k;(j++)+k;例-i++i=3;cout<<-i++<<endl;第28頁/共37頁顯式轉(zhuǎn)換(強(qiáng)制轉(zhuǎn)換)一般形式:(類型名)(表達(dá)式)例(int)(x+y)(int)x+y(double)(3/2)(int)3.6說明:強(qiáng)制轉(zhuǎn)換得到所需類型的中間變量,原變量類型不變

#include<iostream>usingnamespacestd;voidmain(){floatx;inti;x=3.6;i=(int)x;cout<<"x="<<x<<"i="<<i<<endl;}結(jié)果:x=3.6,i=3精度損失問題較高類型向較低類型轉(zhuǎn)換時(shí)可能發(fā)生第29頁/共37頁2.6賦值運(yùn)算符與賦值表達(dá)式簡(jiǎn)單賦值運(yùn)算符符號(hào):=格式:變量標(biāo)識(shí)符=表達(dá)式作用:將一個(gè)數(shù)據(jù)(常量或表達(dá)式)賦給一個(gè)變量復(fù)合賦值運(yùn)算符種類:+=-=*=/=%=《=》=&=^=|=含義:exp1op=exp2

exp1=exp1opexp2a+=3a=a+3x*=y+8x=x*(y+8)x%=3x=x%3例a=3;d=func();c=d+2;第30頁/共37頁說明:結(jié)合方向:自右向左優(yōu)先級(jí):15左側(cè)必須是變量,不能是常量或表達(dá)式賦值表達(dá)式的值與變量值相等,且可嵌套賦值轉(zhuǎn)換規(guī)則:使賦值號(hào)右邊表達(dá)式值自動(dòng)轉(zhuǎn)換成其左邊變量的類型例3=x-2*y;a+b=3;例

floatf;inti;i=10;f=i;則

f=10.0例inti;i=2.56;//結(jié)果i=2;例:a=b=c=5a=(b=5)a=5+(c=6)a=(b=4)+(c=6)a=(b=10)/(c=2)//表達(dá)式值為5,a,b,c值為5//b=5;a=5//表達(dá)式值11,c=6,a=11//表達(dá)式值10,a=10,b=4,c=6//表達(dá)式值5,a=5,b=10,c=2第31頁/共37頁說明:結(jié)合方向:自右向左優(yōu)先級(jí):15左側(cè)必須是變量,不能是常量或表達(dá)式賦值表達(dá)式的值與變量值相等,且可嵌套賦值轉(zhuǎn)換規(guī)則:使賦值號(hào)右邊表達(dá)式值自動(dòng)轉(zhuǎn)換成其左邊變量的類型例:a=12;a+=a-=a*a例

溫馨提示

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

評(píng)論

0/150

提交評(píng)論