![C++高級語言程序設(shè)計第二章_第1頁](http://file4.renrendoc.com/view/83411bbcb81651c69d468e9d956d0c1b/83411bbcb81651c69d468e9d956d0c1b1.gif)
![C++高級語言程序設(shè)計第二章_第2頁](http://file4.renrendoc.com/view/83411bbcb81651c69d468e9d956d0c1b/83411bbcb81651c69d468e9d956d0c1b2.gif)
![C++高級語言程序設(shè)計第二章_第3頁](http://file4.renrendoc.com/view/83411bbcb81651c69d468e9d956d0c1b/83411bbcb81651c69d468e9d956d0c1b3.gif)
![C++高級語言程序設(shè)計第二章_第4頁](http://file4.renrendoc.com/view/83411bbcb81651c69d468e9d956d0c1b/83411bbcb81651c69d468e9d956d0c1b4.gif)
![C++高級語言程序設(shè)計第二章_第5頁](http://file4.renrendoc.com/view/83411bbcb81651c69d468e9d956d0c1b/83411bbcb81651c69d468e9d956d0c1b5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
2023/2/11C++高級語言程序設(shè)計第2章基本數(shù)據(jù)類型與表達式
北京郵電大學(xué)信息與通信工程學(xué)院
北京郵電大學(xué)信息與通信工程學(xué)院2023/2/12程序中最基本的要素是數(shù)據(jù)類型,根據(jù)數(shù)據(jù)類型可以為變量或常量分配內(nèi)存空間,將變量、常量和運算符結(jié)合在一起組成表達式,進行復(fù)雜的運算和處理。北京郵電大學(xué)信息與通信工程學(xué)院2023/2/1-3-第2章基本數(shù)據(jù)類型與表達式2.1詞法記號和標識符2.2基本數(shù)據(jù)類型2.3變量和常量2.4運算符和表達式2.5基本輸入輸出2.6使用string類型處理字符串北京郵電大學(xué)信息與通信工程學(xué)院2023/2/1-4-2.1詞法記號和標識符
北京郵電大學(xué)信息與通信工程學(xué)院2.1詞法記號和標識符C++字符集
英文字母:A~Z,a~z
數(shù)字字符:0~9
特殊字符:+-*/%^=<>!#& |_~ \‘“;. ,()[] {}空格2023/2/1-5-北京郵電大學(xué)信息與通信工程學(xué)院2.1詞法記號和標識符C++關(guān)鍵字
什么是關(guān)鍵字?預(yù)先定義好的標識符,C++編譯器對其進行特殊處理。
如何識別關(guān)鍵字?使用VC2005的編輯環(huán)境時,缺省是藍色的字符即為關(guān)鍵字。2023/2/1-6-北京郵電大學(xué)信息與通信工程學(xué)院2.1詞法記號和標識符標識符
標識符是程序員聲明的單詞,它命名程序正文中的一些實體,如函數(shù)名、變量名、類名、對象名等。C++標識符的構(gòu)成規(guī)則如下:
2023/2/1-7-
1、不能是C++的關(guān)鍵字;2、第一個字符必須是大寫、小寫字母或下劃線;3、不包含空格和“+、-、;”等特殊字符;4、為方便輸入,長度一般不超過31個字符。北京郵電大學(xué)信息與通信工程學(xué)院2.1詞法記號和標識符
例如:合法的標識符:
apple、_Student、_123、No1、max_num不合法的標識符:
51job、maxnum、-abc
2023/2/1-8-注意:C++的標識符是大小寫敏感的,即abc≠ABC。北京郵電大學(xué)信息與通信工程學(xué)院2.1詞法記號和標識符分隔符分隔符用于分隔程序中的正文,在C++中使用下列字符作為分隔符:
(){} , : ;這些分隔符不表示實際的操作,僅用于構(gòu)造程序。比如“;”用來作為一句完整語句的結(jié)束。2023/2/1-9-北京郵電大學(xué)信息與通信工程學(xué)院2.1詞法記號和標識符空白在C++語句中經(jīng)常出現(xiàn)空白(制表符、空格、空行)等,通常都忽略不計。2023/2/1-10-北京郵電大學(xué)信息與通信工程學(xué)院2.2基本數(shù)據(jù)類型
北京郵電大學(xué)信息與通信工程學(xué)院2023/2/1-11-2.2基本數(shù)據(jù)類型什么是數(shù)據(jù)類型?
數(shù)據(jù)是程序處理的對象,數(shù)據(jù)根據(jù)其本身的特點進行分類,從而形成不同的數(shù)據(jù)類型。
例如:數(shù)學(xué)中有自然數(shù)、整數(shù)、實數(shù)不同類型的數(shù)據(jù)有不同的表示和處理方法,具有不同運算規(guī)則2023/2/1-12-北京郵電大學(xué)信息與通信工程學(xué)院2.2基本數(shù)據(jù)類型基本數(shù)據(jù)類型
整型:int
字符型:char、wchar_t
實型:float、double
邏輯型:bool2023/2/1-13-北京郵電大學(xué)信息與通信工程學(xué)院2.2基本數(shù)據(jù)類型修飾符
在C++中描述為了更加準確的描述數(shù)據(jù)類型,提供了4個關(guān)鍵字用來修飾基本的數(shù)據(jù)類型:1、長型long2、短型short3、有符號signed4、無符號unsigned2023/2/1-14-北京郵電大學(xué)信息與通信工程學(xué)院1、short: 僅用來修飾int,稱為短整型,占2字節(jié)內(nèi)存,也可直接簡寫為short;2、long:僅修飾int和double,在不同的編譯環(huán)境中使用long修飾的double類型數(shù)據(jù)所占內(nèi)存不同。3、unsigned:用來修飾char、short和int,表示該數(shù)據(jù)類型為無符號數(shù)。
4、signed:用來修飾char、short和int,表示該數(shù)據(jù)類型為有符號數(shù),為缺省設(shè)置。2023/2/1-15-北京郵電大學(xué)信息與通信工程學(xué)院2.2基本數(shù)據(jù)類型數(shù)據(jù)類型與內(nèi)存空間
不同的數(shù)據(jù)類型,加上不同的修飾符就具有了不同的特點,在內(nèi)存中占用的空間也不同,因而其所能表示的數(shù)值范圍也不盡相同。
內(nèi)存單元的單位是字節(jié),因此用來表示數(shù)據(jù)類型的長度的單位也是字節(jié)。
2023/2/1-16-北京郵電大學(xué)信息與通信工程學(xué)院2.2基本數(shù)據(jù)類型數(shù)據(jù)類型與內(nèi)存空間
特定數(shù)據(jù)類型在內(nèi)存中占用的內(nèi)存因機器的不同而不同
整型int的長度等于機器的字長:16位機:int=2字節(jié);32位機:int=4字節(jié)。
2023/2/1-17-北京郵電大學(xué)信息與通信工程學(xué)院2.2基本數(shù)據(jù)類型數(shù)據(jù)類型與內(nèi)存空間
如果需要編寫可移植性好的程序,應(yīng)將整型聲明為short或long。因為short和long表示的數(shù)據(jù)長度是固定的,任何支持標準C++的編譯器都是如此。-18-2023/2/1北京郵電大學(xué)信息與通信工程學(xué)院2.2基本數(shù)據(jù)類型例2-1打印各種數(shù)據(jù)類型的長度
編寫一個程序,輸出基本數(shù)據(jù)類型char,int,float,double,bool的長度。
提示:使用sizeof(數(shù)據(jù)類型)能夠獲取不同數(shù)據(jù)類型的長度。-19-2023/2/1北京郵電大學(xué)信息與通信工程學(xué)院//例2-1顯示各種數(shù)據(jù)類型的長度#include<iostream>usingnamespacestd;voidmain(){cout<<"char:"<<sizeof(char)<<"字節(jié)\n";cout<<"int:"<<sizeof(int)<<"字節(jié)\n";cout<<"float:"<<sizeof(float)<<"字節(jié)\n";cout<<"double:"<<sizeof(double)<<"字節(jié)\n";cout<<"bool:"<<sizeof(bool)<<"字節(jié)\n";}-20-在32位機上運行結(jié)果char:1字節(jié)int:4字節(jié)float:4字節(jié)double:8字節(jié)bool:1字節(jié)2023/2/1北京郵電大學(xué)信息與通信工程學(xué)院2.3變量和常量
-21-北京郵電大學(xué)信息與通信工程學(xué)院2023/2/12.3變量和常量 概述
程序所處理的數(shù)據(jù)不僅分為不同的數(shù)據(jù)類型,而且每種類型的數(shù)據(jù)還分為變量和常量。程序在運行中就是通過這些變量和常量來操作數(shù)據(jù)的。
2023/2/1-22-北京郵電大學(xué)信息與通信工程學(xué)院2.3變量 什么是變量?
在C++中,變量是存儲信息的地方。變量的實質(zhì)是內(nèi)存中的一個地址空間,在這個地址空間中可以進行數(shù)據(jù)的存儲和讀取。
2023/2/1-23-北京郵電大學(xué)信息與通信工程學(xué)院定義變量的格式
數(shù)據(jù)類型變量名1,變量名2,…變量名n;
例如:定義各種類型的變量
intnum; floatf; charch; shorts; doublearea,length;2023/2/1-24-2.3變量 北京郵電大學(xué)信息與通信工程學(xué)院2.3變量定義變量的實質(zhì)
例如:intnum;
系統(tǒng)根據(jù)所指定的數(shù)據(jù)類型int,從地址xxxxxxxH開始,為變量num分配4個字節(jié)單元。
變量num的取值范圍為?231~231?1。2023/2/1-25-北京郵電大學(xué)信息與通信工程學(xué)院2.3變量定義變量的實質(zhì)
例如:intnum;
編程時,可以直接使用變量名num對存儲在該內(nèi)存空間的數(shù)據(jù),也就是變量值進行存取。
變量名和地址xxxxxxxH之間的對應(yīng)關(guān)系由系統(tǒng)來管理。2023/2/1-26-北京郵電大學(xué)信息與通信工程學(xué)院2.3變量幾點說明
在創(chuàng)建或定義變量時,需要指明該變量的數(shù)據(jù)類型和名稱。
數(shù)據(jù)類型:決定變量的存儲方式和可以進行的操作;變量名稱:用來區(qū)分不同的變量。
2023/2/1-27-北京郵電大學(xué)信息與通信工程學(xué)院2.3變量幾點說明在C++程序中使用變量,必須“先定義或聲明,后使用”,而且只能定義一次。
變量定義語句的位置,C++中沒有要求,放在第一次使用該變量之前的任何位置均可以。2023/2/1-28-建議:把變量定義語句放在首次使用它的地方,這樣可以提高程序的可讀性。北京郵電大學(xué)信息與通信工程學(xué)院2.3變量變量的命名
遵循標識符定義的規(guī)則,常用的命名約定有三種:
1、Unix環(huán)境常用的命名法
my_age、num_of_student2、駝峰式命名法
myAge、numOfStudent3、匈牙利標記法
iMyCar、bIsRight2023/2/1-29-北京郵電大學(xué)信息與通信工程學(xué)院2.3變量變量的賦值使用賦值運算符“=”可以將一個值賦給變量。例如:
unsignedshortage;age=18;也可以在定義變量的同時進行初始化:
unsignedshortage=18;
或
unsignedshortage(18);2023/2/1-30-北京郵電大學(xué)信息與通信工程學(xué)院2.3變量變量的賦值
我們可以一次定義多個相同數(shù)據(jù)類型的變量,也可以一次為多個變量初始化:
charch1=’a’,ch2=’b’;intheight=10,width=6,area;2023/2/1-31-特性:變量可以被多次賦值,但每次賦值后,原值都會被新值覆蓋。北京郵電大學(xué)信息與通信工程學(xué)院2.3變量例2-2賦值運算符的使用
#include<iostream>usingnamespacestd;voidmain(){intmyAge=18;cout<<“myAge=”<<myAge<<endl;myAge=20;cout<<“myAge=”<<myAge<<endl;}-32-2023/2/1北京郵電大學(xué)信息與通信工程學(xué)院運行結(jié)果:myAge=18myAge=202.3變量typedef
為已有的數(shù)據(jù)類型定義一個同義詞,或者叫做別名。
格式:typedef原類型名新類型名;例如:typedefunsignedshortintUINT16UINT16i;2023/2/1-33-注意:typedef語句并沒有定義一個新的數(shù)據(jù)類型,只是聲明了原有數(shù)據(jù)類型的一個別名。北京郵電大學(xué)信息與通信工程學(xué)院2.3常量常量
常量代表一個固定的值。嚴格來說,常量又分成符號常量和常數(shù)。
符號常量:是用標識符表示的常量;
常數(shù):程序中使用的具體的數(shù)據(jù)。2023/2/1-34-北京郵電大學(xué)信息與通信工程學(xué)院2.3常量符號常量
C++中提供了一個關(guān)鍵字const,用來區(qū)分常量和變量。由于常量在程序運行過程中不能夠被改變,所以要求常量在定義的時候必須進行初始化。
符號常量的定義格式:
const
數(shù)據(jù)類型常量名=常量值;
例如:constfloatPI=3.14159;
2023/2/1-35-北京郵電大學(xué)信息與通信工程學(xué)院2.3常量define關(guān)鍵字在C語言中使用預(yù)編譯指令#define也能夠定義常量。
例如:#definePI3.1415927
說明:該語句屬于預(yù)編譯指令,不屬于C++語句,因而行尾不需要使用分號。并且由于C++是向下兼容的,因而C語言的程序能夠在C++的編譯器下順利運行。但是在C++編程中,建議使用const替代#define定義常量。2023/2/1-36-北京郵電大學(xué)信息與通信工程學(xué)院2.3常量編程時使用符號常量
可以增強程序的可讀性
可以增強程序的可維護性2023/2/1-37-北京郵電大學(xué)信息與通信工程學(xué)院2.3常量整型常數(shù)
C++中的整型常數(shù)可以使用多種數(shù)制
十進制數(shù):100
8進制數(shù):0144
16進制數(shù):0x64
整型常數(shù)默認是int類型
用U或u表示無符號整型,如65535U
。
用L或l表示長整型,
如123L。2023/2/1-38-北京郵電大學(xué)信息與通信工程學(xué)院2.3常量實型常數(shù)
1、小數(shù)形式
例如:0.123、23.12
2、指數(shù)形式
表示形式:aEb
代表數(shù)值:a
×
10b
例如:123e5或123E5=123×105
2023/2/1-39-
注意:
b必須是十進制整數(shù),a可以是十進制整數(shù)或者小數(shù)形式的實數(shù),并且數(shù)字a和b都不可以省略北京郵電大學(xué)信息與通信工程學(xué)院2.3常量實型常數(shù)
實型常數(shù)默認為double型
可用后綴F(f)表示實數(shù)常數(shù)為float型。
可用后綴L(l)表示實數(shù)常數(shù)為longdouble型。2023/2/1-40-北京郵電大學(xué)信息與通信工程學(xué)院2.3常量字符常數(shù)1、用單引號擴起來的一個字符,例如:‘a(chǎn)’、‘?’。2、轉(zhuǎn)義字符以\開頭的字符序列,代表特殊的意義。例如:\n、\t、\”2023/2/1-41-北京郵電大學(xué)信息與通信工程學(xué)院\a 0x07 bell(響鈴)\n 0x0A 換行\(zhòng)r 0x0D 回車\t 0x09 制表符\v 0x0B 垂直跳格\b 0x08 Backspace\\ 0x5C ‘\’\" 0x22 雙引號\‘
0x27 單引號\ooo1-3位8進數(shù)\xhh1-2位16進數(shù)2023/2/1-42-北京郵電大學(xué)信息與通信工程學(xué)院例2-3:打印特殊字符#include<iostream>usingnamespacestd;voidmain(){cout<<“輸出字母:”<<‘a(chǎn)’<<’\a’<<endl;cout<<“輸出字母:”<<‘n’<<’\n’;}運行結(jié)果:輸出字母:a(蜂鳴器響一聲)輸出字母:n(換行)2023/2/1-43-北京郵電大學(xué)信息與通信工程學(xué)院2.3常量字符常數(shù)
反斜線還可以和1~3位八進制數(shù)或以x開始的1~2位十六進制數(shù)結(jié)合表示任何ASCII字符。
例如:例2-3中的輸出還可以寫為 cout<<“輸出字母:”<<‘\x61’<<’\x07’<<endl; cout<<“輸出字母:”<<‘\x6E’<<’\x0A’;2023/2/1-44-北京郵電大學(xué)信息與通信工程學(xué)院2.3常量字符數(shù)據(jù)的存儲
在內(nèi)存中,字符數(shù)據(jù)以ASCII碼存儲,可看成是單字節(jié)整數(shù)表示,所以,C++中字符數(shù)據(jù)和整數(shù)可以相互賦值。例2-4字符數(shù)據(jù)和整型數(shù)據(jù)的轉(zhuǎn)換2023/2/1-45-北京郵電大學(xué)信息與通信工程學(xué)院//例2-4:同樣數(shù)據(jù)的不同輸出#include<iostream>usingnamespacestd;voidmain(){intn=’a’;charch=97;cout<<”按整數(shù)輸出內(nèi)容:”<<n<<endl;cout<<”按字符輸出內(nèi)容:”<<ch<<endl;}運行結(jié)果:按整數(shù)輸出內(nèi)容:97按字符輸出內(nèi)容:a注意:變量在輸出時,根據(jù)其本身的數(shù)據(jù)類型進行輸出。2023/2/1-46-北京郵電大學(xué)信息與通信工程學(xué)院2.3常量字符串常量
由一對雙引號括起來的字符序列。
例如:“howdoyoudo?” “helloworld!”2023/2/1-47-北京郵電大學(xué)信息與通信工程學(xué)院2.3常量字符串常量在內(nèi)存中的存儲
字符串常量在內(nèi)存中除了存儲所包含字符外,還需要存儲一個結(jié)束符‘\0’。
一個字符數(shù)據(jù)在內(nèi)存中占用1字節(jié)的空間。2023/2/1-48-注意:字符串“A”與字符‘A’的不同北京郵電大學(xué)信息與通信工程學(xué)院2.3常量思考:
字符串“\x07Operating\tsystem”
有幾個字符?顯示結(jié)果如何?
2023/2/1-49-北京郵電大學(xué)信息與通信工程學(xué)院2.3常量邏輯常數(shù)邏輯型常數(shù)只有兩個:false(假)和true(真)。在顯示器上顯示為0和1。2023/2/1-50-北京郵電大學(xué)信息與通信工程學(xué)院2.4運算符和表達式2.4運算符和表達式1、表達式2、語句和塊3、運算符賦值運算符、算術(shù)運算符、關(guān)系運算符、邏輯運算符、位運算符、條件運算符、逗號運算符2023/2/1-52-北京郵電大學(xué)信息與通信工程學(xué)院2.4運算符和表達式表達式
變量、常量是存放數(shù)據(jù)的地方,那么在C++語言中這些數(shù)據(jù)是如何處理和計算的呢?
在C++語言中將變量、常量和運算符有機結(jié)合在一起組成的就是表達式,利用表達式C++可以進行復(fù)雜的運算和處理。
2023/2/1-53-北京郵電大學(xué)信息與通信工程學(xué)院2.4運算符和表達式表達式
表達式是操作符、操作數(shù)和分隔符號組成的序列。操作符:+-*/等操作數(shù):變量、常量、數(shù)組等
表達式總能返回一個值作為表達式的結(jié)果。2023/2/1-54-北京郵電大學(xué)信息與通信工程學(xué)院2.4運算符和表達式表達式
例如:3.2//簡單表達式,值為3.2 2+3//常量表達式,值為5 a//簡單表達式,值為變量a的值 x=(a+b)*c//較為復(fù)雜的表達式
y=x=a+b //表達式是可以嵌套的2023/2/1-55-北京郵電大學(xué)信息與通信工程學(xué)院2.4運算符和表達式語句和塊
由表達式和結(jié)尾的“;”組成一個C++語句。
多條C++語句通過大括號{}括起來,組成一個塊語句。
一般來說屬于同一個邏輯關(guān)系的多條語句組成塊語句。
2023/2/1-56-北京郵電大學(xué)信息與通信工程學(xué)院2.4運算符和表達式語句和塊
例如:實現(xiàn)將變量x和y交換的語句塊
{
inttemp=x; x=y; y=temp; }2023/2/1-57-注意:結(jié)束語句塊的大括號外不用分號。北京郵電大學(xué)信息與通信工程學(xué)院2.4運算符和表達式運算符
運算符具有優(yōu)先級和結(jié)合性。優(yōu)先級:
級別高的先運算,級別低的后運算。
例如:*/高于+-
結(jié)合性:自左向右結(jié)合還是自右向左結(jié)合。
例如:1+2+3,+自左向右結(jié)合。
2023/2/1-58-北京郵電大學(xué)信息與通信工程學(xué)院2023/2/1-59-北京郵電大學(xué)信息與通信工程學(xué)院2.4運算符和表達式運算符
根據(jù)運算符對操作數(shù)的要求不同,分成:
一元運算符:
僅需要一個操作數(shù)的運算符,例如++等
二元運算符:
需要兩個操作數(shù)的運算符,例如:+、-、*、/等,
三元運算符:
需要三個操作數(shù)的運算符,只有條件運算符“?:”。2023/2/1-60-北京郵電大學(xué)信息與通信工程學(xué)院2.4運算符和表達式賦值運算符
賦值運算符就是:“=”例如:floatf=3.15
左值:可以合法的放在“=”左邊的操作數(shù)。右值:可以合法的放在“=”右邊的操作數(shù)。
2023/2/1-61-注意:并不是所有的操作數(shù)都可以作為左值。符號常量就不能作左值;帶運算符的表達式一般也不能作為左值。北京郵電大學(xué)信息與通信工程學(xué)院2.4運算符和表達式賦值運算符
例如:
floatx,y; constfloatPI=3.14; x=3.5; //正確 3.5=x; //有語法錯誤 y=x; //正確 y+2=x-10; //語法錯誤
PI=x; //語法錯誤2023/2/1-62-北京郵電大學(xué)信息與通信工程學(xué)院2.4運算符和表達式算術(shù)運算符
C++提供的算術(shù)運算符包括“+,-,*,/,%,++,--”
二元運算符:
+(加),-(減),*,/,%
一元運算符:
+(正號),-(負號),++,--2023/2/1-63-北京郵電大學(xué)信息與通信工程學(xué)院2.4運算符和表達式算術(shù)運算符
幾點說明:“/”根據(jù)操作數(shù)不同,運算規(guī)律也不同: 整型數(shù)為整除運算:例如5/2=2; 浮點數(shù)為通常意義的除法:即5.0/2.0=2.5?!?”取余數(shù)運算符,只能對整型數(shù)進行操作,余數(shù)的正負由被除數(shù)決定,不允許對浮點數(shù)進行操作。例2-5“/”和“%”運算符的使用2023/2/1-64-北京郵電大學(xué)信息與通信工程學(xué)院//例2-5“/”和“%”運算符的使用。#include<iostream>usingnamespacestd;voidmain(){inta=-4,b=3;cout<<"a="<<a<<"b="<<b<<endl;cout<<"a/b="<<a/b<<endl;cout<<"(float)a/b="<<(float)a/b<<endl;cout<<"a%b="<<a%b<<endl;cout<<"b%a="<<b%a<<endl;}運行結(jié)果:
a=-4b=3a/b=-1(float)a/b=-1.33333a%b=-1b%a=32023/2/1-65-北京郵電大學(xué)信息與通信工程學(xué)院2.4運算符和表達式算術(shù)運算符
C++中提供了兩個特殊的運算符:++(自增),表示將操作數(shù)加1;--(自減)表示將操作數(shù)減1
前置(++i):先自身加1,然后再將加1的值作為(++i)表達式的值;
后置(i++):
將i作為(i++)表達式的值,然后自身再加1。
例2-6 自增運算符的使用2023/2/1-66-北京郵電大學(xué)信息與通信工程學(xué)院//例2-6自增運算符的使用#include<iostream>usingnamespacestd;voidmain(){ inti=1; cout<<”i=”<<i<<endl; cout<<”i++:”<<i++<<endl; cout<<”i=”<<i<<endl; cout<<”++i:”<<++i<<endl; cout<<”i=”<<i<<endl;}11233北京郵電大學(xué)信息與通信工程學(xué)院運行結(jié)果:i=1i++:1i=2;++i:3i=32023/2/1-67-2.4運算符和表達式算術(shù)運算符
在C++中可以將算術(shù)運算符和賦值運算符結(jié)合在一起進行運算,因此C++還提供5種復(fù)合的賦值運算符:+=,-=,*=,/=和%=。 例如:
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%y2023/2/1-68-北京郵電大學(xué)信息與通信工程學(xué)院2.4運算符和表達式算術(shù)運算符例如:#include<iostream>usingnamespacestdvoidmain(){ intx=2,y=3;x*=y+8;cout<<x<<endl;}原因:x*=y+8等價于x=x*(y+8)//顯示222023/2/1-69-北京郵電大學(xué)信息與通信工程學(xué)院2.4運算符和表達式2023/2/1-70-算術(shù)運算符
算術(shù)運算符的優(yōu)先級:
1、+(正號),-(負號),++,--2、*,/,%3、+、-4、=、+=、-=、*=、/=、%=由高到低北京郵電大學(xué)信息與通信工程學(xué)院2.4運算符和表達式算術(shù)運算符
溢出是指運算結(jié)果超出了表達式的數(shù)據(jù)類型能夠表示的范圍。
在進行算術(shù)運算時,很可能出現(xiàn)溢出。溢出不會引起編譯錯誤的,但運行結(jié)果會出現(xiàn)偏差。 例如:shortinti=20000,j=30000,k; cout<<(k=i+j)<<endl;2023/2/1-71-輸出結(jié)果:-15536北京郵電大學(xué)信息與通信工程學(xué)院2.4運算符和表達式關(guān)系運算符
關(guān)系運算符有:==、!=、>=、>、<=、<
關(guān)系表達式:由關(guān)系運算符將兩個操作數(shù)連接起來構(gòu)成的表達式。
關(guān)系表達式的結(jié)果類型為bool型,值只能為true或false,屏幕顯示為1或0。2023/2/1-72-北京郵電大學(xué)信息與通信工程學(xué)院2.4運算符和表達式關(guān)系運算符
關(guān)系運算符的優(yōu)先級:
1、>=、>、<=、<2、==、!=
2023/2/1-73-
高低北京郵電大學(xué)信息與通信工程學(xué)院2.4運算符和表達式關(guān)系運算符
例如:
inta=1,b=2,c=3;cout<<(a==b)<<endl; //結(jié)果為false,輸出為0cout<<(a!=b)<<endl; //結(jié)果為true,輸出為1cout<<(a>=b)<<endl; //結(jié)果為false,輸出為0cout<<(a<b)<<endl;//結(jié)果為true,輸出為1boold=a>b==c>a+5;cout<<d<<endl;//結(jié)果為true,輸出為1
2023/2/1-74-北京郵電大學(xué)信息與通信工程學(xué)院2.4運算符和表達式邏輯運算符
邏輯運算符有:&&、||、!。邏輯表達式的結(jié)果類型也為bool型,值只能為true或false,屏幕顯示為1或0。2023/2/1-75-北京郵電大學(xué)信息與通信工程學(xué)院2.4運算符和表達式邏輯運算符
邏輯運算符的優(yōu)先級:
1、!2、&&3、||
除了邏輯非,邏輯運算的級別低于關(guān)系運算。
2023/2/1-76-
由高到低北京郵電大學(xué)信息與通信工程學(xué)院2.4運算符和表達式邏輯運算符
說明:如果多個表達式用&&或||連接,為了提高判斷效率,只要能夠確定表達式的結(jié)果了,運行就不再繼續(xù)。
例如:inta=1,b=2; if(a>b&&b++) cout<<"b的值將等于"<<endl; cout<<b<<endl;2023/2/1-77-運行結(jié)果:2北京郵電大學(xué)信息與通信工程學(xué)院2.4運算符和表達式位運算符
一般高級語言:byteC/C++語言:
bit
C++語言中提供了六個位運算符,可以對整數(shù)進行位操作,分別是&(按位與),|(按位或),^(按位異或),~(按位取反),<<(左移位),>>(右移位)。2023/2/1-78-北京郵電大學(xué)信息與通信工程學(xué)院2.4運算符和表達式按位與(&)
按位與操作的作用是將兩個操作數(shù)對應(yīng)的每一位分別進行邏輯與操作。
例如:計算3&5 3:00000011
5:000001013&5:00000001
2023/2/1-79-北京郵電大學(xué)信息與通信工程學(xué)院2.4運算符和表達式按位與(&)
使用按位與(&)操作可以將操作數(shù)中的若干位置0(其他位不變),或者取操作數(shù)中的若干指定位。
例如:
將字符變量a(char)的最低位置0:a=a&0376;
取整型變量a(int)的低字節(jié):charc=a&0377;2023/2/1-80-北京郵電大學(xué)信息與通信工程學(xué)院2.4運算符和表達式按位或(|)
按位與操作的作用是將兩個操作數(shù)對應(yīng)的每一位分別進行邏輯或操作。
例如:計算3|5 3:00000011
5:000001013|5:00000111
2023/2/1-81-北京郵電大學(xué)信息與通信工程學(xué)院2.4運算符和表達式按位或(|)
使用按位或(|)操作可以將操作數(shù)中的若干位置1(其他位不變)。
例如:
將整型變量的a(int)的低字節(jié)置1:a=a|0xff;
2023/2/1-82-北京郵電大學(xué)信息與通信工程學(xué)院2.4運算符和表達式按位異或(^)
按位異或操作的作用是將兩個操作數(shù)對應(yīng)的每一位分別進行異或操作。
具體運算規(guī)則:1^1=0,0^0=0,1^0=0^1=1
例如:計算3^5 3:00000011
5:000001013^5:000001102023/2/1-83-北京郵電大學(xué)信息與通信工程學(xué)院2.4運算符和表達式按位異或(^)
使用按位異或(^)操作可以將操作數(shù)中的若干位反轉(zhuǎn)。
如果某位和0異或,結(jié)果是該位的原值;
如果某位和1異或,則結(jié)果與該位原來的值相反。
2023/2/1-84-思考:如果使8位二進制數(shù)01111010的后四位翻轉(zhuǎn)?北京郵電大學(xué)信息與通信工程學(xué)院2.4運算符和表達式按位取反(~)
按位取反是一個一元運算符,它的作用是將操作數(shù)對應(yīng)的每一位分別進行取反操作。具體運算規(guī)則:~1=0,~0=1。
例如:計算~5 5:00000101~5:111110102023/2/1-85-北京郵電大學(xué)信息與通信工程學(xué)院2.4運算符和表達式使用位運算實現(xiàn)掩碼運算掩碼:其實就是一個位模式。表示從一個字中選出一組位。
例如:掩碼0xFF表示一個字的低位字節(jié)。
掩碼0xFFFFFF00,它表示一個字(32位)除了最低字節(jié)外的其他高位字節(jié)。
掩碼~0xFF也可表示一個字除了最低字節(jié)外的其他高位字節(jié)。2023/2/1-86-北京郵電大學(xué)信息與通信工程學(xué)院2.4運算符和表達式位運算應(yīng)用舉例例2-7設(shè)主機A的IP地址為IPa,子網(wǎng)掩碼設(shè)置為MASKa,主機B的IP地址為IPb,子網(wǎng)掩碼設(shè)置為MASKb。(1)當(dāng)主機A向主機B發(fā)送IP包時,如何判斷主機B是否與自己在同一子網(wǎng)中?(2)當(dāng)主機A和主機B通信時,兩主機又如何確認對方和自己在同一子網(wǎng)中?2023/2/1-87-北京郵電大學(xué)信息與通信工程學(xué)院2.4運算符和表達式位運算應(yīng)用舉例例2-7 解:(1) (IPa^IPb)&MASKa==0
或(IPa&MASKa)==(IPb&MASKa)(2) (IPa&MASKa)==(IPb&MASKb)
或((IPa&MASKa)^(IPb&MASKb))==02023/2/1-88-北京郵電大學(xué)信息與通信工程學(xué)院2.4運算符和表達式左移<<:按照指定的位數(shù)將一個二進制數(shù)值向左移動。左移后,低位補0,移出的高位舍棄。右移>>:按照指定的位數(shù)將一個二進制數(shù)值向右移動,右移后,移出的低位舍棄。如果是無符號數(shù)則高位補0,如果是有符號數(shù)則高位補符號位或0,在VC2005環(huán)境下高位補符號位。2023/2/1-89-北京郵電大學(xué)信息與通信工程學(xué)院2.4運算符和表達式移位運算舉例 chara=-8; a=a>>2; cout<<”a=”<<(int)a<<endl;2023/2/1-90-北京郵電大學(xué)信息與通信工程學(xué)院2.4運算符和表達式移位運算舉例 chara=2; a=a<<1; cout<<”a=”<<(int)a<<endl;2023/2/1-91-北京郵電大學(xué)信息與通信工程學(xué)院2.4運算符和表達式位運算符
在C++中可以將位運算符和賦值運算符結(jié)合在一起進行運算,因此C++還提供另外5種復(fù)合賦值運算符&=,|=,^=,<<=和>>=。例如:
x&=y相當(dāng)于 x=x&y
x|=y 相當(dāng)于 x=x|y
x^=y 相當(dāng)于 x=x^yx<<=y相當(dāng)于 x=x<<yx>>=y相當(dāng)于 x=x>>y2023/2/1-92-北京郵電大學(xué)信息與通信工程學(xué)院2.4運算符和表達式位運算符優(yōu)先級位運算符的優(yōu)先級由高到低依次為:1、~2、<<,>>3、&4、^5、|6、&=,|=,^=,<<=和>>=2023/2/1-93-由高到低北京郵電大學(xué)信息與通信工程學(xué)院2.4運算符和表達式條件運算符
條件運算符語法格式為:
表達式1?(表達式2):(表達式3);
運算的結(jié)果是:如果表達式1的值為真,則返回表達式2的值,否則返回表達式3的值。
例如:intx=0,y=1; cout<<(x>y?x:y)<<endl;2023/2/1-94-北京郵電大學(xué)信息與通信工程學(xué)院2.4運算符和表達式逗號運算符
逗號表達式的語法格式為:
表達式1,表達式2,……,表達式n;C++順序計算表達式1,表達式2,……,表達式n的值,并將最后一次計算的結(jié)果作為逗號表達式的結(jié)果。例如:inta,b,c,d;
d=(a=1,b=2,c=a+b,a+b+c);
cout<<d<<endl;2023/2/1-95-北京郵電大學(xué)信息與通信工程學(xué)院運行結(jié)果:62.4運算符和表達式數(shù)據(jù)類型轉(zhuǎn)換
當(dāng)表達式中出現(xiàn)多種數(shù)據(jù)類型的混合運算時,往往需要進行類型轉(zhuǎn)換。表達式中的類型轉(zhuǎn)換分成兩種:1、隱式類型轉(zhuǎn)換2、強制類型轉(zhuǎn)換。2023/2/1-96-北京郵電大學(xué)信息與通信工程學(xué)院2.4運算符和表達式隱式類型轉(zhuǎn)換
各種二元運算符在進行運算時都要求兩個操作數(shù)的數(shù)據(jù)類型一致。如果類型不一致,則系統(tǒng)自動對數(shù)據(jù)進行轉(zhuǎn)換(隱式類型轉(zhuǎn)換)。
轉(zhuǎn)換的基本原則:將精度較低、范圍較小的類型轉(zhuǎn)換成精度較高、范圍較大的類型。
char→short→int→long→float→double2023/2/1-97-北京郵電大學(xué)信息與通信工程學(xué)院隱式類型轉(zhuǎn)換例2-8數(shù)據(jù)類型的自動轉(zhuǎn)換。#include<iostream>usingnamespacestd;voidmain(){ charch='a';inti=100;doubled=123.09;cout<<ch+i<<endl; //自動轉(zhuǎn)換為int型cout<<ch+i+d<<endl;//自動轉(zhuǎn)換為double型}運行結(jié)果:
197320.092.4運算符和表達式提示:在轉(zhuǎn)換過程中不會造成數(shù)據(jù)精度的丟失。2023/2/1-98-北京郵電大學(xué)信息與通信工程學(xué)院2.4運算符和表達式隱式類型轉(zhuǎn)換
對于同一種精度的無符號數(shù)和有符號數(shù),在進行算術(shù)運算中,有符號數(shù)向著無符號數(shù)方向進行隱式類型轉(zhuǎn)換:
signed→unsigned。例如:
inta=100; unsignedinti=99; cout<<i-a<<endl;2023/2/1-99-思考:如果將unsignedinti=99;改為unsignedshorti=99;結(jié)果如何?北京郵電大學(xué)信息與通信工程學(xué)院2.4運算符和表達式隱式類型轉(zhuǎn)換
邏輯運算符要求參與運算的操作數(shù)為bool類型,如果是其他類型,則系統(tǒng)自動將其轉(zhuǎn)換成bool類型。轉(zhuǎn)換規(guī)則:0為false,非0為true。
賦值運算符要求“=”左右兩邊的操作數(shù)數(shù)據(jù)類型相同,如果類型不一致,則自動將右邊的操作數(shù)類型向著左邊的操作數(shù)類型轉(zhuǎn)換。
例如:inti=3.15; cout<<i<<endl;2023/2/1-100-北京郵電大學(xué)信息與通信工程學(xué)院2.4運算符和表達式C風(fēng)格的強制類型轉(zhuǎn)換
語法格式為:
(數(shù)據(jù)類型名)表達式或:數(shù)據(jù)類型名(表達式)
例如:
inti=97; cout<<(char)i<<endl; floatf=3.75; cout<<(int)f<<endl;2023/2/1-101-北京郵電大學(xué)信息與通信工程學(xué)院2.4運算符和表達式C++的強制類型轉(zhuǎn)換符
語法格式為: static_cast<類型名>(表達式)
例如:
inti=97; cout<<static_cast<char>(i)<<endl; floatf=3.15; cout<<static_cast<int>(f)<<endl;2023/2/1-102-北京郵電大學(xué)信息與通信工程學(xué)院2.4運算符和表達式強制類型轉(zhuǎn)換幾點說明:如果強制由高精度的數(shù)據(jù)類型轉(zhuǎn)換至低精度的數(shù)據(jù)類型,數(shù)據(jù)精度將受到損失,從這個意義上說,強制類型轉(zhuǎn)換是一種不安全的類型轉(zhuǎn)換?;緮?shù)據(jù)類型之間的強制轉(zhuǎn)換都是允許的,但當(dāng)遇到不允許的類型轉(zhuǎn)換時,用C風(fēng)格的類型轉(zhuǎn)換,編譯時不會報錯;而用static_cast,在編譯時就會報錯。
2023/2/1-103-建議:在C++編程時要用static_cast進行強制類型轉(zhuǎn)換。北京郵電大學(xué)信息與通信工程學(xué)院2.5基本輸入輸出2023/2/1-104-北京郵電大學(xué)信息與通信工程學(xué)院2.5基本輸入輸出
在iostream庫中包含有一個標準輸入流對象cin和一個標準輸出流對象cout,分別用來實現(xiàn)從鍵盤讀取數(shù)據(jù),以及將數(shù)據(jù)在屏幕輸出。另外,還可以定義文件流對象,實現(xiàn)文件的讀/寫操作1、標準輸入流cin2、標準輸出流cout3、I/O流的格式控制4、文件的輸入輸出2023/2/1-105-北京郵電大學(xué)信息與通信工程學(xué)院2.5基本輸入輸出標準輸入流cin
cin負責(zé)從鍵盤讀取數(shù)據(jù),使用提取操作符“>>”就可以將鍵盤鍵入的數(shù)據(jù)讀入到變量中。
語法格式為:
cin>>變量1>>變量2…>>變量n;
例如:
inta,b; charch; cin>>a>>b>>ch;2023/2/1-106-北京郵電大學(xué)信息與通信工程學(xué)院2.5基本輸入輸出例2-9:計算從鍵盤輸入的若干個整數(shù)的和。#include<iostream>usingnamespacestd;voidmain(
){intsum=0,value;while(cin>>value) //如果能從cin提取數(shù)值,sum+=value;//則cin的值為真,執(zhí)行循環(huán)cout<<"sumis:"<<sum<<endl;}
運行結(jié)果:
12345^z //鍵盤輸入sum is:152023/2/1-107-北京郵電大學(xué)信息與通信工程學(xué)院2.5基本輸入輸出標準輸出流cout
cout負責(zé)將變量或常量中的數(shù)據(jù)輸出到屏幕,使用插入操作符“<<”就可以將變量或常量的數(shù)據(jù)顯示在屏幕上。
cout能夠自動識別“<<”后面的數(shù)據(jù)類型并進行顯示,并且可以從左到右一次顯示多個變量。
例如:cout<<”Helloworld!\n”;2023/2/1-108-北京郵電大學(xué)信息與通信工程學(xué)院2.5基本輸入輸出例2-10:cout的使用#include<iostream>usingnamespacestd;voidmain(){ inta,b; charch; cout<<”請按順序輸入2整數(shù)和1字符:\n”;cin>>a>>b>>ch; cout<<”a=”<<a<<”b=”<<b<<”ch=”<<ch<<endl;}運行結(jié)果:請按順序輸入兩個整數(shù)和一個字符:12a//鍵盤輸入a=1b=2ch=a//屏幕輸出2023/2/1-109-北京郵電大學(xué)信息與通信工程學(xué)院2.5基本輸入輸出IO流的格式控制
庫文件:iomanip
常用操縱符:
setfill(c)
設(shè)置填充字符
setw(n)
設(shè)置域?qū)挒閚
setiosflags(ios::left)設(shè)置數(shù)據(jù)輸出左對齊setiosflags(ios::right)設(shè)置數(shù)據(jù)輸出右對齊
2023/2/1-110-注意:用cout輸出數(shù)據(jù)默認的對齊方式是右對齊。北京郵電大學(xué)信息與通信工程學(xué)院2.5基本輸入輸出IO流的格式控制setw(n)
設(shè)置域?qū)?,即設(shè)置“<<”符號后面的數(shù)據(jù)占用的屏幕寬度。
例如:cout<<setw(8)<<’a’<<setw(8)<<’b’<<endl;2023/2/1-111-北京郵電大學(xué)信息與通信工程學(xué)院輸出結(jié)果:_______a_______b2.5基本輸入輸出IO流的格式控制 setfill(c)
設(shè)置填充字符,即“<<”符號后面的數(shù)據(jù)長度小于域?qū)挄r,使用什么字符進行填充。
例如:
cout<<setfill(‘*’)<<setw(5)<<’a’<<endl;
2023/2/1-112-北京郵電大學(xué)信息與通信工程學(xué)院輸出結(jié)果:****a例2-11setw()和setfill()的綜合使用。#include<iostream>#include<iomanip>usingnamespacestd;voidmain(){ cout<<setfill('*') <<setw(2)<<'\n' <<setw(3)<<'\n' <<setw(4)<<'\n' <<setw(5)<<'\n' <<setw(6)<<'\n' <<setw(7)<<'\n' <<setw(8)<<'\n';}運行結(jié)果:
****************************2.5基本輸入輸出2023/2/1-113-北京郵電大學(xué)信息與通信工程學(xué)院2.5基本輸入輸出IO流的格式控制
關(guān)于setw(
)幾點說明:除了setw()控制符外,其他控制符一旦設(shè)置,則對其后的所有輸入輸出產(chǎn)生影響。而setw()控制符只對其后輸出的第一個數(shù)據(jù)有效,對其他數(shù)據(jù)沒有影響。
例如:cout<<setw(8)<<’a’<<’b’<<endl;
2023/2/1-114-
輸出結(jié)果:_______ab北京郵電大學(xué)信息與通信工程學(xué)院2.5基本輸入輸出IO流的格式控制
關(guān)于setw(
)幾點說明:setw()的默認為setw(0),意思是按實際輸出。如果輸出的數(shù)值占用的寬度超過setw(intn)設(shè)置的寬度,則按實際寬度輸出。
例如:floatf=0.12345;
cout<<setw(3)<<f<<endl;
2023/2/1-115-
輸出結(jié)果:0.12345北京郵電大學(xué)信息與通信工程學(xué)院2.5基本輸入輸出I/O流的格式控制
C++默認輸出浮點數(shù)的有效位為6位,那么要想控制輸出的數(shù)據(jù)的長度,該如何呢?
例如:floatf=3.1234567;
如何讓顯示結(jié)果為3.12?
C++提供了setprecision(intn)可以控制顯示浮點數(shù)的有效位。例2-12控制浮點數(shù)的數(shù)字個數(shù)。2023/2/1-116-北京郵電大學(xué)信息與通信工程學(xué)院//例2-12控制浮點數(shù)的數(shù)字個數(shù)。#include<iostream>#include<iomanip>usingnamespacestd;voidmain(){ floatf=17/7.0; cout<<f<<endl; cout<<setprecision(0)<<f<<endl; cout<<setprecision(1)<<f<<endl; cout<<setprecision(2)<<f<<endl; cout<<setprecision(3)<<f<<endl; cout<<setprecision(6)<<f<<endl; cout<<setprecision(8)<<f<<endl;}運行結(jié)果:2.428572.4284722.42.432.428572.42857152023/2/1-117-北京郵電大學(xué)信息與通信工程學(xué)院2.5基本輸入輸出I/O流的格式控制
如何控制小數(shù)的位數(shù)?
setiosflags(ios::fixed)控制符是用定點方式表示浮點數(shù),將setprecision(intn)和setiosflags(ios::fixed)結(jié)合,可以使用setprecision(intn)控制小數(shù)點右邊小數(shù)的個數(shù)。
當(dāng)設(shè)置為定點格式時,若不設(shè)置精度則顯示6位有效小數(shù)。
例2-13定點小數(shù)的輸出。2023/2/1-118-北京郵電大學(xué)信息與通信工程學(xué)院//例2-12定點小數(shù)的輸出。#include<iostream>#include<iomanip>usingnamespacestd;voidmain(){floatf=17/7.0;cout<<setiosflags(ios::fixed);cout<<f<<endl;cout<<setprecision(0)<<f<<endl;cout<<setprecision(2)<<f<<endl;cout<<setprecision(3)<<f<<endl;cout<<setprecision(4)<<f<<endl;}運行結(jié)果:2.42587122.432.4292.42862023/2/1-119-北京郵電大學(xué)信息與通信工程學(xué)院2.5基本輸入輸出I/O流的格式控制
如何控制指數(shù)表示法的小數(shù)個數(shù)?
setiosflags(ios::scientific)控制符使用指數(shù)方式顯示浮點數(shù),將setprecision(intn)和setiosflags(ios::scientific)結(jié)合,可以使用setprecision(intn)控制指數(shù)表示法的小數(shù)位數(shù)。
用科學(xué)記數(shù)格式顯示實數(shù)時,e前面總是帶有一位整數(shù)的實數(shù)。在沒有設(shè)置精度時,顯示6位有效的小數(shù)位。
例2-14指數(shù)方式控制小數(shù)的輸出。2023/2/1-120-北京郵電大學(xué)信息與通信工程學(xué)院//例2-14指數(shù)方式控制小數(shù)的輸出。#include<iostream>#include<iomanip>usingnamespacestd;voidmain(){floatf=17/7.0;cout<<setiosflags(ios::scientific); cout<<f<<endl;cout<<setprecision(2)<<f<<endl;cout<<setprecision(3)<<f<<endl;cout<<setprecision(4)<<f<<endl;}運行結(jié)果:2.425872e+0002.43e+0002.429e+0002.4286e+000注意:在使用操縱符將小數(shù)截短顯示時,將進行四舍五入處理。2023/2/1-121-北京郵電大學(xué)信息與通信工程學(xué)院2.5基本輸入輸出文件的輸入輸出
文件(磁盤文件):存儲在外部存儲器上的數(shù)據(jù)的集合。根據(jù)文件中數(shù)據(jù)不同的組織形式,通常把文件分為: 1、文本文件 2、二進制文件2023/2/1-122-北京郵電大學(xué)信息與通信工程學(xué)院2.5基本輸入輸出文件的輸入輸出
文件的讀寫操作:當(dāng)要對磁盤文件進行操作時,使用的是文件流對象。操作步驟:定義文件流對象
使用標準庫的ifstream類和ofstream類來定義文件流對象。
ifstream類提供文件的讀操作。
ofstream類提供文件的寫操作。2023/2/1-123-北京郵電大學(xué)信息與通信工程學(xué)院2.5基本輸入輸出文件的輸入輸出
操作步驟:
指定和文件流對象關(guān)聯(lián)的磁盤文件
在定義流對象的同時指定關(guān)聯(lián)文件。
或,先定義對象,然后通過調(diào)用它的open()成員函數(shù)來指定關(guān)聯(lián)文件。
在指定文件流對象和磁盤文件關(guān)聯(lián)的同時,還可以指定文件打開模式。2023/2/1-124-北京郵電大學(xué)信息與通信工程學(xué)院2.5基本輸入輸出文件的輸入輸出
操作步驟:使用插入運算符“<<”和提取運算符“>>”進行文件(文本文件)的讀/寫。文件讀/寫完畢后,可以調(diào)用close()成員函數(shù)關(guān)閉文件,該操作會解除已建立的文件流對象和磁盤文件之間的關(guān)聯(lián)。例2-15讀取保存在文件idata.txt中的一組整數(shù),計算它們的和,并顯示在屏幕上。
2023/2/1-125-北京郵電大學(xué)信息與通信工程學(xué)院//例2.15讀取保存在文件idata.txt中的一組整數(shù),計算它們的和,并顯示在屏幕上。#include<iostream>#include<fstream>usingnamespacestd;voidma
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 未來就業(yè)市場的變化及職業(yè)定位分析
- 現(xiàn)代建筑設(shè)計與智能化技術(shù)的融合實踐
- 生態(tài)文明產(chǎn)業(yè)園的教育培訓(xùn)與人才培養(yǎng)策略
- 團委國慶節(jié)觀影活動方案
- 術(shù)后康復(fù)神經(jīng)外科手術(shù)患者的居家照護
- Unit 2 Wildlife Protection Reading and Thinking 第二課時說課稿-2024-2025學(xué)年高一英語人教版(2019)必修第二冊
- 2024秋八年級歷史上冊 第一單元 中國開始淪為半殖民地半封建社會 第3課 太平天國運動說課稿 新人教版001
- 2024年五年級英語上冊 Unit 6 My e-friend第1課時說課稿 牛津譯林版
- 《100 以內(nèi)的加法和減法(二)-進位加》(說課稿)-2024-2025學(xué)年二年級上冊數(shù)學(xué)人教版001
- 2024年一年級品生下冊《春天在哪里》說課稿 山東版
- 運輸安全生產(chǎn)知識培訓(xùn)試卷
- 抖音麗人行業(yè)短視頻直播項目運營策劃方案
- 精神病服藥訓(xùn)練
- (2024年)知識產(chǎn)權(quán)全套課件(完整)
- 2024-2030年中國城市軌道交通行業(yè)發(fā)展現(xiàn)狀分析及市場供需預(yù)測報告
- 預(yù)防靜脈血栓疾病知識講座
- 《社區(qū)康復(fù)》課件-第十一章 其他疾病的社區(qū)康復(fù)實踐
- 2024年專升本考試-專升本考試(機械設(shè)計基礎(chǔ))筆試歷年真題薈萃含答案
- 藥物過量的護理查房
- 部編版五年級語文下冊第七單元大單元教學(xué)設(shè)計
- 松茸推廣引流方案
評論
0/150
提交評論