




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、C+大學(xué)基礎(chǔ)教程第2章 基本數(shù)據(jù)類型與表達(dá)式 北京郵電大學(xué)信通院 網(wǎng)絡(luò)搜索中心第1頁(yè),共90頁(yè)。2022/7/20北京郵電大學(xué)電信工程學(xué)院計(jì)算機(jī)技術(shù)中心-2-問(wèn)題1、一個(gè)程序一般需要有3個(gè)部分輸入從鍵盤、文件讀取數(shù)據(jù),保存在內(nèi)存中處理將內(nèi)存中的數(shù)據(jù)進(jìn)行計(jì)算或邏輯分析輸出將結(jié)果顯示在屏幕上或輸出到文件中cincout第2頁(yè),共90頁(yè)。2022/7/20北京郵電大學(xué)電信工程學(xué)院計(jì)算機(jī)技術(shù)中心-3-舉例1、從鍵盤任意輸入兩個(gè)整數(shù),并求和。2、從鍵盤任意輸入兩個(gè)實(shí)數(shù),并求和。第3頁(yè),共90頁(yè)。程序中使用的數(shù)據(jù)保存在內(nèi)存中, 1、分配多大的空間存儲(chǔ)數(shù)據(jù)? 2、如何標(biāo)識(shí)數(shù)據(jù)在內(nèi)存的地址? 3、如何進(jìn)行復(fù)雜
2、的運(yùn)算?數(shù)據(jù)類型變量和常量變量、常量和運(yùn)算符組成的表達(dá)式第4頁(yè),共90頁(yè)。第2章 基本數(shù)據(jù)類型與表達(dá)式2.1 詞法記號(hào)和標(biāo)識(shí)符2.2 基本數(shù)據(jù)類型2.3 變量和常量2.4 運(yùn)算符和表達(dá)式2.5 基本輸入輸出第5頁(yè),共90頁(yè)。2.1 詞法記號(hào)和標(biāo)識(shí)符第6頁(yè),共90頁(yè)。2022/7/20北京郵電大學(xué)電信工程學(xué)院計(jì)算機(jī)技術(shù)中心-7-2.1 詞法記號(hào)和標(biāo)識(shí)符1、C+字符集英文字母:AZ,az數(shù)字字符:09特殊字符: + - * / % = ! # & | _ “ ; . , ( ) 空格第7頁(yè),共90頁(yè)。2022/7/20北京郵電大學(xué)電信工程學(xué)院計(jì)算機(jī)技術(shù)中心-8-2.1 詞法記號(hào)和標(biāo)識(shí)符單詞關(guān)鍵字:
3、系統(tǒng)預(yù)定義的單詞標(biāo)示符:用戶自定義的單詞注意: C+的表示符是大小寫敏感的,即abcABC。第8頁(yè),共90頁(yè)。2022/7/20北京郵電大學(xué)電信工程學(xué)院計(jì)算機(jī)技術(shù)中心-9-2.1 詞法記號(hào)和標(biāo)識(shí)符4、分隔符 分隔符用于分隔程序中的正文,在C+中使用下列字符作為分隔符: ( ) ,:;5、空白 在C+語(yǔ)句中經(jīng)常出現(xiàn)空白(制表符、空格、空行)等,通常都忽略不計(jì)。第9頁(yè),共90頁(yè)。2.2 基本數(shù)據(jù)類型第10頁(yè),共90頁(yè)。2022/7/20北京郵電大學(xué)電信工程學(xué)院計(jì)算機(jī)技術(shù)中心-11-2.2、基本數(shù)據(jù)類型基本數(shù)據(jù)類型 整型: int 字符型:char 、wchar_t 實(shí)型: float、double
4、 邏輯型: bool自定義數(shù)據(jù)類型 第11頁(yè),共90頁(yè)。2022/7/20北京郵電大學(xué)電信工程學(xué)院計(jì)算機(jī)技術(shù)中心-12-2.2、基本數(shù)據(jù)類型修飾符 進(jìn)一步準(zhǔn)確描述數(shù)據(jù)的大小和類型 1、長(zhǎng)型 long 2、短型 short 3、有符號(hào) signed 4、無(wú)符號(hào) unsigned第12頁(yè),共90頁(yè)。2022/7/20北京郵電大學(xué)電信工程學(xué)院計(jì)算機(jī)技術(shù)中心-13-2.2、基本數(shù)據(jù)類型問(wèn)題-128,127 范圍的整數(shù)? char -32768,32767 范圍內(nèi)的整數(shù)? short-231,231-1 范圍內(nèi)的整數(shù)? int long0,232-1 范圍內(nèi)的整數(shù)? unsigned int第13頁(yè),共
5、90頁(yè)。2022/7/20北京郵電大學(xué)電信工程學(xué)院計(jì)算機(jī)技術(shù)中心-14-2.2、基本數(shù)據(jù)類型注意 整型int的長(zhǎng)度等于機(jī)器的字長(zhǎng): 16位機(jī):int=2字節(jié); 32位機(jī):int=4字節(jié)。 但是short和long表示的數(shù)據(jù)長(zhǎng)度是固定的,任何支持標(biāo)準(zhǔn)C+的編譯器都是如此,因而如果需要編寫可移植性好的程序,應(yīng)將整型聲明為short或long。第14頁(yè),共90頁(yè)。2022/7/20北京郵電大學(xué)電信工程學(xué)院計(jì)算機(jī)技術(shù)中心-15-2.2、基本數(shù)據(jù)類型例題 編寫一個(gè)程序,輸出基本數(shù)據(jù)類型char, int, float, double,bool的長(zhǎng)度。提示: 使用sizeof(數(shù)據(jù)類型) 能夠獲取不同數(shù)據(jù)
6、類型的長(zhǎng)度。第15頁(yè),共90頁(yè)。/輸出基本數(shù)據(jù)類型的長(zhǎng)度#include using namespace std;void main()cout“char :”sizeof(char)“字節(jié)n;coutint :sizeof(int)字節(jié)n;coutfloat :sizeof(float)字節(jié)n;coutdouble:sizeof(double)字節(jié)n;coutbool :sizeof(bool)字節(jié)n;第16頁(yè),共90頁(yè)。2.3 變量和常量第17頁(yè),共90頁(yè)。2022/7/20北京郵電大學(xué)電信工程學(xué)院計(jì)算機(jī)技術(shù)中心-18-2.3 變量和常量什么是變量? 在C+中,變量是存儲(chǔ)信息的地方。變量的
7、實(shí)質(zhì)是內(nèi)存中的一個(gè)地址空間,在這個(gè)地址空間中可以進(jìn)行數(shù)據(jù)的存儲(chǔ)和讀取。變量和常量的區(qū)別 變量中的數(shù)據(jù)可以改變,而常量不行。第18頁(yè),共90頁(yè)。2022/7/20北京郵電大學(xué)電信工程學(xué)院計(jì)算機(jī)技術(shù)中心-19-2.3 變量變量定義: int a, b, c; int a=0; float f1, f2; char ch;常量定義: const int a =10;第19頁(yè),共90頁(yè)。例2.2:賦值運(yùn)算符的使用 #include using namespace std; void main() int x,y; cinxy; /輸入3、5 coutx+yxy; /輸入6、8 coutx+yendl;
8、 運(yùn)行結(jié)果: 8 14第20頁(yè),共90頁(yè)。2022/7/20北京郵電大學(xué)電信工程學(xué)院計(jì)算機(jī)技術(shù)中心-21-2.3 關(guān)鍵字typedef 為已有的數(shù)據(jù)類型定義一個(gè)同義詞,或者叫做別名。 例如: typedef unsigned int UINT; 關(guān)鍵字 數(shù)據(jù)類型 別名賦值注意: 使用typedef定義同義詞時(shí)并不分配內(nèi)存空間。第21頁(yè),共90頁(yè)。2.3關(guān)鍵字define 在C語(yǔ)言中使用預(yù)編譯指令#define定義常量。 例如: #define PI 3.1415927 關(guān)鍵字 常量名 值 該語(yǔ)句屬于預(yù)編譯指令,不屬于C+語(yǔ)句,因而行尾不需要使用分號(hào)。 功能同const double PI =
9、3.1415927第22頁(yè),共90頁(yè)。2022/7/20北京郵電大學(xué)電信工程學(xué)院計(jì)算機(jī)技術(shù)中心-23-2.3 常量整型常數(shù) 十進(jìn)制數(shù):100 8進(jìn)制數(shù) : 0144 16進(jìn)制數(shù):0 x64實(shí)型常數(shù) 0.123、23.12 123e5 或 123E5 (表示123*105) 第23頁(yè),共90頁(yè)。2022/7/20北京郵電大學(xué)電信工程學(xué)院計(jì)算機(jī)技術(shù)中心-24-2.3 常量字符常數(shù) 1、例如:a、 ?。 2、轉(zhuǎn)義字符 例如:n、t、a字符串常量 由一對(duì)雙引號(hào)括起來(lái)的字符序列, 例如:“how do you do?” “hello world!”第24頁(yè),共90頁(yè)。a0 x07bell(響鈴)n0 x
10、0A換行r0 x0D回車t0 x09制表符v0 x0B垂直跳格b0 x08Backspace0 x5C0 x22雙引號(hào)0 x27單引號(hào) ddd 1-3位8進(jìn)數(shù) xhh 1-2位16進(jìn)數(shù)第25頁(yè),共90頁(yè)。例2.3:打印特殊字符#include using namespace std;void main() cout“輸出字母:” aaendl; cout“輸出字母:” nn;運(yùn)行結(jié)果: 輸出字母:a (蜂鳴器響一聲) 輸出字母:n (換行)第26頁(yè),共90頁(yè)。2022/7/20北京郵電大學(xué)電信工程學(xué)院計(jì)算機(jī)技術(shù)中心-27-2.3 常量字符變量 char ch1=a,ch2=97, ch3 =
11、0 x61; 原因: 在內(nèi)存中,字符數(shù)據(jù)以ASCII碼存儲(chǔ),即以整數(shù)表示,所以,C+中字符數(shù)據(jù)和整數(shù)可以相互賦值。第27頁(yè),共90頁(yè)。例2.4:字符數(shù)據(jù)和整型數(shù)據(jù)的轉(zhuǎn)換#include using namespace std;void main() char ch=a; char ch1 = 97; cout”輸出內(nèi)容:”chendl; cout”輸出內(nèi)容:”ch1endl;運(yùn)行結(jié)果: 輸出內(nèi)容:97 輸出內(nèi)容:a注意:變量在輸出時(shí),根據(jù)其本身的數(shù)據(jù)類型進(jìn)行輸出。第28頁(yè),共90頁(yè)。例2.4:分析下面的輸出?#include using namespace std;void main() in
12、t n=a; int n1 = 97; cout”輸出內(nèi)容:”nendl; cout”輸出內(nèi)容:”n1 = = != =) 3、邏輯運(yùn)算符(! & |) 4、位運(yùn)算符( | & ) 5、特殊運(yùn)算符: 條件運(yùn)算符、逗號(hào)運(yùn)算符第36頁(yè),共90頁(yè)。2022/7/20北京郵電大學(xué)電信工程學(xué)院計(jì)算機(jī)技術(shù)中心-37-2.4 運(yùn)算符和表達(dá)式賦值運(yùn)算符 1、賦值運(yùn)算符就是“=” 例如:float f=3.15 2、左值:可以合法的放在“=”左邊的操作數(shù) 右值:可以合法的放在“=”右邊的操作數(shù) 常量都是右值,所以不能夠放在“=”的左邊被賦值; 變量既是左值又是右值,可以放在任何位置。第37頁(yè),共90頁(yè)。2022
13、/7/20北京郵電大學(xué)電信工程學(xué)院計(jì)算機(jī)技術(shù)中心-38-2.4 運(yùn)算符和表達(dá)式算術(shù)運(yùn)算符 C+提供的算術(shù)運(yùn)算符包括“+,-,*,/,%,+,-” 1、二元運(yùn)算符: +(加),-(減),*,/,% 2、一元運(yùn)算符: +(正號(hào)),-(負(fù)號(hào)),+,-第38頁(yè),共90頁(yè)。2022/7/20北京郵電大學(xué)電信工程學(xué)院計(jì)算機(jī)技術(shù)中心-39-2.4 運(yùn)算符和表達(dá)式算術(shù)運(yùn)算符 注意: 1、“/” 根據(jù)操作數(shù)不同,運(yùn)算規(guī)律也不同: 整型數(shù)為整除運(yùn)算:例如5/2=2; 浮點(diǎn)數(shù)為通常意義的除法:即5.0/2.0=2.5。 2、“%”取余數(shù)運(yùn)算符,只能對(duì)整型數(shù)進(jìn)行操作,不允許對(duì)浮點(diǎn)數(shù)進(jìn)行操作。第39頁(yè),共90頁(yè)。202
14、2/7/20北京郵電大學(xué)電信工程學(xué)院計(jì)算機(jī)技術(shù)中心-40-2.4 運(yùn)算符和表達(dá)式算術(shù)運(yùn)算符 C+中提供了兩個(gè)特殊的運(yùn)算符:+,-表示將操作數(shù)減1。 +、-運(yùn)算符根據(jù)操作數(shù)的位置不同,又稱為前置(+i)和后置(i+) 1、前置(+i): 先自身加1,然后再將加1的值作為(+i)表達(dá)式的值; 2、后置(i+): 將i作為(i+)表達(dá)式的值,然后自身再加1。 第40頁(yè),共90頁(yè)。例2.6:自增運(yùn)算符的使用 #include using namespace std;void main()int i =1; cout”i=”iendl; cout”i+:”i+endl; cout”i=”iendl; c
15、out” +i:”+iendl; cout”i=”iendl; 11233第41頁(yè),共90頁(yè)。2022/7/20北京郵電大學(xué)電信工程學(xué)院計(jì)算機(jī)技術(shù)中心-42-2.4 運(yùn)算符和表達(dá)式算術(shù)運(yùn)算符 在C+中可以將算術(shù)運(yùn)算符和賦值運(yùn)算符結(jié)合在一起進(jìn)行運(yùn)算,因此C+還提供5種復(fù)合的賦值運(yùn)算符+=,-=,*=,/= 和%=。 例如: x+=y 相當(dāng)于 x = x+y x-=y相當(dāng)于 x = x-y x*=y相當(dāng)于 x = x*y x/=y相當(dāng)于 x = x/y x%=y相當(dāng)于 x = x%y第42頁(yè),共90頁(yè)。例如:#include using namespace stdvoid main()int x=
16、2,y=3; x*=y+8; coutxendl;原因:x*=y+8 等價(jià)于 x=x*(y+8)/顯示22第43頁(yè),共90頁(yè)。2022/7/20北京郵電大學(xué)電信工程學(xué)院計(jì)算機(jī)技術(shù)中心-44-2.4 運(yùn)算符和表達(dá)式算術(shù)運(yùn)算符 這些運(yùn)算符的優(yōu)先級(jí)由高到低依次為: 1、+(正號(hào)),-(負(fù)號(hào)),+,- 2、*,/,% 3、+、- 4、=、+=、-=、*=、/=、%=第44頁(yè),共90頁(yè)。2022/7/20北京郵電大學(xué)電信工程學(xué)院計(jì)算機(jī)技術(shù)中心-45-2.4 運(yùn)算符和表達(dá)式注意 在進(jìn)行算術(shù)運(yùn)算時(shí),很可能出現(xiàn)溢出,溢出是指在給一個(gè)變量賦值時(shí)超出了其數(shù)據(jù)類型表示的范圍。溢出不會(huì)引起編譯錯(cuò)誤的,但運(yùn)行結(jié)果會(huì)出現(xiàn)
17、偏差。 例如: short int i=65536; coutiendl;輸出結(jié)果:0第45頁(yè),共90頁(yè)。2022/7/20北京郵電大學(xué)電信工程學(xué)院計(jì)算機(jī)技術(shù)中心-46-習(xí)題void main() unsigned short int i=-1; couti=、=、=、=、 2、=、!= 由關(guān)系運(yùn)算符將兩個(gè)表達(dá)式連接起來(lái),就是關(guān)系表達(dá)式;關(guān)系表達(dá)式的結(jié)果類型為bool,值只能為true或false,屏幕顯示為1或0。第47頁(yè),共90頁(yè)。例如int a=1, b=2, c=3;couta=bendl; couta!=bendl; cout=bendl; coutabb=ca+5;coutdb &
18、 b+) cout”b的值沒(méi)有被改變?!眅ndl; coutbendl; 運(yùn)行結(jié)果:2第50頁(yè),共90頁(yè)。2022/7/20北京郵電大學(xué)電信工程學(xué)院計(jì)算機(jī)技術(shù)中心-51-2.4 運(yùn)算符和表達(dá)式位運(yùn)算符 一般高級(jí)語(yǔ)言:byte C語(yǔ)言: bit C+語(yǔ)言中提供了六個(gè)位運(yùn)算符,可以對(duì)整數(shù)進(jìn)行位操作,分別是按位與(&),按位或(|),按位異或(),按位取反(),左移位()。第51頁(yè),共90頁(yè)。2022/7/20北京郵電大學(xué)電信工程學(xué)院計(jì)算機(jī)技術(shù)中心-52-2.4 運(yùn)算符和表達(dá)式按位與(&) 按位與操作的作用是將兩個(gè)操作數(shù)對(duì)應(yīng)的每一位分別進(jìn)行邏輯與操作。 例如:計(jì)算3 & 5 3:0 0 0 0 0
19、0 1 1 5:0 0 0 0 0 1 0 1 3 &5:0 0 0 0 0 0 0 1 例如: 將char a;的最低位置0: 取int a;的低字節(jié):a=a & 0376;char c= a & 0377;第52頁(yè),共90頁(yè)。2022/7/20北京郵電大學(xué)電信工程學(xué)院計(jì)算機(jī)技術(shù)中心-53-2.4 運(yùn)算符和表達(dá)式按位或(|) 按位或操作的作用是將兩個(gè)操作數(shù)對(duì)應(yīng)的每一位分別進(jìn)行邏輯或操作。 例如:計(jì)算3 | 5 3:0 0 0 0 0 0 1 1 5:0 0 0 0 0 1 0 1 3 |5:0 0 0 0 0 1 1 1 例如: 將int a;的低字節(jié)置1:a = a | 0 xff;第53
20、頁(yè),共90頁(yè)。2022/7/20北京郵電大學(xué)電信工程學(xué)院計(jì)算機(jī)技術(shù)中心-54-2.4 運(yùn)算符和表達(dá)式按位異或() 按位異或操作的作用是將兩個(gè)操作數(shù)對(duì)應(yīng)的每一位分別進(jìn)行異或操作。 具體運(yùn)算規(guī)則: 11=0,00=0,10=01=1 例如:計(jì)算35 3:0 0 0 0 0 0 1 1 5:0 0 0 0 0 1 0 1 3 5:0 0 0 0 0 1 1 0第54頁(yè),共90頁(yè)。2022/7/20北京郵電大學(xué)電信工程學(xué)院計(jì)算機(jī)技術(shù)中心-55-2.4 運(yùn)算符和表達(dá)式按位異或() 例如: 如果使8位二進(jìn)制數(shù)01111010的后四位翻轉(zhuǎn)?可以將該二進(jìn)制數(shù)與00001111進(jìn)行異或操作: 0 1 1 1 1
21、 0 1 0 ()0 0 0 0 1 1 1 1 0 1 1 1 0 1 0 1第55頁(yè),共90頁(yè)。2022/7/20北京郵電大學(xué)電信工程學(xué)院計(jì)算機(jī)技術(shù)中心-56-2.4 運(yùn)算符和表達(dá)式按位取反() 按位取反是一個(gè)一元運(yùn)算符,它的作用是將兩個(gè)操作數(shù)對(duì)應(yīng)的每一位分別進(jìn)行取反操作。 具體運(yùn)算規(guī)則:1=0,0=1。 例如:計(jì)算5 5:0 0 0 0 0 1 0 1 5:1 1 1 1 1 0 1 0第56頁(yè),共90頁(yè)。2022/7/20北京郵電大學(xué)電信工程學(xué)院計(jì)算機(jī)技術(shù)中心-57-2.4 運(yùn)算符和表達(dá)式左移: 按照指定的位數(shù)將一個(gè)二進(jìn)制數(shù)值向右移動(dòng),右移后,移出的低位舍棄。 如果是無(wú)符號(hào)數(shù)則高位補(bǔ)0
22、,如果是有符號(hào)數(shù)在VC+6.0環(huán)境下高位補(bǔ)符號(hào)位。第57頁(yè),共90頁(yè)。例子char a= -8; a =a2;cout”a=”(int)aendl;第58頁(yè),共90頁(yè)。例子char a=2; a =a1;cout”a=”(int)aendl;第59頁(yè),共90頁(yè)。2022/7/20北京郵電大學(xué)電信工程學(xué)院計(jì)算機(jī)技術(shù)中心-60-2.4 運(yùn)算符和表達(dá)式位運(yùn)算符 在C+中可以將位運(yùn)算符和賦值運(yùn)算符結(jié)合在一起進(jìn)行運(yùn)算,因此C+還提供另外5種運(yùn)算符&=,|=,=,=。 例如: x&=y 相當(dāng)于 x = x&y x|=y 相當(dāng)于x = x|y x=y 相當(dāng)于x = xy x=y 相當(dāng)于 x = x=y 相當(dāng)
23、于 x = xy 第60頁(yè),共90頁(yè)。2022/7/20北京郵電大學(xué)電信工程學(xué)院計(jì)算機(jī)技術(shù)中心-61-2.4 運(yùn)算符和表達(dá)式位運(yùn)算符這些位運(yùn)算符的優(yōu)先級(jí)由高到低依次為:1、2、3、&4、5、|6、&=,|=,=,=第61頁(yè),共90頁(yè)。2022/7/20北京郵電大學(xué)電信工程學(xué)院計(jì)算機(jī)技術(shù)中心-62-2.4 運(yùn)算符和表達(dá)式條件運(yùn)算符 條件運(yùn)算符語(yǔ)法格式為: 表達(dá)式1?(表達(dá)式2):(表達(dá)式3); 運(yùn)算的結(jié)果是:如果表達(dá)式1的值為真,則返回表達(dá)式2的值,否則返回表達(dá)式3的值。 例1: x = ab ? a : b; 例2: int x=0, y=1; couty?x:y)endl;第62頁(yè),共90頁(yè)
24、。2022/7/20北京郵電大學(xué)電信工程學(xué)院計(jì)算機(jī)技術(shù)中心-63-2.4 運(yùn)算符和表達(dá)式逗號(hào)運(yùn)算符 逗號(hào)表達(dá)式的語(yǔ)法格式為: 表達(dá)式1,表達(dá)式2,表達(dá)式n; C+順序計(jì)算表達(dá)式1,表達(dá)式2,表達(dá)式n的值,并將最后一次計(jì)算的結(jié)果作為逗號(hào)表達(dá)式的結(jié)果。 例如: int a,b,c; a=1,b=2,c=a+b; 第63頁(yè),共90頁(yè)。例子 int a,b,c,d; d=(a=1, b=2, c=a+b, a+b+c); coutdendl;6第64頁(yè),共90頁(yè)。2022/7/20北京郵電大學(xué)電信工程學(xué)院計(jì)算機(jī)技術(shù)中心-65-2.4 運(yùn)算符和表達(dá)式數(shù)據(jù)類型轉(zhuǎn)換 當(dāng)表達(dá)式中出現(xiàn)多種數(shù)據(jù)類型的混合運(yùn)算時(shí),
25、往往需要進(jìn)行類型轉(zhuǎn)換。表達(dá)式中的類型轉(zhuǎn)換分成兩種: 1、隱式類型轉(zhuǎn)換 2、強(qiáng)制類型轉(zhuǎn)換。第65頁(yè),共90頁(yè)。2022/7/20北京郵電大學(xué)電信工程學(xué)院計(jì)算機(jī)技術(shù)中心-66-2.4 運(yùn)算符和表達(dá)式1、隱式類型轉(zhuǎn)換 各種二元運(yùn)算符在進(jìn)行運(yùn)算時(shí)都要求兩個(gè)操作數(shù)的數(shù)據(jù)類型一致。如果類型不一致,則系統(tǒng)自動(dòng)對(duì)數(shù)據(jù)進(jìn)行轉(zhuǎn)換(隱式類型轉(zhuǎn)換)。 第66頁(yè),共90頁(yè)。2022/7/20北京郵電大學(xué)電信工程學(xué)院計(jì)算機(jī)技術(shù)中心-67-1、隱式類型轉(zhuǎn)換轉(zhuǎn)換的基本原則: 將精度較低、范圍較小的類型轉(zhuǎn)換成精度較高、范圍較大的類型。 double float long unsigned int char, short高低第6
26、7頁(yè),共90頁(yè)。2022/7/20北京郵電大學(xué)電信工程學(xué)院計(jì)算機(jī)技術(shù)中心-68-例子void main() char a=100; unsigned char i=99; couti - aendl;輸出結(jié)果:-1第68頁(yè),共90頁(yè)。2022/7/20北京郵電大學(xué)電信工程學(xué)院計(jì)算機(jī)技術(shù)中心-69-1、隱式類型轉(zhuǎn)換1、邏輯運(yùn)算: 邏輯運(yùn)算要求是bool型,系統(tǒng)自動(dòng)將其他類型轉(zhuǎn)換成bool類型,轉(zhuǎn)換規(guī)則:0為false,非0為true。2、賦值運(yùn)算: “=”要求左右兩邊的數(shù)據(jù)類型相同,如果類型不一致,則自動(dòng)將右邊的操作數(shù)類型向著左邊的操作數(shù)類型轉(zhuǎn)換。 例如: int i=3.15; coutien
27、dl;第69頁(yè),共90頁(yè)。2022/7/20北京郵電大學(xué)電信工程學(xué)院計(jì)算機(jī)技術(shù)中心-70-2.4 運(yùn)算符和表達(dá)式2、強(qiáng)制類型轉(zhuǎn)換 強(qiáng)制類型轉(zhuǎn)換通過(guò)是類型說(shuō)明符和括號(hào)來(lái)實(shí)現(xiàn)的顯式轉(zhuǎn)換,其語(yǔ)法格式為: (數(shù)據(jù)類型名)表達(dá)式 或 數(shù)據(jù)類型名(表達(dá)式) 例如: int i=97; cout(char)iendl; /輸出a float f=3.75; cout(int)f”就可以將鍵盤鍵入的數(shù)據(jù)讀入到變量中。語(yǔ)法格式為: cin變量1變量2變量n; 例如: int a,b; char ch; cinabch;第73頁(yè),共90頁(yè)。2022/7/20北京郵電大學(xué)電信工程學(xué)院計(jì)算機(jī)技術(shù)中心-74-2.5 I
28、/O流控制2、標(biāo)準(zhǔn)輸出流cout cout負(fù)責(zé)將變量或常量中的數(shù)據(jù)輸出到屏幕,使用插入操作符“”就可以將變量或常量的數(shù)據(jù)顯示在屏幕上。 例如: cout”Hello world!n”; cout能夠自動(dòng)識(shí)別“”后面的數(shù)據(jù)類型并進(jìn)行顯示,并且可以從左到右一次顯示多個(gè)變量。第74頁(yè),共90頁(yè)。例子#include using namespace std;void main()int a,b;char ch;coutabch; cout”a=”a” b=”b” ch=”chendl;第75頁(yè),共90頁(yè)。2022/7/20北京郵電大學(xué)電信工程學(xué)院計(jì)算機(jī)技術(shù)中心-76-2.5 I/O流控制3、IO流的格
29、式控制 庫(kù)文件 iomanip 常用控制符: setfill(c) 設(shè)置填充字符 setw(n) 設(shè)置域?qū)挒閚 第76頁(yè),共90頁(yè)。2022/7/20北京郵電大學(xué)電信工程學(xué)院計(jì)算機(jī)技術(shù)中心-77-2.5 I/O流控制設(shè)置輸出寬度和填充字符 setw(n) 設(shè)置域?qū)?,即設(shè)置“”符號(hào)后面的數(shù)據(jù)占用的屏幕寬度。 setfill(c) 設(shè)置填充字符,即“”符號(hào)后面的數(shù)據(jù)長(zhǎng)度小于域?qū)挄r(shí),使用什么字符進(jìn)行填充。 第77頁(yè),共90頁(yè)。setw(n) 和setfill(c)例1: coutsetw(8)asetw(8)bendl;輸出結(jié)果: 例2: coutsetfill(*)setw(5)aendl;輸出結(jié)
30、果:_ _ _ _ _ _ _a_ _ _ _ _ _ _b *a第78頁(yè),共90頁(yè)。#include #include using namespace std;void main() coutsetfill(*) setw(2)n setw(3)n setw(4)n setw(5)n setw(6)n setw(7)n setw(8)n; * * * * * * *第79頁(yè),共90頁(yè)。2022/7/20北京郵電大學(xué)電信工程學(xué)院計(jì)算機(jī)技術(shù)中心-80-2.5 I/O流控制注意1 除了setw()控制符外,其他控制符一旦設(shè)置,則對(duì)其后的所有輸入輸出產(chǎn)生影響。而setw()控制符只對(duì)其后輸出的第一個(gè)
31、數(shù)據(jù)有效,對(duì)其他數(shù)據(jù)沒(méi)有影響,所以如下代碼: coutsetw(8) a bendl; 輸出結(jié)果: _ _ _ _ _ _ _ab第80頁(yè),共90頁(yè)。2022/7/20北京郵電大學(xué)電信工程學(xué)院計(jì)算機(jī)技術(shù)中心-81-2.5 I/O流控制注意2 setw()的默認(rèn)為setw(0),意思是按實(shí)際輸出。如果輸出的數(shù)值占用的寬度超過(guò)setw(n)設(shè)置的寬度,則按實(shí)際寬度輸出。 例如: float f=0.12345; coutsetw(3)fendl; 0.12345第81頁(yè),共90頁(yè)。2022/7/20北京郵電大學(xué)電信工程學(xué)院計(jì)算機(jī)技術(shù)中心-82-2.5 I/O流控制3、I/O流的格式控制 C+默認(rèn)輸
32、出浮點(diǎn)數(shù)的有效位為6位,那么要想控制輸出的數(shù)據(jù)的長(zhǎng)度,該如何呢? 比如:float f=3.1234567;如何讓顯示結(jié)果為3.12? C+提供了setprecision(int n)可以控制顯示浮點(diǎn)數(shù)的有效位。第82頁(yè),共90頁(yè)。#include #include using namespace std;void main() float f=17/7.0;coutfendl;coutsetprecision(0)fendl;coutsetprecision(1)fendl;coutsetprecision(2)fendl;coutsetprecision(3)fendl;coutsetprecision(6)fendl;coutsetprecision(8)fendl;2.428572.4285722.42.432.428572.4285715第83頁(yè),共90頁(yè)。2022/7/20北京郵電大學(xué)電信工程學(xué)院計(jì)算機(jī)技術(shù)中心-84-2.5 I/O流控制3、I/O流的格式控制 如何控制小數(shù)的位數(shù)? setiosflags(ios:fixed)控制符是用定點(diǎn)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 三年級(jí)數(shù)學(xué)故事解讀
- 小王子書中純真之愛(ài)讀后感
- 自然資源開(kāi)發(fā)與保護(hù)合作協(xié)議
- 智能家電銷售與保修協(xié)議
- 初中生歷史故事解讀
- 運(yùn)輸合同運(yùn)輸補(bǔ)充協(xié)議
- 辦公區(qū)域布局調(diào)研報(bào)告
- 環(huán)保咨詢服務(wù)協(xié)議
- 電子設(shè)備銷售及安裝維護(hù)合同
- 物流行業(yè)運(yùn)輸損壞物品賠償協(xié)議
- 3 學(xué)會(huì)反思(教學(xué)設(shè)計(jì))部編版道德與法治六年級(jí)下冊(cè)
- 第一單元 歌唱祖國(guó)-《 中華人民共和國(guó)國(guó)歌》課件 2023-2024學(xué)年人音版初中音樂(lè)七年級(jí)上冊(cè)
- 2024-2030年中國(guó)腎性貧血療法行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略分析報(bào)告
- DL∕T 1281-2013 燃煤電廠固體廢物貯存處置場(chǎng)污染控制技術(shù)規(guī)范
- 辦公家具采購(gòu)項(xiàng)目質(zhì)量保證售后服務(wù)承諾書
- 2024年時(shí)政試題庫(kù)(b卷)
- 2024助貸委托服務(wù)協(xié)議合同模板
- 廣東省住院病歷評(píng)分標(biāo)準(zhǔn)
- 關(guān)于315食品安全
- 剖腹產(chǎn)更新指南(2023版)解讀課件
- 2024屆北京市各城區(qū)高三語(yǔ)文一模分類匯編:語(yǔ)言基礎(chǔ)試題及答案
評(píng)論
0/150
提交評(píng)論