




已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
威海市第一中學(xué)研究性學(xué)習(xí)成果展示課題名稱c+語言入門指導(dǎo)教師柳鑫偉班級學(xué)科團隊照片負責(zé)人其他成員電話電子郵件一、研究背景w 信息技術(shù)作為當(dāng)前先進生產(chǎn)力的代表,已經(jīng)成為我國積極發(fā)展的重要支柱和網(wǎng)絡(luò)強國的重要支撐,信息技術(shù)涵蓋了獲取、信息、表示、傳輸、貯存、和信息加工在內(nèi)的各種技術(shù),自己計算機問世以來,信息技術(shù)沿著以計算機、互聯(lián)網(wǎng),再到以大數(shù)據(jù)為核心的發(fā)展脈絡(luò),深刻影響著社會的經(jīng)濟基礎(chǔ)和技術(shù)創(chuàng)新,推動著社會信息化、智能化的發(fā)展,重塑著人們交流溝通的時間觀念和空間觀念。而我們處于云計算,大數(shù)據(jù),人工智能,互聯(lián)網(wǎng)+的時代,現(xiàn)在的生活工作離不開信息學(xué)。 w 信息學(xué)的根基就是算法,數(shù)據(jù)結(jié)構(gòu),程序設(shè)計。二、研究目的與意義w C+由美國AT&T貝爾實驗室的本賈尼斯特勞斯特盧普博士在20世紀80年代初期發(fā)明并實現(xiàn)(最初這種語言被稱作“C with Classes”帶類的C)。開始,C+是作為C語言的增強版出現(xiàn)的,從給C語言增加類開始,不斷的增加新特性。w 今天C+已成為世界主流編程語言之一,要學(xué)習(xí)計算機的相關(guān)知識,必須從語言開始學(xué)起。牢固掌握c+語言,可以提高邏輯思維能力,開拓思維,為將來系統(tǒng)地學(xué)習(xí)計算機相關(guān)知識打下基礎(chǔ)。三、研究內(nèi)容C+介紹及入門、順序結(jié)構(gòu)程序設(shè)計程序控制結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。四、研究方法互動教學(xué)機房授課講練結(jié)合五、研究計劃(各階段均需注明時間段、主要活動)第一個階段:C+介紹及入門,9月份的第一周、第二周第二個階段:順序結(jié)構(gòu)程序設(shè)計,9月的第三、第四、10月份第一周第三個階段:程序控制結(jié)構(gòu)、大約3個周第四個階段:大約3個周六、小組成員具體分工與特性分析相互幫助,共同研究。七、預(yù)期成果及表現(xiàn)形式(研究的最終成果以什么樣的形式展現(xiàn)出來,是論文、實驗報告、實物、網(wǎng)站還是其他形式)成果主要通過研究性報告來體現(xiàn),學(xué)習(xí)之后可以參加信息學(xué)的奧林匹克競賽,可以通過證書來檢驗學(xué)習(xí)效果,也可以自己編寫程序,參加程序比賽。八、資源準備(如所需圖書、設(shè)備、經(jīng)費預(yù)算等)1、 電腦2、 信息學(xué)競賽系列書籍經(jīng)費預(yù)算為5000元。九、結(jié)題論文 (研究結(jié)果、分析、建議,研究過程收獲與體會) ( 可打印出來黏貼,附頁 )第一章 C+語言入門第一節(jié) C+程序的基本結(jié)構(gòu)#include /頭文件/預(yù)處理命令。對其他程序的引用,一種聲明using namespace std; /名字空間,采用標準名字空間int main() /主函數(shù),是所有C+程序的運行起始點 【例1.1】在屏幕上輸出“Hello World!”。#includeusing namespace std; int main()coutHello World!endl; /輸出Hello World!return 0; /結(jié)束整個程序 運行結(jié)果:Hello World!【說明】:1、以“/”開頭為注釋行,“/”后的內(nèi)容用以對語句進行說明,輸入程序時可以不輸入。2、#include告訴編譯器的預(yù)處理器將輸入輸出流的標準頭文件(iostream)包括在本程序中。這個頭文件包括了C+中定義的基本標準輸入輸出程序庫的聲明。3、using namespace std使用std(標準)名字空間的意思。所謂的名字空間是標準C+中的一種機制,用來控制不同類庫的沖突問題。使用它可以在不同的空間內(nèi)使用相同名字的類或者函數(shù)。4、int main( )這一行為主函數(shù)(main function)的起始聲明。main()是所有C+程序的運行的起始點。不管它是在代碼的開頭,結(jié)尾還是中間,此函數(shù)中的代碼總是在程序開始運行時第一個被執(zhí)行。所有C+程序都必須有一個main(),int main()。main后面跟了一對圓括號( ),表示它是一個函數(shù)。C+中所有函數(shù)都跟有一對圓括號( ),括號中可以有一些輸入?yún)?shù)。注意,圓括號中即使什么都沒有也不能省略。如例題中顯示,主函數(shù)main()中的內(nèi)容,由一對花括號 括起來。 5、cout Hello World!endl這個語句在本程序中最重要。 cout是一個輸出語句,告訴計算機把引號之間的字符串送到標準的輸出設(shè)備(屏幕)上。cout 的聲明在頭文件iostream中,所以要想使用cout 必須將頭文件iostream包括在程序開始處。endl是C+語言的換行控制符,表示內(nèi)容輸出后換行顯示后續(xù)的內(nèi)容。6、return 0主函數(shù)main( )的返回語句,一般是函數(shù)的最后一條可執(zhí)行語句。main()函數(shù)末尾使用return語句時,數(shù)值0表示程序順利結(jié)束,其他數(shù)表示有異常。在后面的例子中你會看到C+程序都以類似的語句結(jié)束。在C+中,語句的分隔是以分號“;”為分隔符的,分行寫代碼只是為了更方便人閱讀?!揪毩?xí)1.1】1.編寫一個能夠輸出“I love programming!”的程序輸入:無。輸出:一行,僅包含一個字符串:“I love programming!”樣例輸入:(無)樣例輸出:I love programming!【例1.2】已知一位小朋友的電影票價是10元,計算x位小朋友的總票價是多少?【分析】 假設(shè)總票價用y來表示,則這個問題可以用以下幾個步驟來實現(xiàn):輸入小朋友的數(shù)目x;用公式y(tǒng)=10*x計算總票價;輸出總票價y的值。程序如下:#include /使用cin,cout,須調(diào)用iostream庫using namespace std;int main() int x,y; /定義整型變量 coutx; /輸入小朋友的人數(shù) y=10*x; /計算總票價 couttotal=yendl; /輸出總票價 return 0; /結(jié)束程序 【例1.3 】在梯形中陰影部分面積是150平方厘米,求梯形面積?!痉治觥?已知梯形上、下底長為15和25。令梯形的高為h,則由已知三角形面積為150平方厘米,有150(15*h)/2,得h為20,然后根據(jù)梯形面積公式算出梯形面積。程序如下: #includeusing namespace std; int main() int s,h,up,down; up=15; down=25; h=2*150/up; s=(up+down)*h/2; couts=“sendl; return 0; 運行結(jié)果:s=400通過以上例1.2和例1.3兩個例子,可以總結(jié)出C+語言程序的結(jié)構(gòu)如下:1)C+語言變量在使用之前必須先定義其數(shù)據(jù)類型,未經(jīng)定義的變量不能使用。2)程序由一個或多個函數(shù)組成,一個程序中必須有且只有一個主函數(shù),主函數(shù)的名字為main。不論main()函數(shù)在程序中什么位置,程序都是從main()函數(shù)開始執(zhí)行,main()函數(shù)執(zhí)行完畢,程序也就結(jié)束了。3)在程序中可以調(diào)用系統(tǒng)提供的庫函數(shù)。在調(diào)用庫函數(shù)之前,必須將相應(yīng)頭文件包含在程序中。4)程序中可以有注釋行。注釋是為了使程序更易于理解和提示。5)程序的語句以分號結(jié)束。分號是C+語言不可缺少的組成部分。6)程序的書寫要注意適當(dāng)?shù)目s進,一般采用“逐層縮進”形式,以便使程序更加清晰易讀?!纠?.4】給定一個字符,用它構(gòu)造一個底邊長5個字符,高3個字符的等腰字符三角形。 # #程序如下:#include /使用cin,cout,須調(diào)用iostream庫using namespace std; int main()char a; /定義字符變量 cina; /輸入給定一個字符 cout aendl; /輸出1個字符,先輸出2個空格cout aaaendl; /輸出3個字符,先輸出1個空格coutaaaaaendl; /輸出5個字符return 0; 【練習(xí)1.2】字符三角形 給定一個字符,用它構(gòu)造一個對角線長5個字符,傾斜放置的菱形。輸入:輸入只有一行, 包含一個字符。輸出:該字符構(gòu)成的菱形,對角線長5個字符。樣例輸入: *樣例輸出: * * * *第二章 順序結(jié)構(gòu)程序設(shè)計第一節(jié) 賦值語句在C+語言中,“=”作為賦值運算符,而不表示“等于”判斷。賦值語句是由賦值表達式再加上分號構(gòu)成的表達式語句,它是程序中使用最多的語句之一。 變量=表達式;在賦值語句的使用中,需要注意以下幾點:1)由于賦值運算符“=”右邊的表達式也可以是賦值表達式,因此,下述形式 : 變量=(變量=表達式);是成立的,從而形成嵌套的情形。其展開之后的一般形式為:變量=變量=表達式;例如,“a=b=c=d=e=5;”,它實際上等價于:e=5;d=e;c=d;b=c;a=b;2)在進行賦值運算時,如果賦值運算符兩邊的數(shù)據(jù)類型不同,系統(tǒng)將會自動進行類型轉(zhuǎn)換,即將賦值運算符右邊的數(shù)據(jù)類型轉(zhuǎn)換成左邊的變量類型。當(dāng)左邊是整型而右邊是實型時,將去掉小數(shù)部分并截取該整型對應(yīng)的有效位數(shù)。【例2.1】輸入兩個正整數(shù)A和B,試交換A、B的值(使A的值等于B,B的值等于A)?!痉治觥?交換兩個變量的值方法很多,一般我們采用引入第三個變量的算法,二個變量交換,可以想像成一瓶醬油和一瓶醋進行交換,這時容易想到拿一個空瓶子過來: 將醬油倒到空瓶中; 將醋倒到醬油瓶中; 將原空瓶中的醬油倒到醋瓶中。程序如下:#include /使用cin,cout,須調(diào)用iostream庫using namespace std;int main() int a,b,c; /定義三個變量 coutab; /輸入A、B的值 c=a; a=b; b=c; /交換A、B的值 couta=a b=b)、小于(=)、小于等于(=)和不等于(!=)六種。3.邏輯運算符用于邏輯運算。包括與(&)、或(|)、非(!)三種。4.位操作運算符 參與運算的量,按二進制位進行運算。包括位與(&)、位或(|)、位非()、位異或()、左移()六種。5.賦值運算符用于賦值運算,分為簡單賦值(=)、復(fù)合算術(shù)賦值(+=,-=,*=,/=,%=)和復(fù)合位運算賦值(&=,|=,=,=,=)三類共十一種。一、算術(shù)運算符1、除法運算符C+語言的除法運算符有一些特殊之處,即如果a、b是兩個整數(shù)類型的變量或常量,那么a/b的值是a除以b的商。例如,5/2的值是2,而不是2.5,而5.0/2或5/2.0的值是2.5。2、模運算符求余的運算符“%”也稱為模運算符,是雙目運算符,兩個操作數(shù)都是整型數(shù)。a%b的值就是a除以b的余數(shù),5%2余數(shù)為1。其操作對象只能是整型數(shù),而其他四種運算符對int,float,double,char都適用?!菊f明】1)、除法運算或求商運算(/)兩個整數(shù)相除的結(jié)果為整數(shù),5/2=2兩個實數(shù)相除的結(jié)果為實數(shù),5.0/2=2.5或5/2.0=2.52)、取模運算或求余運算(%)必須為兩個整數(shù),右操作不能為0,操作對象只能是整數(shù)型,運算結(jié)果為整除之后的余數(shù),例如5%2=1。3)、+,-,*,/,%這幾個算數(shù)運算符的運算對象都是兩個,所以稱為雙目運算符。4)、優(yōu)先級別為:*,/,%高于+,-運算,都比賦值運算符的優(yōu)先級別高,所以先算術(shù),后賦值。5)、運算順序為自左向右(賦值運算的順序為自右至左)。6)、整除、取模運算的結(jié)果都是整數(shù)?!揪毩?xí)2.2】比較分析下面程序的執(zhí)行結(jié)果a=300*2/3;b=2/3*300;a和b運行結(jié)果是否相同?為什么?【練習(xí)2.3】A+B問題 A+B問題的題目描述如下:給定兩個整數(shù)A和B,輸出A+B的值。保證A、B及結(jié)果均在整型范圍內(nèi)?,F(xiàn)在請你解決這一問題。輸入:一行,包含兩個整數(shù)A,B,中間用單個空格隔開。A和B均在整型范圍內(nèi)。輸出:一個整數(shù),即A+B的值。保證結(jié)果在整型范圍內(nèi)。樣例輸入:1 2樣例輸出:3【練習(xí)2.4】計算(a+b)*c的值 給定3個整數(shù)a、b、c,計算表達式(a+b)*c的值。輸入:輸入僅一行,包括三個整數(shù)a、b、c, 數(shù)與數(shù)之間以一個空格分開。(10,000a,b,c10,000)輸出:輸出一行,即表達式的值樣例輸入:2 3 5樣例輸出:25【練習(xí)2.5】計算(a+b)/c的值 給定3個整數(shù)a、b、c,計算表達式(a+b)/c的值,/是整除運算。輸入;輸入僅一行,包括三個整數(shù)a、b、c, 數(shù)與數(shù)之間以一個空格分開。(10,000 a,b,c 10,000, c不等于0)輸出:輸出一行,即表達式的值。樣例輸入:1 1 3樣例輸出:0【練習(xí)2.6】帶余除法 給定被除數(shù)和除數(shù),求整數(shù)商及余數(shù)。此題中請使用默認的整除和取余運算,無需對結(jié)果進行任何特殊處理。輸入:一行,包含兩個整數(shù),依次為被除數(shù)和除數(shù)(除數(shù)非零),中間用一個空格隔開。輸出:一行,包含兩個整數(shù),依次為整數(shù)商和余數(shù),中間用一個空格隔開。樣例輸入:10 3樣例輸出:3 1【練習(xí)2.7】數(shù)學(xué)中經(jīng)典的“雞兔同籠”問題已知頭共30個,腳共90只,問籠中的雞和兔各有多少只?3、自反算數(shù)賦值運算符(復(fù)合算術(shù)賦值)。 自反加賦值 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;4、自加自減運算符自反算數(shù)賦值運算中有兩種更加特殊的情況i=i+1,相當(dāng)于i+=1; i=i-1,相當(dāng)于i-=1 自加、自減運算符用來對一個操作數(shù)進行加1或減1運算,其結(jié)果仍然賦予該操作數(shù),而且參加運算的操作數(shù)必須是變量,而不能是常量或表達式。1)自增運算符。例如,x+表示在使用x之后,使x的值加1,即x=x+1;+x表示使用x之前,先使x的值加1,即x=x+1。2)自減運算符。例如,x-表示在使用x之后,使x的值減1,即x=x-1;-x表示使用x之前,先使x的值減1,即x=x-1。3)自加運算i+或+i自減運算i-或-ii+和i-稱為后綴形式(先引用,后增值)+i和-i稱為前綴形式(先增值,后引用)【例2.2】int i int i;i=5; i=5;x=i+; x=+i;y=i; y=i;【例2.3】變量自加運算#includeusing namespace std;int main() int x,y,z1,z2; x=7; y=8; z1=y-(x+); /計算z1=1,計算后x=8 z2=y-(+x); /計算前x的值自加1,x的值為9,再與y求差 cout“z1=z1endl“z2=)、小于(=)、小于等于(n2; /n3的值為_ n3=n1關(guān)系運算邏輯運算邏輯運算的值也為“真”和“假”兩種,用“1”和“0 ”來表示。其求值規(guī)則如下:1.與運算&參與運算的兩個量都為真時,結(jié)果才為真,否則為假。 例如,50 & 422.或運算|參與運算的兩個量只要有一個為真,結(jié)果就為真。 兩個量都為假時,結(jié)果為假。 例如:50|583.非運算!參與運算量為真時,結(jié)果為假;參與運算量為假時,結(jié)果為真。例如:!(50)的結(jié)果為?雖然C+編譯在給出邏輯運算值時,以“1”代表“真”,“0 ”代表“假”。 但反過來在判斷一個量是為“真”還是為“假”時,以“0”代表“假”,以非“0”的數(shù)值作為“真”。例如:5&3的值為?又如:5|0的值為?4.算術(shù)運算符、關(guān)系運算符、邏輯運算符和賦值運算符的優(yōu)先級如下:賦值運算符邏輯運算符關(guān)系運算符b; (ab)=c;b+cb; f=abc;第三節(jié)常量和變量一、常量常量是指在程序中使用的一些具體的數(shù)、字符。在程序運行過程中,其值不能被更改。如123,145.88,m,TRUE等。1、整型常量:如3、-5、0等。整型常量是表示整數(shù)的常量。有三種表示形式:1)十進制形式。如99、-1。2)八進制形式。以數(shù)字0打頭,由0-7構(gòu)成,如012,表示八進制整數(shù)12,即12(8)。3)十六進制形式。以0x打頭,如0x12A,表示十六進制整數(shù)12A,即12A(16)。2、實型常量:如3.1、-6.1E+2(科學(xué)記數(shù)法)。3、字符常量:是用單引號括起來的字符,如 k 、5 、%。 注意:a與a表示的含義是不同的,a表示一個字符常量,a表示一個字符串。 一個常量可以直接調(diào)用(如124,A),也可以給常量取個名字用一個標識符代表它,這就是符號常量。其語法格式為: const 類型說明符 常量名=常量字符;例如:const double PI=3.1415926;或者 類型說明符 const 常量名=常量字符;例如 :double const PI=3.1415926;可寫在主函數(shù)之前,也可以寫在主函數(shù)中二、變量定義變量代表了一個存儲單元,其中的值是可以改變的,因此稱為變量。一個程序中可能要使用到若干個變量,為了區(qū)別不同的變量,必須給每個變量(存儲單元)取一個名(稱為變量名),該變量(存貯單元)存儲的值稱為變量的值,變量中能夠存儲值的類型為變量的類型。1.變量名 用一個合法的標識符代表一個變量。如n,m,rot,total 等都是合法變量名。在程序中用到的變量要“先定義后使用”,變量名應(yīng)遵循自定義標識符的命名規(guī)則,并建議使用“見名知義”的原則,即用一些有意義的單詞作為變量名。在C+語言,變量名大小寫有區(qū)別。用來標識變量名、符號常量名、函數(shù)名、數(shù)組名、類型名、文件名的有效字符序列稱為標識符。C+語言規(guī)定,標識符只能由字母或下劃線“_”開頭,后面的字符可以是字母或數(shù)字。對于標識符的長度,不同的C+語言編譯器有不同的規(guī)定,考慮到系統(tǒng)的可移植性,建議變量名的長度不要超過8個字符。例如:month、_age、s2為合法的標識符;m.k.jack、a=b、9y為不合法的標識符。習(xí)慣上,符號常量名用大寫,而變量名用小寫,以便于區(qū)別。2. 變量的類型 常量是有類型的數(shù)據(jù),變量在某一固定時刻用來存儲一個常量,因此也應(yīng)有相應(yīng)的類型。如整型變量用來存儲整數(shù),實型變量用來存儲實數(shù)。變量的類型,可以是標準數(shù)據(jù)類型int、short、long、float、double和char等,也可以是用戶自定義的各種類型。變量一經(jīng)定義系統(tǒng)就在計算機內(nèi)存中為其分配一個存儲空間。在程序中使用到變量時,就在相應(yīng)的內(nèi)存中存入數(shù)據(jù)或取出數(shù)據(jù),這種操作稱為變量的訪問。定義變量的語法格式為:數(shù)據(jù)類型 變量表1,變量表2,;【例2.4】int i=5,j,k; /定義i,j,k為整型變量, /i賦初值為5,j,k的初值未知。 char a,b,c; /定義a,b,c為字符變量 float x,y,z; /定義x,y,z為實型變量C+語言允許在定義變量的同時為變量賦初值?!纠?.5 】輸入半徑r,求圓的周長及面積。(取3.14)樣例輸入r=3樣例輸出c=18.84 s=28.26#include /調(diào)用iostream庫using namespace std; const double PI=3.14; /PI是符號常量。代表3.14int main() float r,c,s; /定義實型變量 coutr; /輸入r的值 c=2*PI*r; /計算圓的周長 s=PI*r*r; /計算圓的面積 cout“c=“c“ s=“s; /顯示計算結(jié)果,程序中定義的PI代表常量3.14,在編譯源程序時,遇到PI就用常量3.14代替,PI可以和常量一樣進行運算。C+語言規(guī)定,每個符號常量的定義占據(jù)一個書寫行,而且符號常量不能被再賦值。如果在例2.5中使用以下賦值語句是錯誤的。PI=3.14;使用符號常量的好處:1)增加了程序的可讀性。如看到例2.5程序中,見到PI就可知道它代表圓周率,定義符號常量名時應(yīng)該盡量使用見名知意的常量名。2)增加了程序的易改性。如例2.5程序中,只需改動一處,程序中的所有PI都會自動全部代換,做到“一改全改”。若PI=3.1415926,精度保留7位小數(shù),上述程序可行嗎?【拓展:printf()函數(shù)】使用printf函數(shù)必須調(diào)用庫函數(shù)格式語法:printf(格式控制字符串,輸出表達式1,輸出表達式2,);其中格式控制字符串由兩部分構(gòu)成,格式說明字段和普通字符(包括轉(zhuǎn)義字符)。一個格式說明字段將引起一個輸出參數(shù)項的轉(zhuǎn)換與顯示,它由%引出格式說明字段,格式說明字段與后面的輸出表達式參數(shù)要對應(yīng)一致。int a=975311; printf(“%d”,a);輸出結(jié)果975311double a=123.456; printf(“%f”,a);輸出結(jié)果123.456000(默認6位精度)控制精度,輸出8位小數(shù)printf(“%.8f”,a);加修飾字符串,輸出“面積=123.1234567”printf(“面積=%.7f”,a);輸出百分號printf(“%”);【例2.5】輸入半徑r,求圓的周長及面積。(取3.1415926)要求結(jié)果保留7位小數(shù)輸入樣例:r=5輸出樣例:周長=31.4159360,面積=78.5398178#include /調(diào)用iostream庫#includeusing namespace std; const double PI=3.1415926; /PI是符號常量。代表3.1415926int main() const double PI=3.1415926; float r,c,s; /定義實型變量 coutr; /輸入r的值 c=2*PI*r; /計算圓的周長 s=PI*r*r; /計算圓的面積 printf(“周長=%.7f ,面積=%.7fn”,c,s); /顯示計算結(jié)果,【練習(xí)3.1】甲流疫情死亡率 甲流并不可怕,在中國,它的死亡率并不是很高。請根據(jù)截止2009年12月22日各省報告的甲流確診數(shù)和死亡數(shù),計算甲流在各省的死亡率。輸入:輸入僅一行,有兩個整數(shù),第一個為確診數(shù),第二個為死亡數(shù)。輸出:輸出僅一行,甲流死亡率,以百分數(shù)形式輸出,精確到小數(shù)點后3位。樣例輸入:10433 60樣例輸出:0.575%【練習(xí)3.2】計算多項式的值 對于多項式f(x) = ax3+bx2+cx+d和給定的a,b,c,d,x,計算f(x)的值,保留到小數(shù)點后7位。輸入:輸入僅一行,包含5個實數(shù),分別是x,及參數(shù)a、b、c、d的值,每個數(shù)都是絕對值不超過100的雙精度浮點數(shù)。數(shù)與數(shù)之間以一個空格分開。輸出:輸出一個實數(shù),即f(x)的值,保留到小數(shù)點后7位。樣例輸入:2.31 1.2 2 2 3樣例輸出:33.0838692【練習(xí)3.3】溫度表達轉(zhuǎn)化 利用公式c= 5*(f-32)/9(其中c表示攝氏溫度,f表示華氏溫度)進行計算轉(zhuǎn)化,輸入華氏溫度f,輸出攝氏溫度c,要求精確到小數(shù)點后5位。輸入:輸入一行,包含一個實數(shù)f,表示華氏溫度。(f = -459.67)輸出:輸出一行,包含一個實數(shù),表示對用的攝氏溫度,要求精確到小數(shù)點后5位。樣例輸入:41樣例輸出:5.00000【練習(xí)3.4】與圓相關(guān)的計算 給出圓的半徑,求圓的直徑、周長和面積。輸入圓的半徑實數(shù)r,輸出圓的直徑、周長、面積,每個數(shù)保留小數(shù)點后4位。輸入:輸入包含一個實數(shù)r(0 r = 10,000),表示圓的半徑。輸出:輸出一行,包含三個數(shù),分別表示圓的直徑、周長、面積,數(shù)與數(shù)之間以一個空格分開,每個數(shù)保留小數(shù)點后4位。樣例輸入:3.0樣例輸出:6.0000 18.8495 28.2743【練習(xí)3.5】與圓相關(guān)的計算輸入底面積半徑r和高h,輸出圓柱體的表面積,保留三位小數(shù)樣例輸入:3.5 9樣例輸出:274.889【選做練習(xí)3.6】6.計算串聯(lián)電路和并聯(lián)電路中電阻的阻值 對于阻值為r1和r2的電阻,輸入兩個電阻大小,浮點型。輸出串聯(lián)和并聯(lián)之后阻值大小,結(jié)果保留小數(shù)點后2位。輸入:兩個電阻大小,浮點型,以一個空格分開。輸出:串聯(lián)之后阻值的大小,結(jié)果保留小數(shù)點后2位;并聯(lián)之后阻值的大小,結(jié)果保留小數(shù)點后2位;數(shù)值之間用空格隔開。樣例輸入:1 2樣例輸出:3.00 0.67第四節(jié) 標準數(shù)據(jù)類型 C+語言提供了豐富的數(shù)據(jù)類型,本節(jié)介紹幾種基本的數(shù)據(jù)類型:整型、實型、字符型。它們都是系統(tǒng)定義的簡單數(shù)據(jù)類型,稱為標準數(shù)據(jù)類型。 一、整型。整型類型標識符為int。根據(jù)整型變量的取值范圍又可將整型變量定義為4種整型類型。 二、實型。實型類型的標識符為float和double,以及特殊實型布爾變量(bool)。 三、字符型。實型類型的標識符為char。字符常量有以下兩種表示法: 1、普通表示形式。字符常量是由單個字符組成,所有字符采用ASCII編碼,ASCII編碼共有128個字符(表2-4)。在程序中,通常用一對單引號將單個字符括起來表示一個字符常量。如:a,A,0等。如字符A的序號是65,字符a的序號是97, 字符0的序號的48。2、轉(zhuǎn)義字符表示形式。轉(zhuǎn)義字符有三種用法:表示控制字符、表示特殊字符、表示所有字符?;赾har數(shù)據(jù)的這個特點,它可以和int變量一樣做加減運算,【例4.1】說明了這種用法?!纠?.1】大小字母的轉(zhuǎn)換#includeusing namespace std;int main() char c1,c2; c1=a; c2=A; coutc1 c2endl; c1=c1-32; /小寫字母轉(zhuǎn)換大寫字母 c2=c2+32; /大寫字母轉(zhuǎn)換小寫字母 coutc1 c2endl; 運行結(jié)果:a AA a 因為所有小寫字母的ASCII值要比對應(yīng)大寫字母的ASCII值大32,所以c1減去32后便得到原來字母的大寫形式。反之,c2加上32后便得到原來字母的小寫形式?!纠?.2】整型數(shù)據(jù)類型存儲空間大小 分別定義int,short類型的變量各一個,并依次輸出它們的存儲空間大小(單位:字節(jié))?!緟⒖汲绦颉?includeusing namespace std;int main() int x; short y; coutsizeof(x) sizeof(y)endl;/sizeof返回一個對象或者類型所占的內(nèi)存字節(jié)數(shù)return 0;【練習(xí)4.1】其他數(shù)據(jù)類型存儲空間大小 分別定義bool,char類型的變量各一個,并依次輸出它們的存儲空間大小(單位:字節(jié))。輸入:無。輸出:一行,兩個整數(shù),分別是兩個變量的存儲空間大小,用一個空格隔開。【練習(xí)4.2】浮點型數(shù)據(jù)類型存儲空間大小 分別定義float,double類型的變量各一個,并使用格式化輸出語句依次輸出它們的存儲空間大小(單位:字節(jié))。輸入:無。輸出: 一行,兩個整數(shù),分別是兩個變量的存儲空間大小,用一個空格隔開。 四、C+語言中,不同數(shù)據(jù)類型的運算對象進行混合運算,或者需要將一個表達式的結(jié)果轉(zhuǎn)換成期望的類型時,就需要依據(jù)數(shù)據(jù)類型轉(zhuǎn)換規(guī)則進行轉(zhuǎn)換。1、混合運算時的類型轉(zhuǎn)換規(guī)則 整型、實型、字符型數(shù)據(jù)間可以混合運算。在這種情況下,需要將不一致的數(shù)據(jù)類型轉(zhuǎn)換成一致的數(shù)據(jù)類型,然后進行運算。為了保證運算精度,系統(tǒng)在運算時的轉(zhuǎn)換規(guī)則是將存儲長度較短的運算對象轉(zhuǎn)成存儲長度較長的類型,然后再進行處理。這種轉(zhuǎn)換是系統(tǒng)自動進行的?;旌线\算時的類型轉(zhuǎn)換規(guī)則如下:【說明如下】 1)縱向箭頭表示必定會進行的轉(zhuǎn)換,如float型數(shù)據(jù)必先轉(zhuǎn)換為double型數(shù)據(jù),然后與其他操作數(shù)進行運算。與此類似,char型或short型數(shù)據(jù)必先轉(zhuǎn)換為int型數(shù)據(jù),然后進行運算。 2)橫向箭頭表示當(dāng)運算對象為不同類型數(shù)據(jù)時的轉(zhuǎn)換方向,如int型與double型進行運算,int型直接轉(zhuǎn)換為double型后進行運算,不能理解為先轉(zhuǎn)換為long int型,然后再轉(zhuǎn)換為double型。2、賦值時的類型轉(zhuǎn)換規(guī)則當(dāng)賦值運算符兩側(cè)的數(shù)據(jù)類型不同時,需進行類型轉(zhuǎn)換,這種轉(zhuǎn)換是系統(tǒng)自動進行的,轉(zhuǎn)換規(guī)則如下:1)float、double型賦值給int型:直接截斷小數(shù)。例如,“int i=f+0.6;”,f的值為4.0,右邊算術(shù)表達式運算后的結(jié)果為4.6的double型數(shù)據(jù),根據(jù)上述轉(zhuǎn)換原則,直接舍棄小數(shù),所以i的值為4。2)int、char型賦值給float、double型:補足有效位以進行數(shù)據(jù)類型轉(zhuǎn)換。例如:“float f=4;”,float為7位有效數(shù)字,所以f的值為4.0000000。3)char型(1字節(jié))賦給int型(4字節(jié)):數(shù)值賦給int型的低8位,其它位補0。3、強制類型轉(zhuǎn)換 在C+語言中,還允許強制類型轉(zhuǎn)換,即將某一數(shù)據(jù)的數(shù)據(jù)類型轉(zhuǎn)換為指定的另一種數(shù)據(jù)類型,強制類型轉(zhuǎn)換只是臨時轉(zhuǎn)換。強制轉(zhuǎn)換運算符組成的運算表達式的一般形式為:(類型名)(表達式) 例如:已知有變量定義“int b=7;float a=2.5,c=4.7;”,求下面算術(shù)表達式的值。 a+(int)(b/3*(int)(a+c)/2.0)%4根據(jù)運算符的結(jié)合性規(guī)則,表達式要自左至右執(zhí)行,b/3為2,2*(int)(a+c)為14,14/2.0為7.0,強制類型轉(zhuǎn)換后為7,7%4為3,a的值2.5與3相加,最終結(jié)果為5.5。 float在空間允許范圍下沒有必要使用,都應(yīng)使用double提高精度【練習(xí)4.3】浮點數(shù)向零舍入 輸入一個單精度浮點數(shù),將其向零舍入到整數(shù)。說明:向零舍入的含義是,正數(shù)向下舍入,負數(shù)向上舍入。提示:可以使用強制類型轉(zhuǎn)換來實現(xiàn)。輸入:一個單精度浮點數(shù)。 輸出:一個整數(shù),即向零舍入到整數(shù)的結(jié)果。樣例輸入:2.3樣例輸出:2【練習(xí)4.4】打印ASCII碼 輸入一個除空格以外的可見字符,輸出其ASCII碼。輸入:一個除空格以外的可見字符。輸出:一個十進制整數(shù),即該字符的ASCII碼。樣例輸入:A樣例輸出:65【練習(xí)4.5】打印字符 輸入一個整數(shù),即字符的ASCII碼,保證存在對應(yīng)的可見字符。輸出相對應(yīng)的字符。輸入:一個整數(shù),即字符的ASCII碼,保證存在對應(yīng)的可見字符。輸出:一行,包含相應(yīng)的字符。樣例輸入:65樣例輸出:A【練習(xí)4.6】整型與布爾型的轉(zhuǎn)換 將一個整型變量的值賦給一個布爾型變量,再將這個布爾型變量的值賦給一個整型變量,得到的值是多少?輸入:一個整型范圍內(nèi)的整數(shù),即初始時整型變量的值。輸出:一個整數(shù),經(jīng)過上述過程后得到的結(jié)果。樣例輸入:3樣例輸出:1【練習(xí)4.7】Hello,World!的大小 在上一章里,我們曾經(jīng)輸出過的“Hello, World!”嗎?它雖然不是本章所涉及的基本數(shù)據(jù)類型的數(shù)據(jù),但我們同樣可以用sizeof函數(shù)獲得它所占用的空間大小。輸入:無。輸出:一個整數(shù),即“Hello, World!”的大小。第五節(jié)數(shù)據(jù)輸入輸出 C+語言中沒有提供專門的輸入輸出語句,所有的輸入輸出都是調(diào)用標準庫函數(shù)中的輸入輸出函數(shù)來實現(xiàn)的。在使用時,應(yīng)在源程序的開頭使用如下語句:#include#includeusing namespace std;C+語言標準函數(shù)庫提供了許多標準輸入、輸出函數(shù),本節(jié)將介紹6個最基本的輸入、輸出函數(shù):字符輸入getchar,字符輸出putchar,格式化輸入scanf,格式化輸出printf,流輸入cin,流輸出cout。一、字符輸入函數(shù)getchar getchar函數(shù)是接收從鍵盤輸入的單個字符數(shù)據(jù)。其語法格式為:getchar(void);/ void無效的,空的【說明】1)通常把輸入的字符賦予一個字符變量,構(gòu)成賦值語句。例如: char ch; ch=getchar();2) getchar函數(shù)只能接受單個字符,輸入數(shù)字也按字符處理。3)輸入多于一個字符時,只接收第一個字符。4) getchar函數(shù)等待用戶輸入,直到按回車鍵才結(jié)束,可用于暫停程序的運行,直到輸入一個回車鍵。5)如果在程序中連續(xù)有兩個以上getchar()函數(shù),應(yīng)該一次性輸入所需字符,最后再按回車鍵,否則會把回車作為一個字符傳給后面的getchar()函數(shù)?!纠?.1】利用getchar函數(shù)接收鍵盤輸入。#include#includeusing namespace std;int main() char ch; ch=getchar();/讀入字符 coutinput=chendl;二、字符輸出函數(shù)putchar putchar函數(shù)是字符輸出函數(shù),功能是向標準輸出設(shè)備(如顯示器)輸出單個字符數(shù)據(jù),其語法格式為: putchar(ch); /其中,ch為一個字符變量或常量。【例5.2】利用putchar 函數(shù)輸出字符。#include#includeusing namespace std;int main() char c=B; /定義字符變量c并賦值B putchar(c); /輸出該字符 putchar(66); /用10進制ASCII碼值輸出字母B運行結(jié)果:BB【練習(xí)5.1】利用getchar和putchar語句連續(xù)輸入字符并輸出到屏幕輸入樣例:asd輸出樣例:asd三、通過cout流輸出數(shù)據(jù)流插入運算符和cout結(jié)合在一起使用,可向顯示器屏幕輸出數(shù)據(jù)。格式1:功能:它把表達式的值輸出到屏幕上,該表達式可以是各種基本類型的常量、變量或者由它們組成的表達式。輸出時,程序根據(jù)表達式的類型和數(shù)值大小,采用不同的默認格式輸出,大多數(shù)情況下可滿足要求。若要輸出多個數(shù)據(jù),可以連續(xù)使用流插入運算符格式2:功能:將表達式的內(nèi)容一項接一項的輸出到屏幕上。1輸出字符串和輸出變量的區(qū)別每當(dāng)我們輸出字符串常量的時候,必須用雙引號把字符串引起來,以便將它和變量名明顯的區(qū)分開來?!纠?.3】下面兩個語句是不同的:cout “Hello” ; /打印字符串Hello到屏幕
溫馨提示
- 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è)務(wù)拓展策略執(zhí)行情況分析表
- 農(nóng)民合作社財務(wù)規(guī)范化管理手冊
- 護師主管護師復(fù)習(xí)測試卷
- 法務(wù)知識入門學(xué)習(xí)指南
- 三農(nóng)村合作社公共交通規(guī)劃指南
- 季度人力資源招聘與優(yōu)化規(guī)劃書
- 股份制公司辦公環(huán)境優(yōu)化計劃
- 互聯(lián)網(wǎng)租賃車平臺合作協(xié)議
- 電視編導(dǎo)制作實戰(zhàn)指南
- 2025年山東省中小學(xué)生海洋知識競賽參考試指導(dǎo)題庫500題(含答案)
- 2025年高考語文備考之DeepSeek與《哪吒2》相關(guān)語言文字運用題訓(xùn)練
- 2024年廣東省公務(wù)員《申論(行政執(zhí)法)》試題真題及答案
- (市質(zhì)檢三檢)泉州市2025屆高中畢業(yè)班質(zhì)量監(jiān)測 (三)歷史試卷
- 2025年安徽衛(wèi)生健康職業(yè)學(xué)院單招職業(yè)適應(yīng)性考試題庫含答案
- 電子煙管理辦法培訓(xùn)課件
- 標準日本語初級教材上冊
- 2025云南昆明空港投資開發(fā)集團招聘7人易考易錯模擬試題(共500題)試卷后附參考答案
- 2025山東能源集團中級人才庫選拔高頻重點模擬試卷提升(共500題附帶答案詳解)
- 政務(wù)信息化可行性研究報告
- 2025年江蘇無錫市惠山國有投資控股集團有限公司招聘筆試參考題庫附帶答案詳解
評論
0/150
提交評論