




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第1章
基礎(chǔ)知識(shí)課程地位先導(dǎo)課程、奠定基礎(chǔ)歷史悠久、地位卓越內(nèi)涵豐富、外延拓展216:12課程目標(biāo)掌握程序設(shè)計(jì)基礎(chǔ)知識(shí)培養(yǎng)問(wèn)題求解應(yīng)用能力提升計(jì)算思維核心素養(yǎng)316:12課程規(guī)劃64學(xué)時(shí):理論32+上機(jī)32理論教學(xué)實(shí)踐教學(xué)在線教學(xué)416:12課程特色突出問(wèn)題求解緊扣競(jìng)賽考研強(qiáng)化教學(xué)交互培養(yǎng)計(jì)算思維516:12學(xué)習(xí)目標(biāo)及策略考研專業(yè)課程初試語(yǔ)言基礎(chǔ)復(fù)試機(jī)試環(huán)節(jié)認(rèn)真聽(tīng)講,仔細(xì)看書習(xí)題訓(xùn)練,真題模擬上機(jī)實(shí)踐,在線評(píng)測(cè)最終目的:熟練使用C/C++語(yǔ)言編程解決實(shí)際問(wèn)題。616:12目錄程序設(shè)計(jì)語(yǔ)言C與C++語(yǔ)言第一個(gè)C++程序內(nèi)存和變量cin/cout輸入輸出整數(shù)類型浮點(diǎn)類型字符類型程序設(shè)計(jì)步驟與流程圖716:121.程序設(shè)計(jì)語(yǔ)言8返回機(jī)器語(yǔ)言計(jì)算機(jī)能直接識(shí)別和接受的二進(jìn)制代碼稱為機(jī)器指令。機(jī)器指令的集合就是該計(jì)算機(jī)的機(jī)器語(yǔ)言。特點(diǎn):難學(xué),難記,難檢查,難修改,難以推廣使用。依賴具體機(jī)器難以移植。匯編語(yǔ)言機(jī)器語(yǔ)言的符號(hào)化。用英文字母和數(shù)字表示指令的符號(hào)語(yǔ)言。特點(diǎn):相比機(jī)器語(yǔ)言簡(jiǎn)單好記,但仍然難以普及。匯編指令需通過(guò)匯編程序轉(zhuǎn)換為機(jī)器指令才能被計(jì)算機(jī)執(zhí)行。依賴具體機(jī)器難以移植。高級(jí)語(yǔ)言高級(jí)語(yǔ)言更接近于人們習(xí)慣使用的自然語(yǔ)言和數(shù)學(xué)語(yǔ)言。特點(diǎn):功能強(qiáng)大,不依賴于具體機(jī)器。用高級(jí)語(yǔ)言編寫的源程序需要通過(guò)編譯程序轉(zhuǎn)換為機(jī)器指令的目標(biāo)程序。B87F01BB210203D8B81F042BC3MOVAX123MOVBX456ADDBXAXMOVAX789SUBAXBXx=789-(123+456)16:122.C/C++發(fā)展簡(jiǎn)史1972年,Bell實(shí)驗(yàn)室的DennisRitchie和KenThompson共同發(fā)明了C語(yǔ)言。C語(yǔ)言充分結(jié)合了匯編語(yǔ)言和高級(jí)語(yǔ)言的優(yōu)點(diǎn),高效靈活,且易于移植,很快得到廣泛使用。1979年,Bjarne
Stroustrup加入Bell實(shí)驗(yàn)室,開(kāi)始致力于將C改良為帶類的C(Cwithclasses)。1983年該語(yǔ)言被正式命名為C++。ANSI和ISO的聯(lián)合標(biāo)準(zhǔn)化委員會(huì)在1994年1月25曰提出了第一個(gè)C++標(biāo)準(zhǔn)化草案,該草案保持了Stroustrup最初定義的所有特征。在完成C++標(biāo)準(zhǔn)化的第一個(gè)草案后不久,Alexanderstepanov創(chuàng)建了標(biāo)準(zhǔn)模板庫(kù)(STL)。在通過(guò)了第一個(gè)草案之后,委員會(huì)投票并通過(guò)了將STL包含到C++標(biāo)準(zhǔn)中的提議。委員會(huì)于1997年11月14日通過(guò)了該標(biāo)準(zhǔn)的最終草案,1998年C++的ANSI/ISO標(biāo)準(zhǔn)被投入使用。通常此版本的C++被認(rèn)為是標(biāo)準(zhǔn)C++,所有的主流C++編譯器都支持該版本的C++,包括微軟的VisualC++和Borland公司的C++Builder。9返回16:123.第一個(gè)C++程序要求:在屏幕上輸出“Ilovec++programming!”。#include<iostream>usingnamespacestd;intmain(){ cout<<"Ilovec++programming!"<<endl; return0; }10返回16:124.內(nèi)存和變量存儲(chǔ)器是計(jì)算機(jī)系統(tǒng)的重要組成部分,是用來(lái)存儲(chǔ)程序和數(shù)據(jù)的部件。存儲(chǔ)器按其用途可分為主存儲(chǔ)器和輔助存儲(chǔ)器。主存儲(chǔ)器又稱內(nèi)存儲(chǔ)器簡(jiǎn)稱內(nèi)存,輔助存儲(chǔ)器又稱外存儲(chǔ)器簡(jiǎn)稱外存。內(nèi)存存取速度快,是CPU能夠直接尋址的存儲(chǔ)空間。存儲(chǔ)器中每一個(gè)字節(jié)均對(duì)應(yīng)唯一的編碼地址,通常以8bit位組成一個(gè)字節(jié)(byte)為基本單位,每210(1024)byte為1KB,210KB為1MB,210MB為1GB,210GB為1TB。11返回16:12變量:具有特定屬性的內(nèi)存單元,可通過(guò)變量名直接引用該存儲(chǔ)單元在C/C++程序中,變量必須遵循“先定義,后使用”的原則。變量命名遵守以下規(guī)則:(1)變量名只能由字母、數(shù)字和下劃線構(gòu)成;(2)變量名不能以數(shù)字開(kāi)頭;(3)變量名不能使用系統(tǒng)保留的關(guān)鍵字(見(jiàn)表1.1);(4)變量名嚴(yán)格區(qū)分大小寫。同時(shí),為了增加程序代碼的可讀性,給變量取名時(shí)應(yīng)盡可能做到“見(jiàn)名知義”。定義變量的一般格式為:數(shù)據(jù)類型
變量名1,變量名2,……,變量名n;
inta; //定義一個(gè)名稱為a的整型變量
inta,b,c; //定義三個(gè)整型變量,名稱分別為a,b,c12autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunionunsignedvoidvolatilewhile16:125.cin/cout輸入輸出
C++的輸入和輸出均是采用“流”(stream)方式實(shí)現(xiàn),有關(guān)流對(duì)象cin、cout和流運(yùn)算符的信息均存放于C++的輸入輸出流庫(kù)中。因此,若要在程序中使用cin、cout和流運(yùn)算符,則必須用預(yù)處理命令“#include<iostream>”將頭文件iostream包含到本文件中。使用cin可輸入多個(gè)變量的值,其一般格式:cin>>變量1>>變量2……>>變量n;使用cout可輸出多個(gè)表達(dá)式的值,其一般格式:cout<<表達(dá)式1<<表達(dá)式2……<<表達(dá)式n;13返回16:12例1.2:計(jì)算兩個(gè)整數(shù)的和。輸入:輸入兩個(gè)整數(shù),兩個(gè)整數(shù)用空格隔開(kāi)。輸出:輸出為兩個(gè)整數(shù)的和,單獨(dú)占一行。樣例輸入:12樣例輸出:3#include<iostream>usingnamespacestd;intmain(){ inta,b; cin>>a>>b; cout<<a+b<<endl; return0;}1416:126.整數(shù)類型進(jìn)制由符號(hào)集和兩個(gè)基本因數(shù)“基數(shù)”與“位權(quán)”構(gòu)成,基數(shù)指不同符號(hào)的個(gè)數(shù),位權(quán)指進(jìn)制每一固定位對(duì)應(yīng)的權(quán)值。十進(jìn)制是10個(gè)符號(hào)的排列組合,二進(jìn)制是2個(gè)符號(hào)的排列組合。1.十進(jìn)制轉(zhuǎn)二進(jìn)制對(duì)于整數(shù)部分,用被除數(shù)反復(fù)除以2(第一次取該整數(shù)為被除數(shù),以后每次均取前一次商的整數(shù)部分作被除數(shù)),依次記下每次的余數(shù)并將余數(shù)倒序排列,便是轉(zhuǎn)換后的二進(jìn)制數(shù)。對(duì)于小數(shù)部分,采用連續(xù)乘以基數(shù)2并依次取出整數(shù)部分,直至其小數(shù)部分為0結(jié)束。以十進(jìn)制數(shù)53轉(zhuǎn)換為二進(jìn)制數(shù)為例,53連續(xù)六次除以2后,得到的余數(shù)依次是:1、0、1、0、1、1。將所有余數(shù)倒序排列為110101。因此十進(jìn)制數(shù)53轉(zhuǎn)換成二進(jìn)制數(shù)為110101。2.二進(jìn)制轉(zhuǎn)十進(jìn)制二進(jìn)制數(shù)第0位的權(quán)值是2的0次方,第1位的權(quán)值是2的1次方,……。如二進(jìn)制數(shù)01100100轉(zhuǎn)換成十進(jìn)制數(shù)為100。15返回16:126.整數(shù)類型(原碼、反碼、補(bǔ)碼)計(jì)算機(jī)中的有符號(hào)數(shù)存在原碼、反碼和補(bǔ)碼三種表示方法。在計(jì)算機(jī)系統(tǒng)中,數(shù)值一律采用補(bǔ)碼來(lái)表示和存儲(chǔ),其原因在于:補(bǔ)碼可將符號(hào)位和數(shù)值位統(tǒng)一處理;補(bǔ)碼也可將加減運(yùn)算進(jìn)行統(tǒng)一處理。原碼、反碼與補(bǔ)碼的表示規(guī)則如下:原碼表示法的最高位為符號(hào)位,正數(shù)該位為0,負(fù)數(shù)該位為1;其余位為數(shù)值位,表示數(shù)值的大小,為該數(shù)絕對(duì)值的二進(jìn)制形式。正數(shù)的反碼與原碼相同,負(fù)數(shù)的反碼為該數(shù)原碼的符號(hào)位不變數(shù)值位取反(0變?yōu)?,1變?yōu)?)。反碼通常用作原碼和補(bǔ)碼之間的過(guò)渡碼。正數(shù)的補(bǔ)碼與原碼相同,負(fù)數(shù)的補(bǔ)碼為該數(shù)反碼加1。16返回16:12補(bǔ)碼符號(hào)位的數(shù)學(xué)特征體現(xiàn)了補(bǔ)碼在計(jì)算機(jī)系統(tǒng)中數(shù)據(jù)表示與運(yùn)算的優(yōu)勢(shì)。以編譯系統(tǒng)為短整型數(shù)據(jù)分配2個(gè)字節(jié)存儲(chǔ)空間為例,十進(jìn)制數(shù)據(jù)13的二進(jìn)制形式是1101,其在存儲(chǔ)單元中數(shù)據(jù)形式如圖1.1。十進(jìn)制數(shù)據(jù)-13的原碼、反碼和補(bǔ)碼如圖1.2。17位序151413121110987654321013的原碼0000000000001101-13的原碼1000000000001101-13的反碼1111111111110010-13的補(bǔ)碼111111111111001116:12Dev-C++環(huán)境中各種類型整數(shù)所占用存儲(chǔ)單元長(zhǎng)度及取值范圍C++標(biāo)準(zhǔn)并沒(méi)有具體規(guī)定各種類型數(shù)據(jù)所占用存儲(chǔ)單元的長(zhǎng)度,具體由各編譯系統(tǒng)自行決定,只是要求:sizeof(short)<=sizeof(int)<=sizeof(long)<=sizeof(longlong)。18整數(shù)類型字節(jié)數(shù)取值范圍[signed]int4-2147483648~2147483647(-231~231-1)unsigned[int]40~4294967295(0~232-1)[signed]short[int]2-32768~32767(-215~215-1)unsignedshort[int]20~65535(0~216-1)[signed]long[int]4-2147483648~2147483647(-231~231-1)unsignedlong[int]40~4294967295(0~232-1)[signed]longlong[int]8-9223372036854775808~9223372036854775807(-263~263-1)unsignedlonglong[int]80~18446744073709551615(0~264-1)16:12例1.3:有m支鉛筆分給n位同學(xué)(且m>n),請(qǐng)問(wèn)每位同學(xué)平均可分幾支?還剩幾支?輸入:輸入兩個(gè)整數(shù)m和n,分別表示鉛筆的總數(shù)和學(xué)生的人數(shù)(m>n)。輸出:輸出兩個(gè)整數(shù),分別表示每位同學(xué)平均分配的數(shù)量及剩余的鉛筆數(shù)量。樣例輸入:16332樣例輸出:53#include<iostream>usingnamespacestd;intmain(){ intm,n; cin>>m>>n; cout<<m/n<<""<<m%n<<endl; //cout<<“每位同學(xué)平均可分”<<m/n<<"支,還剩"<<m%n<<“支”<<endl; return0;}1916:127.浮點(diǎn)類型浮點(diǎn)表示法是目前為止使用最廣泛的實(shí)數(shù)表示方法。相對(duì)于定點(diǎn)數(shù)而言,浮點(diǎn)數(shù)利用指數(shù)使小數(shù)點(diǎn)的位置根據(jù)需要而上下浮動(dòng),從而可以靈活地表達(dá)更大范圍的實(shí)數(shù)。在處理浮點(diǎn)型數(shù)據(jù)時(shí),計(jì)算機(jī)系統(tǒng)將其分成小數(shù)和指數(shù)兩個(gè)部分加以存儲(chǔ)。浮點(diǎn)數(shù)類型包括單精度浮點(diǎn)型(float)、雙精度浮點(diǎn)型(double)和長(zhǎng)雙精度浮點(diǎn)型(longdouble)。Dev-C++環(huán)境中各種類型浮點(diǎn)數(shù)所占用存儲(chǔ)單元長(zhǎng)度及取值范圍見(jiàn)表1.3。同整數(shù)類型一樣,C++也沒(méi)有規(guī)定各種浮點(diǎn)型所占用存儲(chǔ)單元的長(zhǎng)度,具體由各編譯系統(tǒng)自行決定。20返回整數(shù)類型字節(jié)數(shù)有效數(shù)字絕對(duì)值取值范圍float460以及1.2*10-38~3.4*1038double8150以及2.3*10-308~1.7*10308longdouble16190以及3.4*10-4932~1.1*10493216:12
輸入:輸入一個(gè)浮點(diǎn)類型的數(shù)r表示圓的半徑。輸出:該圓的面積。樣例輸入:2.3樣例輸出:16.6106#include<iostream>usingnamespacestd;intmain(){ doubler; cin>>r; cout<<3.14*r*r<<endl; return0;}2116:12絕對(duì)值與取整函數(shù);指數(shù)、對(duì)數(shù)、開(kāi)方函數(shù)函數(shù)功能intabs(inti)返回整數(shù)的絕對(duì)值doublefabs(doubled)返回雙精度數(shù)的絕對(duì)值doublelabs(longn)返回長(zhǎng)整型數(shù)的絕對(duì)值
doubleceil(doubled)向上取整doublefloor(doubled)向下取整doubleround(doubled)四舍五入22函數(shù)功能doublelog(doublex)返回自然對(duì)數(shù)ln(x)的值doublelog10(doublex)返回常用對(duì)數(shù)lg(x)的值doublepow(doublex,doubley)返回x的y次冪doublesqrt(doublex)返回x的平方根
16:12例1.5:輸入一個(gè)正整數(shù),輸出其位數(shù)。輸入:一個(gè)正整數(shù)。輸出:正整數(shù)的位數(shù)。樣例輸入:100樣例輸出:3#include<iostream>#include<cmath>usingnamespacestd;intmain(){ intnum,n; cin>>num; n=log10(num)+1; cout<<n<<endl; return0;}2316:128.字符類型在C++中,字符類型分為無(wú)符號(hào)字符類型和有符號(hào)字符類型。字符類型數(shù)據(jù)占一個(gè)字節(jié),以其對(duì)應(yīng)ASCII碼的二進(jìn)制形式存儲(chǔ),因此可看作是存儲(chǔ)空間和取值范圍更小的整數(shù)類型。字符類型數(shù)據(jù)所占用存儲(chǔ)空間和
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畫廊代理協(xié)議書
- 股權(quán)改制協(xié)議書
- 資產(chǎn)放棄協(xié)議書
- 用地變更協(xié)議書
- 花磚鋪裝協(xié)議書
- 李律師請(qǐng)教婚內(nèi)協(xié)議書
- 股東財(cái)務(wù)協(xié)議書
- 簡(jiǎn)約安全協(xié)議書
- 股東運(yùn)營(yíng)協(xié)議書
- 騰訊員工協(xié)議書
- 全國(guó)統(tǒng)一考試考務(wù)人員網(wǎng)上培訓(xùn)考試試題及答案
- MOOC 隔網(wǎng)的智慧-乒羽兩項(xiàng)-西南交通大學(xué) 中國(guó)大學(xué)慕課答案
- 打印服務(wù)合同
- PE燃?xì)夤艿朗褂谜f(shuō)明書
- 質(zhì)量環(huán)境職業(yè)健康安全(QES)一體化管理手冊(cè)
- 《慧典電子病歷系統(tǒng)》操作手冊(cè)
- 配電室維保方案資料
- 下消化道出血診治PPT
- 醫(yī)院病房裝修改造工程施工方案
- 非相干散射雷達(dá)調(diào)研報(bào)告
- 設(shè)計(jì)概論 設(shè)計(jì)批評(píng)
評(píng)論
0/150
提交評(píng)論