C程序設(shè)計(jì)基礎(chǔ)課件_第1頁
C程序設(shè)計(jì)基礎(chǔ)課件_第2頁
C程序設(shè)計(jì)基礎(chǔ)課件_第3頁
C程序設(shè)計(jì)基礎(chǔ)課件_第4頁
C程序設(shè)計(jì)基礎(chǔ)課件_第5頁
已閱讀5頁,還剩62頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第一部分C++結(jié)構(gòu)化程序設(shè)計(jì)第一章C++程序設(shè)計(jì)基礎(chǔ)第一部分C++結(jié)構(gòu)化程序設(shè)計(jì)第一章C++程序設(shè)計(jì)基礎(chǔ)本章內(nèi)容①C++語言概述②計(jì)算機(jī)中的數(shù)據(jù)與編碼③C++程序開發(fā)過程④C++程序?qū)嵗莼緮?shù)據(jù)類型⑥常量、變量及引用⑦運(yùn)算符與表達(dá)式⑧基本輸入/輸出本章內(nèi)容①C++語言概述1.1C++語言概述1.C++語言與程序設(shè)計(jì)

語言:人類交流思想的工具

程序設(shè)計(jì):就是將解決某個問題的過程用程序設(shè)計(jì)語言描述出來,計(jì)算機(jī)按這個描述去逐步實(shí)現(xiàn)。程序設(shè)計(jì)語言:編寫程序的語言。C與C++語言1.1C++語言概述1.C++語言與程序設(shè)計(jì)語言:人2.程序設(shè)計(jì)語言分為結(jié)構(gòu)化程序設(shè)計(jì)語言(第1-4章)面向?qū)ο蟪绦蛟O(shè)計(jì)語言(第5-11章)2.程序設(shè)計(jì)語言分為結(jié)構(gòu)化程序設(shè)計(jì)語言(第1-4章)計(jì)算機(jī)中的信息可以分為兩大類:控制信息:是控制計(jì)算機(jī)完成各種操作的指令和控制字。

數(shù)據(jù)信息:計(jì)算機(jī)加工的對。包括數(shù)字信息、文字信息以及各種圖形、圖像、聲音等。

1.2計(jì)算機(jī)中的數(shù)據(jù)

無論是那種數(shù)據(jù),在計(jì)算機(jī)內(nèi)部都要轉(zhuǎn)換成二進(jìn)制數(shù)后,計(jì)算機(jī)才能對其進(jìn)行傳送、存儲和加工處理。計(jì)算機(jī)中的信息可以分為兩大類:1.2計(jì)算機(jī)中的數(shù)據(jù)無論1.2.1

進(jìn)位計(jì)數(shù)制

在計(jì)算機(jī)中使用的數(shù)據(jù)有二進(jìn)制、十進(jìn)制、八進(jìn)制和十六進(jìn)制。無論哪種數(shù)制,它們的共同之處都是進(jìn)位計(jì)數(shù)制。如果數(shù)制僅采用R個基本符號,稱為R進(jìn)制。其中R稱為基數(shù)。任意一個R進(jìn)制數(shù)N都可以用一個式子展開:

其中:m、n是正整數(shù),m是每個數(shù)位上的值,m的取值范圍0—R-1。1.2.1進(jìn)位計(jì)數(shù)制在計(jì)算機(jī)中使用的數(shù)據(jù)有二進(jìn)制、十進(jìn)制

進(jìn)制

基數(shù)

進(jìn)位

使用符號

二進(jìn)制2逢2進(jìn)位0、1

八進(jìn)制8逢8進(jìn)位0、1、2、3、4、5、6、7十進(jìn)制10逢10進(jìn)位0、1、2、3、4、5、6、7、8、9十六進(jìn)制16逢16進(jìn)位0、1、2、3、4、5、6、7、8、9、

A、B、C、D、E、F

常用進(jìn)位計(jì)數(shù)制

進(jìn)制基數(shù)進(jìn)位1)R制數(shù)到十進(jìn)制數(shù)的轉(zhuǎn)換方法是:將要轉(zhuǎn)換的數(shù)按權(quán)展開,各位數(shù)字與它的權(quán)相乘,最后求的和就是十進(jìn)制數(shù)。

例如:

(1101.01)2=1×23+1×22+0×21+1×20+0×2-1+1×2-2

=(13.25)10

(205.4)8=2×82+0×81+5×80+4×8–1=(133.5)10

(AF.8)16=10×161

+15×160+8×16-1

=(175.5)10

1.2.2不同數(shù)制之間的轉(zhuǎn)換1)R制數(shù)到十進(jìn)制數(shù)的轉(zhuǎn)換方法是:1.2.2不同數(shù)制之間2)十進(jìn)制數(shù)到R制數(shù)的轉(zhuǎn)換方法是:十進(jìn)制的整數(shù)部份和小數(shù)部份分別轉(zhuǎn)換,然后再拼接起來。整數(shù)部份:連續(xù)除以R進(jìn)制的R,直到商為0,將每次除以R的余數(shù)自下而上排列,即構(gòu)成R進(jìn)制的整數(shù)部分。小數(shù)部份:小數(shù)部分連續(xù)乘以R進(jìn)制的R,每次取積的整數(shù),并將其自上而下排列,直到小數(shù)部份為0或規(guī)定精度為止。2)十進(jìn)制數(shù)到R制數(shù)的轉(zhuǎn)換方法是:十進(jìn)制的整數(shù)部份和小數(shù)部份例如:將(237.625)10轉(zhuǎn)換為二進(jìn)制整數(shù)部分除2取余余數(shù)整數(shù)小數(shù)部分乘2取整2|23710.6252|1180取×22|59111.2502|291值0.252|140×2

2|71方00.502|31×22|11向11.00轉(zhuǎn)換結(jié)果為:(237.625)10=(11101101.101)2例如:將(237.625)10轉(zhuǎn)換為二進(jìn)制例如:將(237.625)10轉(zhuǎn)換為十六進(jìn)制:

整數(shù)部分除16取余余數(shù)整數(shù)小數(shù)部分乘16取整

16|237D(13)取0.62516|14E(14)值×16

0方A10.000向轉(zhuǎn)換結(jié)果為:(237.625)10=(ED.A)16例如:將(237.625)10轉(zhuǎn)換為十六進(jìn)制:3)二、八、十六進(jìn)制之間的轉(zhuǎn)換

二進(jìn)制與八進(jìn)制之間轉(zhuǎn)換方法:

以小數(shù)點(diǎn)為界,左右分別按3位一劃分,兩頭不夠3位時補(bǔ)0,將劃分的3位數(shù)按八進(jìn)制數(shù)讀出即可。例如:將二進(jìn)制10100110101.0111轉(zhuǎn)換成八進(jìn)制:010

100

110

101

.011

1002465.34

因此:(10100110101.01110)2=(2465.34)8

將八進(jìn)制轉(zhuǎn)換成二進(jìn)制時,將每位八進(jìn)制數(shù)用3位二進(jìn)制表示出來即可。

3)二、八、十六進(jìn)制之間的轉(zhuǎn)換二進(jìn)制與八進(jìn)制之間轉(zhuǎn)換方法:二進(jìn)制與十六進(jìn)制之間轉(zhuǎn)換方法:

以小數(shù)點(diǎn)為界,左右分別按4位一劃分,兩頭不夠4位時補(bǔ)0,將劃分的4位數(shù)按十六進(jìn)制數(shù)讀出即可。例如將二進(jìn)制11110110101.101轉(zhuǎn)換成十六進(jìn)制:0111

1011

0101

.10107B5.A

因此:(11110110101.101)2=(7B5.A)16

將十六進(jìn)制轉(zhuǎn)換成二進(jìn)制時,將每位十六進(jìn)制數(shù)用4位二進(jìn)制表示出來即可。

二進(jìn)制與十六進(jìn)制之間轉(zhuǎn)換方法:將十六進(jìn)制轉(zhuǎn)換成二進(jìn)制時,1.2.2二進(jìn)制信息的存儲單位

位(bit):二進(jìn)制的1位,是計(jì)算機(jī)中數(shù)據(jù)處理的最小單位。字節(jié)(Byte):8位二進(jìn)制位組成一個字節(jié)(1Byte=8bit)。常用來描述容量的單位有:千字節(jié)(KB),1KB=1024bit兆字節(jié)(MB),1MB=1024KB千兆字節(jié)(GB),1GB=1024MB

字(Word):獨(dú)立的信息處理單位,又稱為計(jì)算機(jī)字。

1.2.2二進(jìn)制信息的存儲單位位(bit):二進(jìn)制的11.2.3非數(shù)值數(shù)據(jù)的表示

字符編碼:ASCII(AmericanSandardCodeforInformationInterchange)碼。

ASCII用一個字節(jié)中的7位二進(jìn)制位來表示一個字符,每個字符唯一對應(yīng)一個ASCII碼,最多可表示27=128個字符。

漢字編碼:漢字在計(jì)算機(jī)內(nèi)部也采用二進(jìn)制的數(shù)字化編碼。廣泛應(yīng)用GB2312-80(國家標(biāo)準(zhǔn)信息交換用漢字編碼),簡稱國標(biāo)碼,采用二字節(jié)編碼.3)國標(biāo)碼共編碼了7445個圖形字符,其中6763個漢字和682個非漢字符號。1.2.3非數(shù)值數(shù)據(jù)的表示字符編碼:漢字編碼:1.3C++程序開發(fā)過程:出錯編輯源程序預(yù)處理程序編譯程序連接程序裝入程序輸出結(jié)果執(zhí)行程序輸入、修改源程序出錯出錯磁盤輸入數(shù)據(jù)1.3C++程序開發(fā)過程:出錯編輯源程序預(yù)處理程序編譯程1.4C++程序?qū)嵗?/p>

例1:

在屏幕輸出Hello,youarewelcome!/*Helloprogram*/#include<iostream.h>voidmain(){cout<<″Hello,youarewelcome!″;//你好,歡迎你!}程序說明:兩種注釋編譯預(yù)處理行main()函數(shù):void、函數(shù)體{…}、程序執(zhí)行處語句:一行可以寫若干條語句,每個語句用“;”作為結(jié)束。1.4C++程序?qū)嵗?:在屏幕輸出Hello,you例2:編寫程序從鍵盤任意輸入2個數(shù),輸出這2個數(shù)的和。#include<iostream.h>voidmain(){inta,b,n;cout<<″請輸入兩個數(shù):″;cin>>a>>b;n=a+b;cout<<″a+b=″<<n<<endl;}程序說明:第3行為變量定義

第4行是輸出語句第5行輸入

第6行是賦值運(yùn)算

第7行中endl也可以用“\n”代替,表示換行。

例2:編寫程序從鍵盤任意輸入2個數(shù),輸出這2個數(shù)的和。#in例3:

由兩個函數(shù)組成的C++程序

#include<iostream.h>intfmax(inta,intb){if(a>b)returna;elsereturnb;}main(){intv1,v2;cout<<“請輸入兩個數(shù):”;cin>>v1>>v2;cout<<″兩個數(shù)中較大數(shù)是:<<fmax(v1,v2)<<endl;return0;}例3:由兩個函數(shù)組成的C++程序#include<io1.5基本數(shù)據(jù)類型

程序中處理的數(shù)據(jù)分為不同的類型。類型不同,存儲方式和使用的場合也不同。

數(shù)據(jù)類型基本數(shù)據(jù)類型整型(int)字符型(char)符點(diǎn)型(float、double)布爾型(bool)非基本數(shù)據(jù)類型構(gòu)造類型指針類型空類型(void)數(shù)組類型結(jié)構(gòu)類型(struct)聯(lián)合類型(union)枚舉類型(enum)類類型(class)1.5基本數(shù)據(jù)類型程序中處理的數(shù)據(jù)分為不同的類型。類型基本數(shù)據(jù)類型:C++系統(tǒng)已定義的類型??梢灾苯永眠@些類型名來定義數(shù)據(jù)。

類型名

說明

字節(jié)

取值范圍

bool布爾型1true,false[singned]char有符號字符型1-128~+127unsignedchar無符號字符型10~255[signed]shortint有符號短整型2-32768~32767unsignedshortint無符號短整型20~65535[signed]int有符號整型4-2147483648~+2147483647unsignedint無符號整型40~4294967295[signed]longint長整型4-2147483648~+2147483647unsignedlongint無符號長整型40~4294967275float浮點(diǎn)型43.4×10-38~3.4×10+38double雙浮點(diǎn)型81.7×10-38~3.4×10+38longdouble長雙浮點(diǎn)型103.4×10-4932~3.4×10+4932

基本數(shù)據(jù)類型:C++系統(tǒng)已定義的類型??梢灾苯永眠@些1.6常量、變量及引用

1.6.1

常量程序中可以直接使用的常數(shù)稱為常量常量分為:

整型浮點(diǎn)型字符型字符串常量布爾常量1.6常量、變量及引用1.6.1常量1)整型常量十進(jìn)制整數(shù):

由0~9數(shù)字組成的正負(fù)整數(shù),如0、15、-247。八進(jìn)制整數(shù):

以數(shù)字0開頭的整數(shù),由數(shù)字0~7組成,如015,0238。十六進(jìn)制整數(shù):

以0x或0X開頭的整數(shù),由數(shù)字0~9和字母a~f(或大寫A~F)組成。例如:0x516,0x8AB,0xb2ff。八進(jìn)制和十六進(jìn)制只能表示無符號整數(shù).任一整型常數(shù)后跟字母l(或L)時,為長整型.如:12345L任一整型常數(shù)后跟字母u(或U)時,為無符號整型.如:7895u

1)整型常量浮點(diǎn)型數(shù)由整數(shù)部分和小數(shù)部分組成。浮點(diǎn)型常數(shù)有兩種形式:

小數(shù)形式:3.14159,-0.55,-123.0。指數(shù)形式:+5.25e-8

0.5678e05、

其中:+5.25e-8表示+5.25×10-8

0.5678e+05表示0.5678×105

2)浮點(diǎn)型常量(又稱實(shí)型)指數(shù)形式表示浮點(diǎn)型數(shù)時e(或E)前可以是整數(shù)或小數(shù),但e后的指數(shù)部分必須是整型數(shù)。浮點(diǎn)型數(shù)總是按double類型存儲的,只有在數(shù)的后面加上f才按float類型存儲,如1.234E-6f。長雙精度(longdouble)型常量通常在雙精度數(shù)后面加上l或L表示,如1.2345e-12L。說明:浮點(diǎn)型數(shù)由整數(shù)部分和小數(shù)部分組成。2)浮點(diǎn)型常量(又稱實(shí)型)3)字符型常量

字符型常量是用單引號括起來的單個字符

例如:′A′、′S′、′*′、′a′、′\n′

說明:

字符型常量中的單引號作為定界符,不是字符型常量內(nèi)容。字符型常量具有數(shù)值,其值就是該字符的ASCII碼值。而且值可以作為整數(shù)參與運(yùn)算:如‘a’+5結(jié)果為字符‘f’如‘9

’-6結(jié)果為數(shù)字字符‘3’如‘A′+32結(jié)果為’a‘‘f’–‘d’結(jié)果為整數(shù)2??梢允茿SCII字符集中任意可打印字符,包括空格.轉(zhuǎn)義字符(見表1-3)

3)字符型常量字符型常量是用單引號括起來的單個字符說明:4)字符串常量

用雙引號括起來的一串字符。例如:″Thisisastring″″a″

″ABC

xyz\n″″1234″″中國_天津″

說明:字符串中可以包含空格、轉(zhuǎn)義字符、中文字符等。雙引號作為字符串的定界符,計(jì)算字符串長度時雙引號不計(jì)算在內(nèi)。編譯程序在存儲字符串常量時自動在字符串最后加一個‘\0’作為一個字符串的結(jié)束標(biāo)志,‘\0’占一個字節(jié)位置。一個字符占一個字節(jié),一個漢字占兩個字節(jié)。在程序設(shè)計(jì)中字符串通常用字符數(shù)組或字符指針存放。4)字符串常量用雙引號括起來的一串字符。說明:字符串中可5)布爾常量布爾常量僅有兩個值,即true(真)和false(假)。

5)布爾常量

6)符號常量

為常量起一個名字,稱為符號常量。符號常量在使用前必須進(jìn)行說明。符號常量的說明形式為:const數(shù)據(jù)類型名

常量名=常量值;或數(shù)據(jù)類型名const常量名=常量值;

例如:constintm=100;constfloatpi=3.14159;說明:符號常量在說明時一定要賦初值,其值程序中不能修改。符號常量名不要和一般變量名重名。使用符號常量可以提高程序的可讀性,增強(qiáng)程序的可維護(hù)性。

6)符號常量為常量起一個名字,稱為符號常量。說明:符號1.6.2變量

1)標(biāo)識符用來為變量、符號常量、數(shù)組、函數(shù)、類型等命名。命名標(biāo)識符有以下規(guī)則:

必須由字母、下畫線和數(shù)字組成第1個字符應(yīng)是字母或下畫線字符例如:a、x1、data_5、count等為合法的標(biāo)識符

標(biāo)識符的長度視具體的編譯系統(tǒng)而定。不能使用C++的關(guān)鍵字作為標(biāo)識符,例如:int、for等C++中變量名區(qū)分大小寫,因此ex1和EX1是兩個不同的變量名

1.6.2變量1)標(biāo)識符2)變量——在程序中可以改變值的量稱為變量。每個變量在內(nèi)存中占有一定的存儲單元,該存儲單元中存放變量的值。在程序設(shè)計(jì)中可以根據(jù)需要改變變量的值。每個存儲單元都有一個地址。

12.345變量名X1變量值存儲單元2)變量每個變量在內(nèi)存中占有一定的存儲單元,該存儲單元中存3)定義變量程序中的變量名在使用之前必須定義。

例如:chara,b,c;//定義a、b為字符型變量intx,y;//定義x、y為整型變量longints1,s2;//定義s1、s2為長整型變量floatdata_1,data_2;//定義data1_1、data_2為浮點(diǎn)型變量doublew1,w2//定義w1、w2為雙精度型變量unsignedm,n;//定義m、n為無符號整型變量

3)定義變量例如:4)變量的初始化——變量在定義的同時可以給其賦值。

例如:chara=‘A’;

intx=0,y=12;

doublew1=12.3456,w2=-0.4567e-4;

charch(‘B’);longintx1(1),y1(100);doubledata1(12.056),data2(-0.12345e-4);4)變量的初始化例如:程序舉例:#include<iostream.h>voidmain(){intd1=5,d2=20;doublex1=12.5,x2=-5.0;charch1(‘*’),ch2(‘A’);cout<<d1+d2<<endl;cout<<x1-x2<<endl;cout<<ch1<<““<<ch2+3<<endl;}2517.5*D運(yùn)行結(jié)果:程序舉例:#include<iostream.h>25運(yùn)1.6.3引用——程序中定義過的變量名再給它另一個名字,這個名字稱為引用(reference)。

說明引用的形式為:數(shù)據(jù)類型

&引用名=變量名;或數(shù)據(jù)類型

&引用名(變量名);其中:變量名是已經(jīng)定義過的一個變量名;“&”是說明引用的符號;數(shù)據(jù)類型是被引用變量名的類型。例如:inta;int&refa=a;變量名和引用名是對同一個存儲單元的操作

注意:1.6.3引用說明引用的形式為:變量名和引用名是對同一程序舉例:#include<iostream.h>voidmain(){inta(5);int&rea=a;cout<<a<<″

″<<rea<<endl;rea=10;cout<<a<<″

″<<rea<<endl;}輸出結(jié)果:5510

105area10area存儲單元示意:程序舉例:#include<iostream.h>輸出結(jié)1.6.4枚舉類型

將一些可能取值的量一一列舉出來,稱為枚舉類型。

說明枚舉類型的形式為:enum枚舉類型名{枚舉元素};其中:enum是用于說明枚舉類型的關(guān)鍵字。每個枚舉元素就是枚舉常量值。例如:enum

colour{red,yellow,blue,white,black};定義枚舉型變量形式:

enumcolour{red,yellow,blue,white,black}c1,c2;或enumcolour

m1,m2;1.6.4枚舉類型將一些可能取值的量一一列舉出來,稱為枚舉型使用說明:1)枚舉元素在說明后都自動有一個整數(shù)值。

例如:colour中,red的值為0,yellow的值為1,……,

black的值為4。

可以在說明枚舉類型時另指定一個整數(shù)值,指定元素后邊的各元素值按增1的順序重新排列,而沒有指定的元素值仍按系統(tǒng)自動給定的值。

例如:enum

d{east,west,south=10,north};

south的值10,north的值為11,east的值為0,west值為1。

2)僅能給枚舉變量賦枚舉元素值。3)枚舉變量進(jìn)行增1或減1,比較運(yùn)算。4)枚舉變量不能用于輸入,輸出時僅輸出枚舉值的順序號。

枚舉型使用說明:1)枚舉元素在說明后都自動有一個整數(shù)值。1.7運(yùn)算符與表達(dá)式

表達(dá)式由操作數(shù)和運(yùn)算符組成

操作數(shù):常量、變量及函數(shù)調(diào)用。運(yùn)算符:對操作數(shù)進(jìn)行的運(yùn)算和處理。

C++的表達(dá)式既可以單獨(dú)作為語句使用,也可以在其他語句中作為測試的條件以及調(diào)用函數(shù)的參數(shù)使用。

C++提供了豐富的運(yùn)算符。以下分別介紹。

1.7運(yùn)算符與表達(dá)式表達(dá)式由操作數(shù)和運(yùn)算符組成C++1.7.1算術(shù)運(yùn)算符與算術(shù)表達(dá)式

算術(shù)運(yùn)算符包括:

+(加)-(減)*(乘)/(除)%(取余)

使用規(guī)則:

+、-、*、/與一般數(shù)學(xué)運(yùn)算相同,其中“-”可作一元運(yùn)算符使用,表示取負(fù)。優(yōu)先級為:先*、/、%,后+、-。兩個整型數(shù)相除,取商的整數(shù)部分。例如:8/5結(jié)果為1,5/8結(jié)果為0。兩實(shí)型數(shù)相除,結(jié)果為實(shí)型數(shù),例如:8.0/5.0結(jié)果為1.6。%用于求兩個整數(shù)相除的余數(shù),例如:8%5為3,而10%5為0。參加運(yùn)算的兩個操作數(shù)的類型不同時,按由低到高規(guī)則轉(zhuǎn)換后計(jì)算。

1.7.1算術(shù)運(yùn)算符與算術(shù)表達(dá)式算術(shù)運(yùn)算符包括:使用inta=10,b=4;doublex=1.5;charc1=’A’;longw=12345;表達(dá)式1:(a+b)*x-w/c1表達(dá)式2:a*x-b*x+w/15+(c1+4)算術(shù)表達(dá)式舉例:

表達(dá)式1和表達(dá)式2的計(jì)算過程及最后類型。討論:inta=10,b=4;算術(shù)表達(dá)式舉例:1.7.2位操作運(yùn)算符——用于對二進(jìn)制數(shù)值的位進(jìn)行運(yùn)算

位操作運(yùn)算符分為邏輯位操作運(yùn)算符和移位運(yùn)算符:邏輯位操作運(yùn)算符:

按位“與”,兩操作數(shù)逐位求“與”|

按位“或”,兩操作數(shù)逐位求“或”∧

按位“異或”,兩操作數(shù)逐位相加不進(jìn)位~

求反,一元運(yùn)算符,將操作數(shù)逐位取反移位運(yùn)算符:<<

二進(jìn)制左移,將操作數(shù)左移指定位數(shù)>>

二進(jìn)制右移,將操作數(shù)右移指定位數(shù)1.7.2位操作運(yùn)算符位操作運(yùn)算符分為邏輯位操作運(yùn)算符和移使用規(guī)則:

參加位操作的操作數(shù)必須是整型常數(shù)或整型變量。邏輯位操作運(yùn)算符的使用形式為:操作數(shù)1

操作數(shù)2操作數(shù)1

操作數(shù)2操作數(shù)1

操作數(shù)2~操作數(shù)移位運(yùn)算符的使用形式為:操作數(shù)1<<操作數(shù)2

將操作數(shù)1左移操作數(shù)2指定的位數(shù)操作數(shù)1>>操作數(shù)2將操作數(shù)1右移操作數(shù)2指定的位數(shù)例如:

inta=15,b=125;a&b;//a和b按位與a^(~b);//a和非b按位或b<<2;//b左移2位使用規(guī)則:參加位操作的操作數(shù)必須是整型常數(shù)或整型變量。例如1.7.3賦值運(yùn)算符與賦值表達(dá)式

1)簡單賦值運(yùn)算符,形式為:

變量=操作數(shù)其中:操作數(shù)可以是常量、變量和C++任意合法的表達(dá)式.

例如:inta(15);doubledata,s;data=-8.1245;//將-8.1245存入data變量s=a*50+data/3;//將表達(dá)式a*50+data/3結(jié)果存入

賦值號“=”左邊必須是變量。賦值表達(dá)式的值和類型為“=”號左邊變量的值和類型。說明:1.7.3賦值運(yùn)算符與賦值表達(dá)式1)簡單賦值運(yùn)算符,形式2)復(fù)合賦值運(yùn)算符——將算術(shù)運(yùn)算和賦值放在一起的縮寫形式包括:+=

-=*=

/=

%=例如:a+=b;

相當(dāng)于a=a+b;a-=b;

相當(dāng)于a=a+b;a*=b;

相當(dāng)于a=a*b;a/=b;

相當(dāng)于a=a/b;a%=b;

相當(dāng)于a=a%b;

使用說明:

由于有存儲功能,復(fù)合賦值運(yùn)算符左邊必須是變量名。以下是錯誤的:

a+=b+=c+d=12;當(dāng)復(fù)合賦值運(yùn)算的右邊是表達(dá)式時,將表達(dá)式視為一個整體,例如a-=x+y;相當(dāng)于:a=a-(x+y)2)復(fù)合賦值運(yùn)算符——將算術(shù)運(yùn)算和賦值放在一起的縮寫形式1.7.4自增和自減運(yùn)算符

自增自減運(yùn)算符有如下4種形式:

++i

前置自增,將i的值先加1,再使用i的值。i++

后置自增,先使用i的值,然后i的值加1。--i

前置自減,將i的值先減1,再使用i的值。

i--

后置自減,先使用i的值,然后i的值減1。

使用說明:

因?yàn)橛屑訙p和賦值的功能,運(yùn)算對象必須是變量,不能是常數(shù)或表達(dá)式。單獨(dú)作為一個語句使用時,前置增1(減1)或后置增1(減1)是一樣的,但若和其他運(yùn)算符組合使用,采用前置或后置就會產(chǎn)生不同的結(jié)果。運(yùn)算符++(或--)是一個整體,使用時兩個+(或-)之間不要有空。++(或--)運(yùn)算符是單目運(yùn)算符.1.7.4自增和自減運(yùn)算符自增自減運(yùn)算符有如下4種形式:自增自減運(yùn)算符舉例:#include<iostream.h>voidmain(){inta(2),b(2),d1,d2;a++;b--;cout<<“a=“<<a<<“b=“<<b<<endl;d1=++a;cout<<“a=”<<a<<“d1=“<<d1<<endl;d2=b--;cout<<“b=“<<b<<“d2=“<<d2<<endl;}

a=3b=1a=4

d1=4b=0d2=1輸出結(jié)果:自增自減運(yùn)算符舉例:#include<iostream.1.7.5關(guān)系運(yùn)算符與關(guān)系表達(dá)式關(guān)系運(yùn)算符用于比較兩個數(shù)的大小,共有6個運(yùn)算符:

<小于<=小于等于>大于>=大于等于==等于?。讲坏扔谑褂谜f明:

關(guān)系表達(dá)式的值是整數(shù)值0和1,當(dāng)關(guān)系式成立時為1;否則為0。關(guān)系運(yùn)算符兩邊操作數(shù)可以是整型、浮點(diǎn)型、字符型、指針及枚舉型。關(guān)系運(yùn)算符可以在一個關(guān)系式中連續(xù)使用,但若用-1<=x<=1式判斷是否在[-1,1]區(qū)間,則是錯誤的。注意區(qū)別“=”和“==”。注意==和!=運(yùn)算符的優(yōu)先級比其它關(guān)系運(yùn)算符低。

1.7.5關(guān)系運(yùn)算符與關(guān)系表達(dá)式關(guān)系運(yùn)算符用于比較兩個數(shù)關(guān)系運(yùn)算符使用舉例:輸出結(jié)果為:#include<iostream.h>voidmain(){inta=5,b=6;cout<<"a>b:"<<(a>b)<<'\n';cout<<"a<=b:"<<(a<=b)<<'\n';cout<<"a==b:"<<(a==b)<<'\n';cout<<"a!=b:"<<(a!=b)<<'\n';}a>b:0a<=b:1a==b:0a?。剑猓海标P(guān)系運(yùn)算符使用舉例:輸出結(jié)果為:#include<ios1.7.6邏輯運(yùn)算符與邏輯表達(dá)式

邏輯運(yùn)算符用于對操作數(shù)進(jìn)行邏輯操作。邏輯運(yùn)算符是:&&

邏輯“與”

||

邏輯“或”

!

邏輯“非”

(一元運(yùn)算符)邏輯運(yùn)算符的使用形式是:

操作數(shù)1&&

操作數(shù)2操作數(shù)1||

操作數(shù)2!操作數(shù)使用說明:

邏輯表達(dá)式的值取值為1或0。邏輯運(yùn)算符兩邊的操作數(shù)可以是任意基本數(shù)據(jù)類型,只要是0或非0值即可。任何非0值的數(shù)據(jù)都作為1參與邏輯運(yùn)算。注意多個&&或||符使用時的“短路操作”。1.7.6邏輯運(yùn)算符與邏輯表達(dá)式邏輯運(yùn)算符用于對操作數(shù)邏輯運(yùn)算符使用舉例:

#include<iostream.h>voidmain(){inta,b,c,x,y;a=1;b=2;c=0;cout<<a++-1<<endl;cout<<(a&&b||!c)<<endl;cout<<b/++a<<endl;x=++a||++b&&++c;//短路cout<<a<<b<<c<<x<<endl;a=b=c=-1;y=++a&&++b&&++c;//短路cout<<a<<b<<c<<y<<endl;}0104

10-1-10

輸出結(jié)果為:邏輯運(yùn)算符使用舉例:#include<iostream.1.7.7其它運(yùn)算符

1)條件運(yùn)算符與條件表達(dá)式

條件運(yùn)算符是三元運(yùn)算符,形式為:e1?e2:e3其中:e1一般為關(guān)系或邏輯式;e2和e3為任意表達(dá)式。

e1e2的值e3的值非00a=x>y?x+y:x-y;

功能:條件表達(dá)式舉例:1.7.7其它運(yùn)算符1)條件運(yùn)算符與條件表達(dá)式e12)逗號運(yùn)算符與逗號表達(dá)式逗號表達(dá)式:用逗號“,”將幾個表達(dá)式隔開的式子。逗號表達(dá)式的形式為:e1,e2,…,en作用:從左到右計(jì)算各表達(dá)式值,并以最后一個表達(dá)式的值作為逗號表達(dá)式的值。

x=(a=1,b=3,++b,a+b);

逗號表達(dá)式舉例:2)逗號運(yùn)算符與逗號表達(dá)式逗號表達(dá)式:用逗號“,”將幾3)求字節(jié)運(yùn)算符求字節(jié)運(yùn)算符是個一元運(yùn)算符,形式為:

sizeof(e)其中:e可以是任意類型的變量、類型名或表達(dá)式。作用:求e在內(nèi)存中占用的字節(jié)數(shù)。例如:

inta,b,i

;doublex;a=sizeof(x);b=sizeof(float);i=sizeof(a*x)+100;3)求字節(jié)運(yùn)算符求字節(jié)運(yùn)算符是個一元運(yùn)算符,形式為:4)類型轉(zhuǎn)換符利用類型轉(zhuǎn)換符強(qiáng)制轉(zhuǎn)換成所需要的類型。使用格式是:(類型名)表達(dá)式或類型名

(表達(dá)式)作用:將“表達(dá)式”的值轉(zhuǎn)換成“類型名”所指定的類型。例如:inta,b;doublex(10.5),y(3.8);a=int(x+y)-10;b=(int)x+y-10;整數(shù)轉(zhuǎn)換為字符型,則去掉多余的高位;長整型轉(zhuǎn)換為一般整型時,去掉多余高位;浮點(diǎn)型轉(zhuǎn)換成整型時,去掉小數(shù)部分;雙精度型轉(zhuǎn)換成單精度時,按單精度型位數(shù)舍入。轉(zhuǎn)換后數(shù)據(jù)的精度受到影響。

轉(zhuǎn)換原則:4)類型轉(zhuǎn)換符利用類型轉(zhuǎn)換符強(qiáng)制轉(zhuǎn)換成所需要的類型。使用1.7.8運(yùn)算符的優(yōu)先級和結(jié)合性

優(yōu)先級:不同操作符之間進(jìn)行操作的先后順序。

幾種不同的運(yùn)算符出現(xiàn)在一個表達(dá)式中時,優(yōu)先級別高的先計(jì)算,優(yōu)先級別低的后計(jì)算。結(jié)合性:當(dāng)連續(xù)幾個相同級別的運(yùn)算符進(jìn)行計(jì)算時,有的是由左到右逐個運(yùn)算,有的是由右到左逐個運(yùn)算。

單擊見表1–41.7.8運(yùn)算符的優(yōu)先級和結(jié)合性優(yōu)先級:單擊見表1–1.8基本輸入/輸出

輸入輸出又稱I/O(Input/Output)操作。輸入:指在程序運(yùn)行時由輸入設(shè)備(常指鍵盤)向程序提供數(shù)據(jù);輸出:是指將程序的運(yùn)行結(jié)果在輸出設(shè)備(常指顯示器)上顯示。

輸入輸出1.8基本輸入/輸出輸入輸出又稱I/O(Input/O1)cin的使用形式:

cin>>變量1>>變量2>>……>>變量n;使用cin一次可以輸入多個值??梢暂斎肴魏位绢愋偷臄?shù)據(jù)。用空格、制表符或回車作為輸入的兩個數(shù)據(jù)之間的分隔。

例如:

inta,b,c;doublex1,y1;cin>>a>>b>>c;cin>>x1>>x2;

輸入、輸出流對象:cincout1)cin的使用形式:輸入、輸出流對象:cincout2)cout的使用形式:

cout<<e1<<e2<<……<<en;其中:每個ei可以是:

常量、變量、表達(dá)式、字符串、函數(shù)調(diào)用等。

當(dāng)是表達(dá)式時,輸出表達(dá)式結(jié)果的值;若是函數(shù)調(diào)用,則輸出函數(shù)調(diào)用后的結(jié)果;當(dāng)是字符串時,將字符串原樣輸出。例如:

intn=10;cout<<3.14159<<″

″<<n<<′\n′;cout<<″n=

″<<n<<endl;使用cin和cout在程序開始處要寫入預(yù)編譯命令:#include<iostream.h>注意:2)cout的使用形式:使用cin和cout在程序開始處要寫輸入輸出格式:默認(rèn)格式輸出:

輸出一個整型數(shù)或字符時,原樣輸出值;輸出一個float型數(shù)時,默認(rèn)7位有效數(shù)字;輸出double型數(shù)時,默認(rèn)15位有效數(shù)字。輸入輸出格式:#include<iostream.h>voidmain(){inta=123;longintb=1234567;floatx1=12.34,x2=23.456789;doubley=12.34567890123;cout<<”a=”<<a<<’\n’<<”b=”<<b<<endl;cout<<”x1=”<<x1<<”“<<”x2=”<<x2<<endl;cout<<”y=<<y<<endl;}默認(rèn)格式輸出舉例:a=123b=1234567x1=12.34000x2=23.45679y=12.3456789012300

輸出結(jié)果:#include<iostream.h>默認(rèn)格式輸出舉

在輸入輸出流中使用控制符C++提供控制符控制輸出數(shù)據(jù)的格式。常用的幾個控制符:

dec轉(zhuǎn)換為十進(jìn)制數(shù)輸入/輸出hex轉(zhuǎn)換為十六進(jìn)制數(shù)輸入/輸出oct轉(zhuǎn)換為八進(jìn)制數(shù)輸入/輸出setw(int)設(shè)置輸出的寬度setprecision(int)設(shè)置浮點(diǎn)數(shù)輸出的有效數(shù)字位數(shù)setfill(char)設(shè)置填充字符endl插入換行符使用

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論