




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
目錄
【請預(yù)覽再下載】
【附競賽原題講解】
第一部分我的新朋友1
第1課奇怪的電腦2
第2課購買電影票4
第3課建一座金字塔7
第二部分獨木小橋順
序過9
第1課一碗水和一碗油10
第2課計算表面積的神器12
第3課小朋友的平均年齡14
第4課數(shù)字的拆分16
/外讀材料:其它運算符18
第5課可怕的傳染病19
1叫讀材料:常貴21
第6課卡卡的難題22
第7課匪夷所思的結(jié)果24
第8課加密的文字26
A目讀:數(shù)據(jù)類型轉(zhuǎn)換28
第9課格式化輸入輸出29
1
第三部分是真是假做
選擇32
第1課奇數(shù)偶數(shù)我知道33
第2課這不是考試的成績35
第3課這次考試我通過了36
第4課麻煩的火車托運38
綜合練習(xí)41
第四部分省時省力的
循環(huán)46
第1課快速輸出法47
第2課這種計算方法真快49
第3課循環(huán)與分支的結(jié)合50
第4課什么是素數(shù)51
第5課無從下手的愉入53
第6課輾轉(zhuǎn)相除法54
綜合練習(xí)55
第7課堆出一個三角形57
第8課階乘之和59
第9課100-200以內(nèi)的素數(shù)60
第五部分太多的變量
62
第/課還是交換蘋果63
2
綜合練習(xí)65
第2課開關(guān)燈問題67
第3課約瑟夫問題69
第4課排序問題(選擇排序)71
第5課排序問題(冒泡排序)73
第6課判斷回文數(shù)75
綜合練習(xí)77
閱讀:二維數(shù)組79
第六部分重復(fù)使用語
句塊81
第1課函數(shù)的準(zhǔn)備知識82
第2課再談變量值的交換185
第3課再談變量值的交換286
第4課最大公約數(shù)88
第5課省力的排序90
閱讀:仝局變量和局部變量91
第6課你植了多少棵樹93
綜合練習(xí)95
第3課遞歸算法97
第七部分多個變量捆
綁一起100
第1課結(jié)構(gòu)體變量101
第2課結(jié)構(gòu)體數(shù)組104
3
第八部分文件操作
114
第九部分常見算法
118
1、桶排序118
2、排序與去重120
3、模擬算法122
4、貪心算法124
5、背包問題125
6、動態(tài)規(guī)劃131
7、高精度算法134
4
第一部分我的新朋友
■
C++語言簡介
信息學(xué)奧林匹克競賽是一項益智性的競賽活動,核心是考查選手
的智力和使用計算機(jī)解題的能力,選手首先應(yīng)針對競賽題目的要求構(gòu)
建數(shù)學(xué)模型,進(jìn)而構(gòu)造出計算機(jī)可以接受的算法,之后編寫出計算機(jī)
能夠執(zhí)行的程序。
程序設(shè)計是信息學(xué)競賽的基本功,選手參與競賽活動的第一步是
熟練掌握一門程序設(shè)計語言,目前競賽中允許使用的程序設(shè)計語言有
C語言、C++語言、Pascal。
C++由美國AT&T貝爾實驗室的本賈尼?斯特勞斯特盧普博士在
20世紀(jì)80年代初期發(fā)明并實現(xiàn)(最初這種語言被稱作“Cwith
Classes"帶類的C)。開始,C++是作為C語言的增強(qiáng)版出現(xiàn)的,從給
C語言增加類開始,不斷的增加新特性。今天C++已成為世界主流編
程語言之一。
C++語言的特點:(1)語言簡潔緊湊,使用靈活方便;(2)運算
符豐富;(3)數(shù)據(jù)結(jié)構(gòu)豐富;(4)結(jié)構(gòu)化語言;(5)生成的代碼質(zhì)量
高(6)可移植性強(qiáng)。
C++編程第一部分我的新朋友
第1課奇怪的電腦
卡卡的電腦上多出了一個文件,
打開一看,電腦屏幕上出現(xiàn)了幾個字
“卡卡,你好!。真奇怪,這是怎么做
到的?一定是西西弄的,西西可是電
腦高手。西西說,這是他用C++寫的一
個小程序。
例1|在屏幕上輸出"HelloWorld!”。
代碼注釋備注
#include<iostream>//調(diào)用iostream庫
頭文件部分
usingnamespacestd;//使用std命名空間
intmain(){//int類型的主函數(shù)
cout<<z,HelloWorld!”;//輸出"HeiIoWorld!"主函數(shù)部分包括:
rptnrn0;〃返回值0,結(jié)束整個程序intmain()?}
)〃主函數(shù)結(jié)尾
運行結(jié)果:
HelloWorld!
在此程序中包括頭文件、注釋、主函數(shù)、輸出、
返回值等部分,有時根據(jù)需要還可能有輸入、子函數(shù)
等部分。
\______________________________7
上派西校區(qū)校本教材第一部分我的新朋友
“這也太難了吧!”卡卡說。西西:“其實一下子讓你明白這么
多很不容易,但是你不必太在意,你只要把你想讓電腦說的話,寫
在引號里面就好了?!笨ㄕf:“以后多教教我,我也要學(xué)習(xí)C++」
|做一做|填空:
(1)C++語句,除了少數(shù)幾個地方,每句話以結(jié)尾;(逗
號、句號、分號)
(2)調(diào)用庫在(尖括號、小括號)內(nèi);
(3)main后面有一對后面再一對(小括
號、大括號);
(4)cout后面的符號是“”;(?,?)
(5)C++語句中所有字符和符號均為(中文、英文)。
(6)C++程序通常有、、
、等部分。
|做一做|試著寫一個C++程序,輸出:“卡卡,你好!
C++編程第一部分我的新朋友
第2課購買電影票
電影院出了新電影,明天正好
是周末,可以一飽眼福了,卡卡邀請
了幾個好朋友去看電影,電影票每
張10元,他該準(zhǔn)備多少電影票錢
呢?
在例1中,輸出的內(nèi)容是不用
計算的,其實C++程序還具有處理數(shù)學(xué)計算的功能呢!
例2|已知一位小朋友的電影票價是10元,“算x位小朋友的總票
價是多少?
解題:卡卡想每張票是10元,那么x位小朋友就是10*x元,雖
然他知道怎么算電影票錢,可是程序該怎么寫呢?卡卡請教了西西。
西西操作如下:
(1)打開Dev-C++軟件;
(2)文件〉新建〉源代碼;
(3)寫入代碼,然后保存在桌面;
上派西校區(qū)校本教材第一部分我的新朋友
3^21-Dev-C--5.11
文件舊嫡制EJ球素⑸強(qiáng)M?B(P]運行RJia(T)AStyle
□?自購包卸昌回四回歸■■l司
朝。]I(global*),|
項目m理口
1#include<iol5tream>
#include<cstdio>
3usingnamespacestd;
intmain(){
5
(4)然后點編譯、運行;
^□[W]智助舊]
7盡早由羽加
(5)對程序進(jìn)行了測試和調(diào)試。
L?Jl—l-
統(tǒng)l.cpp|
L#include<iostream>
2#include<cstdio>■C:\Users\tws\Dcktop際俶
3usingnamespace
,早intmain(){Hello,World!
>cout<<"Hello,World!'*;
jreturn0;Processexited
7L}陪林仟意鍵繼續(xù).
#include<iostream>
usingnamespacestd
intmain(){
intx,s;//定義X和S兩個整數(shù)變量,其中X表示小朋友
的位數(shù),s表示總票價
cin?x;//'輸入小朋友的位數(shù),存放在變量x中
s=10*x;〃計算總票價存放于s中,總票價二單張票價X小朋
友的位數(shù)
cout?s;〃輸出總票價
return0;不、
C++編程第一部分我的新朋友
說明:在例2中加入了新的朋友int和cin,int是一種整數(shù)類
型的說明符,cin是一種輸入符號,注意cin后面的符號是“>>”,細(xì)
心的同學(xué)可能發(fā)現(xiàn)cin與cout后面的符號正好相反。
使用C++編程大致有以下環(huán)節(jié):(1)啟動開發(fā)環(huán)境;
(2)新建源程序;(3)保存源程序到硬盤;(4)編譯、弋&>[
、運行;(5)調(diào)試程序。)
這個內(nèi)容有點燒腦了,卡卡認(rèn)真的把這個程序看了幾遍,一遍看
代碼一邊讀西西給的注釋,“有點明白了”卡卡說,“但是‘輸入'是
什么意思?。俊陛斎刖褪悄愀嬖V電腦有幾位小朋友,不過是通過鍵盤
打入數(shù)字告訴電腦的,西西說完給卡卡留了一道難題。我正想去看電
影呢...
|做一做|填空:
使用Dev_C++編程大致有以下幾個環(huán)節(jié):(1);(2)
;(3);(4);
(5)o
卜故一做|有一個牧場,牧場上的牧草每天都在勻速生長,這片牧場
可供15頭牛吃20天,或可供20頭牛吃10天,那么,這片牧場每天
新生的草量可供幾頭牛吃1天?輸出你的計算結(jié)果。
上派西校區(qū)校本教材第一部分我的新朋友
第3課建一座金字塔
電影結(jié)束了,給卡卡留下最深的印象就是壯觀的金字塔,我回家
也要用C++,在電腦上造一座金字塔。
例2中C++程序處理了數(shù)學(xué)的計算,
其實C++還可以處理字符。
例3|給定一個字符,用它構(gòu)造一個
底邊長5個字符,高3個字符的等腰字符三角形。例如給定的字符是
那么輸出:
#
###
#####
解題:
#include<iostream>
usingnamespacestd;
intmain(){
chara;〃定義字符變量,
cin?a;〃輸入給定一個字符
cout?z,^?a?endl;//輸出2個空格、1個字符和換行
cout<<""<<a<<a<<a<<endl;//輸出1個空格、3個字符和換行
cout?a?a?a?a?a;//輸出5個字符
return0;
C++編程第一部分我的新朋友
)
說明:在本例中,新朋友加入,Char是字符型變量的說明符。
感興趣的同學(xué)可以試試把char換成int還能完成任務(wù)嗎?
你有什么發(fā)現(xiàn)?
chara;的功能是
cin?a;的功能是
而cout〈〈a;的功能是
用指定的字符輸出一個三角形,如給定字符“+”,則輸出:
+
++
+++
第二部分獨木小橋順序過
而下的順序依次執(zhí)行一次,這種自上而下依次執(zhí)
。要學(xué)好順序結(jié)構(gòu)程序設(shè)計,先要學(xué)習(xí)C++
語言的基本語句,并且在學(xué)習(xí)過程中逐步學(xué)會程序設(shè)計的基本方法。
本部分內(nèi)容主要介紹賦值語句、運算符、變量與常量、輸入與輸
出、數(shù)據(jù)類型等內(nèi)容。
C++編程第二部分獨木小橋順序過
第1課一碗水和一碗油
例4|數(shù)值交換,輸入兩個正整數(shù)a和b,試交換a、b的值(使a
的值等于b,b的值等于a)。
一碗水和一碗油,怎么把
水和油換到對方的腕里面呢?
答案是借助第三只腕。所以我
們這里交換a和b的值,借助
第三個變量c。
解題:
itinclude<iostream>
usingnamespacestd;
intmainO{
inta,b,c;〃先定義三個變量
cin?a?b;//分別輸入a、b的值
c=a;//先將a賦值給c(c相當(dāng)于空碗),暫時存起來
a=b;〃再把b賦值給a
b=c;〃最后把暫存在c的數(shù)據(jù)賦值給b
cout?a?/z"<<b;//輸出a、空格、b
return0;
)
測試:輸入35輸出53o
此方法后面還有用到,同學(xué)們要能領(lǐng)會。
10
上派西校區(qū)校本教材第二部分獨木小橋順序過
|試一試|把C賦值給b以后,c是多少了?猜猜看,然后把coutHc;
加入到程序中驗證下你的猜想。
賦值語句簡單的說就是給變量具體的值,這個值可以直接給,也
可以間接算出來,是由賦值表達(dá)式再加上分號構(gòu)成的表達(dá)式語句。
賦值語句語法:
變量二表達(dá)式;
\/
(1)賦值運算符“二”右邊的表達(dá)式還可以是賦值表達(dá)式,例如,
“a=b=c=d=e=5;"。
(2)在進(jìn)行賦值運算時,先計算等號右邊的值,再將值賦給左
邊的變量,如果類型不同會更改類型后賦值。
「故.做|觀看下面代碼,推算結(jié)果:
a=l;
b=2;
a=b;
b=a;
結(jié)果:a=、b=
愉一做M在有5個小朋友圍成一圈,已知各小朋友的蘋果數(shù)(輸
入),每位小朋友把自己的蘋果給他右邊的小朋友。一輪結(jié)束后,輸
出各小朋友蘋果數(shù)。(測試:輸入13579輸出71359)
C++編程第二部分獨木小橋順序過
第2課計算表面積的神器
今天數(shù)學(xué)課上,卡卡學(xué)了
圓柱體的表面積計算公式,可是
算起來好煩。卡卡想:我能不能r一d
把這個計算公式與入C++里囪,
只要我給出電腦圓柱體的底面
半徑和高,電腦就會算出表面
積。可是到現(xiàn)在,我只會用整數(shù),現(xiàn)在出現(xiàn)小數(shù)又該怎么辦呢?
例5|求圓柱體的表面積,輸入底面半徑r和高h(yuǎn),輸出圓柱體的表
面積,保留3位小數(shù)。圓柱體表面積的公式是:
s=2*3.14159*r*r+2*3.14159*r*h
樣例輸入:3.59
樣例輸出:274.889
#include<cstdio>//使用printf或scanf,須調(diào)用cstdio庫
usingnamespacestd;
intmain()
doubler,h,si,s2,s;//先定義雙精度實型,可以存放小數(shù)
cin?r?h;
sl=3.14159*r*r;〃利用公式計算底面積并賦值
s2=2*3.14159*r*h;//利用公式計算側(cè)面積并賦值
〃計算總的表面積并賦值
printfC%0.31f*,s);//輸出結(jié)果保留3位小數(shù),注意」
上派西校區(qū)校本教材第二部分獨木小橋順序過
double用If占位符
return0;
)
做_/N將printf(〃%0.31f\n〃,s);更改成cout*s;會出錯嗎?為
什么?錯誤修正以后結(jié)果是什么?
I做一做I填空:
(1)保留2位小數(shù)輸出輸出變量a的語句為:
printf();
(2)使用cout調(diào)用的庫是;使用printf
調(diào)用的庫是;
|做一做|數(shù)學(xué)中經(jīng)典的“雞兔同籠”問題,已知頭共30個,腳共90
只,問籠中的雞和兔各有多少只?輸出雞和免的個數(shù)。(輸出1515)
C++編程第二部分獨木小橋順序過
第3課小朋友的平均年齡
例6|輸入2個整數(shù),小朋友的總年齡a利小朋友的個數(shù)b,輸出平
均年齡。例如輸入18和5,結(jié)果是3.6。
解題:
#include<iostream>
usingnamespacestd;
intmain(){
inta,b;〃先定義變量
doublec;〃因為除法可能會產(chǎn)生小數(shù),所以結(jié)果定義成浮
點數(shù)(小數(shù))
cin?a?b;
c=l.0*a/b;//a和b都是整數(shù),除法運算的結(jié)果還是整數(shù),
所以先乘上1.0
cout?c;
return0;
)
、
在變量的使月中,必須符合“先定義后使用”的原
則。相同類型的變量的計算結(jié)果還是同類型的。
睜一回去掉1.0以后結(jié)果如何?去掉1.0以后使用保留一位小數(shù)
輸出結(jié)果又是怎樣的?先猜一猜結(jié)果,再驗證一下你的結(jié)果。如果把
上派西校區(qū)校本教材第二部分獨木小橋順序過
c設(shè)置成int類型或者改輸出為cout?a/b*l.0結(jié)果又會是什么呢?
常用運算符分類:
算術(shù)運算符:+、-、*、/、%、++、一
關(guān)系運算符:>、>二、<、<二、二二、!二
邏輯運算符:“、&&、!
賦值運算符:二
條件運算符:?:
逗號運算符:,
除法運算符如果a、b是兩個整數(shù)類型的變量或常量,那
么a/b的值是a除以b的商。注意:整形/整形=整形,實數(shù)/整形=實
數(shù),例如,5/2的值是2,而不是2.5,而5.0/2或5/2.0的值是
2.5o
卜故一做|變量的使用必須符合的原則。
整數(shù)/整數(shù)=,實數(shù)/整形二。
|做一做|輸入三個整數(shù)a、b、c,輸出(a+b)/c的值結(jié)果保留3位
小數(shù)。(測試:輸入345輸出1.400o)
C++編程第二部分獨木小橋順序過
第4課數(shù)字的拆分
例7|將指定的三位數(shù),百位、十位、個位分開輸出以一個空格隔
開。(測試:輸入239輸出239)
解題思路:對這個三位數(shù)用10除取余數(shù),余數(shù)就是個位;對這
個三位數(shù)先用10除,結(jié)果是去掉個位的兩位數(shù),然后再用10取余就
是十位;對這個數(shù)直接除100就是百位。
#include<iostream>
usingnamespacestd;
intmain(){
intn,a,b,c;
cin?n;
a=n%10;〃取個位時直接用10除求余數(shù)
b=n/10%10://取十位時,先用10整除,然后用10取余
c=n/100;〃取百位時直接用100整除
cout?c<<"/z?a;
return0;
)
模運算符“%”:求余的運算符””也稱為模運算符,是雙目運
算符,兩個操作數(shù)都是整型數(shù)。a%b的結(jié)果是a除以b的余數(shù)。此方
法以后還有用到,可用于數(shù)字反轉(zhuǎn)、回文數(shù)、統(tǒng)計數(shù)字出現(xiàn)的個數(shù)等
上派西校區(qū)校本教材第二部分獨木小橋順序過
假一做I帶余除法:給定被除數(shù)和除數(shù),求整數(shù)商及余數(shù)。
輸入:一行,包含兩個整數(shù),依次為被除數(shù)和除數(shù)(除數(shù)非零),
中間用一個空格隔開。
輸出:一行,包含兩個整數(shù),依次為整數(shù)商和余數(shù),中間用一個
空格隔開。
(測試:輸入103輸出31)
|做一做|將指定的四位數(shù),個位、十位、百位、千位分開輸出以一個
空格隔開。(測試:輸入1234輸出1234)
|思考|租車。輸入學(xué)生數(shù),每5人一車,要租多少車?(測試:輸入
10輸出2,或者輸入8輸出2)
|思考|三位數(shù)拆分后變成的三個一位數(shù),如何能重新組合變成一個
三位數(shù),并且個位與百位對調(diào)。(輸入239輸出932)
C++編程第二部分獨木小橋順序過
閱讀材料:其它運算符
1、關(guān)系運算符
關(guān)系運算符用于數(shù)值的大小比較。包括大于(>)、小于(0、等于
(=)、大于等于(>二)、小于等于(<二)和不等于(!二)六種,它們都是雙
目運算符。關(guān)系運算符運算的結(jié)果是整型,值只有兩種:0或1,0代
表關(guān)系不成五,1代表關(guān)系成立O
2、邏輯運算符
C++語言中提供了三種邏輯運算符:與運算(&&)、或運算(||)、
非運算(!)。與運算符(&&)和或運算符(||)均為雙目運算符,具有左
結(jié)合性。非運算符(!)為單目運算符,具有右結(jié)合性。邏輯運算的值
也為“真”和“假”兩種,用“1”和“0”來表示。
說明:(1)與運算&&參與運算的兩個量都為真時,結(jié)果才為真,
否則為假。例如,5>0&&4>2
⑵或運算||參與運算的兩個量只要有一個為真,結(jié)果就為真。
兩個量都為假時,結(jié)果為假。例如:5>0||5>8
⑶非運算!參與運算量為真時,結(jié)果為假;參與運算量為假時,
結(jié)果為真。例如:!(5>0)
按照運算符的優(yōu)先順序可以得出:
a>b&&c>d等價于(a>b)&&(c>d)
!b==c||d<a等價于((!b)=c)||(d<a)
a+b>c&&x+y<b等價于((a+b)>c)&&((x+y)<b)
注意優(yōu)先級順序:算術(shù)〉關(guān)系〉邏輯〉賦值
18
上派西校區(qū)校本教材第二部分獨木小橋順序過
第5課可怕的傳染病
例8忖于傳染病要做到早發(fā)現(xiàn),早診斷,早隔
離,早治療。請根據(jù)報告的甲流確診數(shù)和死亡數(shù),
計算甲流的死亡率。
輸入:輸入僅一行,有兩個整數(shù),第一個為確診數(shù),
第t二個為死亡數(shù)。輸出:輸出僅一行,甲流死亡率,以百分?jǐn)?shù)形式輸
出,精確到小數(shù)點后3位。
樣例輸入:1043360
樣例輸出:0.575%
解題:
#include<iostream>
#include<cstdio>
usingnamespacestd;
intmainO(
inta,b;//定義2個整型變量存放患病數(shù)和死亡數(shù)
doublec;//定義雙精度浮點型變量,存放死亡率
cin?a?b;//輸入患病人數(shù)和死住人數(shù)
c=100.0*b/a;//計算死亡率
printf(〃%0.31f%c",c,'%');//輸出,注意單獨的“%”的輸出
C++編程第二部分獨木小橋順序過
變量的值是可以改變的,因此稱為變量。一個程序中可能要使用
到若干個變量,為了區(qū)別不同的變量,必須給每個變量取一個名(稱
為變量名),變量中值的類型為變量的類型。
1、變量三要素類型、名稱和值
2、變量命名規(guī)則只能由字母、數(shù)字和下劃線構(gòu)成
最多255個字符。變量要遵循“先定義后使用的原則”。
變量名區(qū)分大小寫,而且不能使用C/C++語言中的
關(guān)鍵字。例如int、for等。
3、變量的定義
語法格式為:數(shù)據(jù)類型變量表y
變量定義舉例:
doublex;//定義1個雙精度浮點型變量x
chara,b,c;〃定義3個字符型變量a、b和c
inti=5,j,k;〃一次定義3個整型變量i、J和k,i賦予初始
統(tǒng)計及格率,語文考試結(jié)束了。能否根據(jù)班上的人數(shù)和及
格人數(shù),求出及格率呢?結(jié)果保留2位小數(shù)(測試:輸入5042輸出
84.00%)
20
上派西校區(qū)校本教材第二部分獨木小橋順序過
閱讀材料:常量
常量是指在程序中值只能賦予第一次:然后不能被更改。
1、整型常量
1)十進(jìn)制形式:數(shù)字/9開頭如99
2)八進(jìn)制形式:數(shù)字0開頭如017
3)十六進(jìn)制形式:Ox開頭如OxFF
2、實型常量:小數(shù)法和科學(xué)計數(shù)法
如:2.1或者0.6E+2
3、字符常量:單引號括起來的如;a'
常量的定義:一個常量可以直接調(diào)用(如124,1A1),也可以給常
量取個名字用一個標(biāo)識符代表它,這就是符號常量。其語法格式為:
const符號常量二常量字串;
例如:constdoubIePI=3.1415926;
注意
習(xí)慣上,符號常量名用大寫,而變量名用小寫,以便于區(qū)別c使
用符號常量的好處:
(1)增加了程序的可讀性。
(2)增加了程序的易改性。
C++編程第二部分獨木小橋順序過
第6課卡卡的難題
例9卜十算(calc)(2017縣賽第一題)
西西同學(xué)從四年級就開始學(xué)習(xí)
信息學(xué),通過信息學(xué)的學(xué)習(xí),她掌
握了很多有關(guān)電腦的知識,慢慢成
為了班級里的電腦高手??ㄍ瑢W(xué)
也很想學(xué)電腦,但是他一直有個疑
問:計算機(jī)與計算器有什么區(qū)別?西西同學(xué)解釋:計算機(jī)較之計算器
功能更強(qiáng)加,通過程序設(shè)計可以很方便的實現(xiàn)計算器的計算功能。卡
卡疑問道:我們剛剛學(xué)習(xí)了四則運算,電腦能幫助計算a*(b+c)
嗎?西西擺擺手說:太簡單了。各位同學(xué)你能夠通過程序設(shè)計的方式
解決這個問題嗎?
輸入:輸入數(shù)據(jù)只有1行,有三個用空格分開的整數(shù),分別表示
a、b和c。
輸出:輸出數(shù)據(jù)只有1行,為a*(b+c)的結(jié)果。
樣例:
輸入:(calc,in)
234
輸出:(calc,out)
14
,數(shù)據(jù)范圍:
對于20%數(shù)據(jù)0<a,b,eWIOOO
22
上派西校區(qū)校本教材第二部分獨木小橋順序過
對于4096數(shù)據(jù)0<a,b,cW100000
對于100%數(shù)據(jù)0<a,b,c^1000000000
解題:
#include<iostream>
usingnamespacestd;
intmain(){
longlonga,b,c,d;//許多同學(xué)設(shè)置成int,沒考慮到結(jié)果d
可能超過int的范圍
cin?a?b?c;
d=a*(b+c);
cout?d;
return0;
)
數(shù)據(jù)
定義標(biāo)識符占字節(jié)數(shù)數(shù)值范圍數(shù)值范圍
類型
-2147483648-
整型[long]int4(32位)-2”?2”-1
2147483647
超長longlong-9223372036854775808
8(64位)-2心?263T
整型[int]9223372036854775807
許多同學(xué)看到10-9,很容易想到定義int夠用了,沒想到結(jié)果
超過了最大可能會到10*18,遠(yuǎn)遠(yuǎn)超過了int的范圍。
「故,做|計算長方形的面積,輸入長和寬(范圍0<二長、寬C1CT8),
計算長方形的面積。(測試:輸入10000002000000輸出
2000000000000)A
-
23
C++編程第二部分獨木小橋順序過
第7課匪夷所思的結(jié)果
|試一試|輸入并查看運行結(jié)果(結(jié)果0.330.00)
#include<iostream>
usingnamespacestd;
intmain(){
doublea,b;
a=1.0/3;
b=l/3;
printf("%.21f%0.21f”,a,b);
return0;
)
同樣是1除3結(jié)果卻不一樣,奇怪!原來相同類型的變量(或數(shù)
值)計算結(jié)果類型不變。
|試一試|計算1/3,分別存入float和double變量中,保留12位
小數(shù)輸出這2個變量。(結(jié)果0.333333343267和0.333333333333)
還是1除3,小數(shù)部分竟然不都是3,有貓膩!
數(shù)據(jù)類
定義標(biāo)識符占字節(jié)數(shù)數(shù)值范圍有效位數(shù)
型
單精度
float4(32位)-3.4E-38?3.4E+386?7位
實型
雙精度15?16
double8(64位)-1.7E-308-1.7E+308
實型位
長雙精18?19
longdouble16(128位)-3.4E+4932?1.1E+4932
度實型位
上派西校區(qū)校本教材第二部分獨木小橋順序過
I試一試|輸入下面代碼并且查看運行結(jié)果(結(jié)果10)
#include<iostream>
usingnamespacestd;
intmain(){
boola,b;
a=5;
b=l>3;
cout?a?w”?b;
return0;
)
又是一個不可理解,難道我的電腦故障了?布爾變量的賦值:非
0為真,0為假;布爾變量的值真為1,假為0。
數(shù)據(jù)類型定義標(biāo)識符占字節(jié)數(shù)數(shù)值范圍
布爾變量bool真true或假false之一1(8位)
C++編程第二部分獨木小橋順序過
第8課加密的文字
例J10I大小字母轉(zhuǎn)換。輸入一個小寫字母,轉(zhuǎn)換成大寫字母后輸出。
(測試:輸入a輸出A)
解題:
#include<iostream>
usingnamespacestd;
intmain(){
chara,b;
cin?a;
b=a-32;//'從字符ASCII表可以看出對應(yīng)的小寫比大寫的值
大32
cout?b;
return0;
)
這里如果變化加密的方式,只有自己或者互相有約定的對象才能
讀懂了。
字符常量有以下兩種表示法:
(1)普通表示形式
字符常量是由單個字符組成,所有字符采用ASCII編碼,ASCII
編碼共有128個字符O在程序中,通常用一對單引號將單個字符括起
’來港示一個字符常量o如:‘a(chǎn)','A','0'等。如字符A的序號是65,
■字符a的序號是97.字符。的序號的48。一
、26
上派西校區(qū)校本教材第二部分獨木小橋順序過
序號字符序號字符序號字符序號字符序號字符序號字符
32空格48064@80P96112P
33149165A81Q97a113q
3450266B82R98b114r
35#51367c83S99c115s
36$52468D84T100d116t
37%53569E85U101e117u
38&54670F86V102f118V
t
3955771G87W103g119w
40(56872H88X104h120X
41)57973I89Y105i121y
42?58,74J90Z106J122z
43+59975K91[107k123(
44960<76L92\10811241
45一61=77M93]109m125)
*
46*62>78N94110n126
47/63?79095—1110127deL
(2)轉(zhuǎn)義字符表示形式。
轉(zhuǎn)義字符有三種用法:表示控制字符、表示特殊字符、表示所有
字符。常用的轉(zhuǎn)義字符如右表所示。
轉(zhuǎn)義字符含義
''n'換行
''t'水平制表
'\r'回車(不換行)
'單引號
雙引號
'\\'一個反斜杠字符
不設(shè)置變量b,直接cout<<a-32;會是怎樣的結(jié)果呢?輸出換成
cout?(char)a-32;又會是怎樣呢?
「故一做|有加密就有解密,將例題中的加密后的文字進(jìn)行解密。(測
試:輸入A輸出a)
帆,做|輸入一個字符,輸出它的ASCii代碼。(測試:輸入a輸出
C++編程
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 湖北省潛江市十校聯(lián)考2025屆初三5月底中考模擬考試英語試題含答案
- 江蘇省連云港東??h聯(lián)考2025屆初三下化學(xué)試題練習(xí)題(三)含解析
- 云南省保山一中2025年高三下學(xué)期單元檢測試題歷史試題含解析
- 2025屆上海外國語大學(xué)附屬中學(xué)高三3月“陽光校園空中黔課”階段性檢測試題英語試題含解析
- 長沙商貿(mào)旅游職業(yè)技術(shù)學(xué)院《植物景觀規(guī)劃設(shè)計》2023-2024學(xué)年第二學(xué)期期末試卷
- 三明醫(yī)學(xué)科技職業(yè)學(xué)院《放射治療學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 山西省忻州市寧武縣2025年三年級數(shù)學(xué)第二學(xué)期期末檢測模擬試題含解析
- 安徽醫(yī)科大學(xué)《特殊兒童醫(yī)學(xué)基礎(chǔ)》2023-2024學(xué)年第二學(xué)期期末試卷
- 鄭州醫(yī)藥健康職業(yè)學(xué)院《病理學(xué)實驗》2023-2024學(xué)年第二學(xué)期期末試卷
- 遼寧財貿(mào)學(xué)院《數(shù)據(jù)分析與處理》2023-2024學(xué)年第一學(xué)期期末試卷
- DL-T 2563-2022 分布式能源自動發(fā)電控制與自動電壓控制系統(tǒng)測試技術(shù)規(guī)范
- (高清版)TDT 1056-2019 縣級國土資源調(diào)查生產(chǎn)成本定額
- 肝性腦病的治療及護(hù)理
- 山東省2023年高考物理模擬(一模、二模)試題知識點訓(xùn)練:電磁學(xué)(多選題)
- 勇毅前行中國經(jīng)濟(jì)行穩(wěn)致遠(yuǎn)
- 業(yè)務(wù)跟單流程課件
- 學(xué)生學(xué)科學(xué)習(xí)與跨學(xué)科知識的整合與拓展
- 水稻的需肥規(guī)律
- 深度學(xué)習(xí)在圖像識別中的應(yīng)用課件
- 養(yǎng)老護(hù)理ppt課件完整版
- 對5S管理成果的記錄和展示
評論
0/150
提交評論