摘要:大家好,今天屁孩君給大家?guī)?lái)入門綜合。年,標(biāo)準(zhǔn)委員會(huì)發(fā)布了語(yǔ)言的第一個(gè)國(guó)際標(biāo)準(zhǔn),該標(biāo)準(zhǔn)即為大名鼎鼎的。年,標(biāo)準(zhǔn)委員會(huì)發(fā)布了一份技術(shù)報(bào)告,詳細(xì)說(shuō)明了計(jì)劃引入的新特性。年月日,經(jīng)過(guò)標(biāo)準(zhǔn)委員投票,標(biāo)準(zhǔn)獲得一致通過(guò)。
大家好,今天屁孩君給大家?guī)?lái)c++入門綜合。
c++是神馬
c++就是一種高級(jí)語(yǔ)言,它是由c語(yǔ)言發(fā)展而來(lái)的,與c并兼容。c語(yǔ)言是1972年由美國(guó)貝爾實(shí)驗(yàn)室設(shè)計(jì)而成的。1890年前后,貝爾實(shí)驗(yàn)室開(kāi)始研發(fā)c++。c++是一種功能請(qǐng)打的混合型程序設(shè)計(jì)語(yǔ)言,利用它既可以進(jìn)行面向過(guò)程的結(jié)構(gòu)化程序設(shè)計(jì),也可以進(jìn)行面向?qū)ο蟮某绦蛟O(shè)計(jì)。
C++編程語(yǔ)言走到今天已經(jīng)有將近40年的歷史了,那么我們今天就來(lái)看看這個(gè)發(fā)展歷程,看我們從一代又一代的C++標(biāo)準(zhǔn)之中能發(fā)現(xiàn)什么秘密吧!我們走進(jìn)C++的世界······
C++的歷史可以追溯到1979年,當(dāng)時(shí)Bjarne Stroustrup(譯者注:C++之父)正在準(zhǔn)備他的博士畢業(yè)論文,他有機(jī)會(huì)使用一種叫做Simula 的語(yǔ)言。顧名思義,Simula語(yǔ)言的主要作用是仿真。Simula 67是Simula語(yǔ)言的一種變種,被公認(rèn)是首款支持面向?qū)ο蟮恼Z(yǔ)言。Stroustrup發(fā)現(xiàn)面向?qū)ο蟮乃枷雽?duì)于軟件開(kāi)發(fā)非常有用,但是因Simula語(yǔ)言執(zhí)行效率低,其實(shí)用性不強(qiáng)。
不久之后,Stroustrup開(kāi)始著手“C with Classes”的研發(fā)工作,“C with Classes”表明這種新語(yǔ)言是在C基礎(chǔ)上研發(fā)的,是C語(yǔ)言的超集。C語(yǔ)言以其高可移植性而廣受好評(píng),且程序執(zhí)行速度以及底層函數(shù)的性能不受程序移植的影響,Stroustrup要做的就是將面向?qū)ο蟮乃枷胍隒語(yǔ)言。新語(yǔ)言的初始版本除了包括C語(yǔ)言的基本特征之外,還具備類、簡(jiǎn)單繼承、內(nèi)聯(lián)機(jī)制、函數(shù)默認(rèn)參數(shù)以及強(qiáng)類型檢查等特性。
Bjarne Stroustrup的第一款“C with classes”編譯器叫Cfront,這個(gè)名字源自一個(gè)叫做Cpre的C編譯器。Cfront的機(jī)理是把“C with classes”的代碼翻譯成原生C代碼。頗為有趣的一點(diǎn)是Cfront源碼大部分是由“C with Classes”編寫,這使得Cfront成為了一種自足執(zhí)行的編譯器(可以編譯自身源碼的編譯器)。由于很難整合C++的異常機(jī)制,Cfront在1993年退出了歷史的舞臺(tái),但是它對(duì)以后C++編譯器以及Unix操作系統(tǒng)的實(shí)現(xiàn)都產(chǎn)生了深遠(yuǎn)的影響。
1983年,“C with Classes”語(yǔ)言更名為C++。C語(yǔ)言中“++”運(yùn)算子的作用是對(duì)一個(gè)變量進(jìn)行遞增操作,由此我們多少可以知曉Stroustrup對(duì)這種新語(yǔ)言的定位。這個(gè)時(shí)期,許多重要的特性被加入,其中包括虛函數(shù)、函數(shù)重載、引用機(jī)制(符號(hào)為&)、const關(guān)鍵字以及雙斜線的單行注釋(從BCPL語(yǔ)言引入)。
1985年,Stroustrup的C++參考手冊(cè)《C++ Programming Language》出版,同年,C++的商業(yè)版本問(wèn)世。由于當(dāng)時(shí)C++并沒(méi)有正式的語(yǔ)言規(guī)范,因此《C++ Programming Language》成了業(yè)界的重要參考。1989年,C++再次版本更新,這次更新引入了多重繼承、保護(hù)成員以及靜態(tài)成員等語(yǔ)言特性。
1990年,《Annotated C++ Reference Manual》發(fā)布,同年,Borland公司的商業(yè)版Turbo C++編譯器問(wèn)世。Turbo C++附帶了大量函數(shù)庫(kù),這一舉措對(duì)C++開(kāi)發(fā)產(chǎn)生了極為深遠(yuǎn)的影響。雖然Turbo C++上一個(gè)穩(wěn)定的版本發(fā)布于2006年,但當(dāng)前該編譯器仍被廣泛使用。
1998年,C++標(biāo)準(zhǔn)委員會(huì)發(fā)布了C++語(yǔ)言的第一個(gè)國(guó)際標(biāo)準(zhǔn)—ISO/IEC 14882:1998,該標(biāo)準(zhǔn)即為大名鼎鼎的C++98。C++98的提出,《The Annotated C++ Reference Manual》功不可沒(méi)。同時(shí),1979年開(kāi)始研發(fā)的標(biāo)準(zhǔn)模板庫(kù)(Standard Template Library,STL)也被納入了該版標(biāo)準(zhǔn)中。2003年,標(biāo)準(zhǔn)委員會(huì)針對(duì)98版本中存在的諸多問(wèn)題進(jìn)行了修訂,修訂后發(fā)布了C++03。
2005年,C++標(biāo)準(zhǔn)委員會(huì)發(fā)布了一份技術(shù)報(bào)告(Technical Report,TR1)詳細(xì)說(shuō)明了計(jì)劃引入C++的新特性。這個(gè)新標(biāo)準(zhǔn)被非正式地命名為C++0x,因?yàn)槠漕A(yù)計(jì)會(huì)在本世紀(jì)第一個(gè)十年的某個(gè)時(shí)間發(fā)布。諷刺的是,直到2011年年中該標(biāo)準(zhǔn)才面世,相應(yīng)的技術(shù)文檔也隨之出爐,一些編譯器廠商也開(kāi)始試驗(yàn)性地支持這些新特性。
2011年中,新的C++標(biāo)準(zhǔn)(C++11)面世。Boost庫(kù)對(duì)該版本影響很大,一些新的模塊甚至直接衍生于Boost中相應(yīng)的模塊。一些新的語(yǔ)言特性,包括正則表達(dá)式(正則表達(dá)式詳情)、完備的隨機(jī)數(shù)生成函數(shù)庫(kù)、新的時(shí)間相關(guān)函數(shù),原子操作支持、標(biāo)準(zhǔn)線程庫(kù)(2011之前,C和C++語(yǔ)言均缺少對(duì)線程的支持)、一種能夠和某些語(yǔ)言中foreach語(yǔ)句達(dá)到相同效果的新的for語(yǔ)法、auto關(guān)鍵字、新的容器類、更好的union支持、數(shù)組初始化列表的支持以及變參模板的支持等等。
2014年8月18日,經(jīng)過(guò)C++標(biāo)準(zhǔn)委員投票,C++14標(biāo)準(zhǔn)獲得一致通過(guò)。C++14標(biāo)準(zhǔn)是‘ ISO/IEC 14882:2014 Information technology – Programming languages – C++’ 的簡(jiǎn)稱 。在標(biāo)準(zhǔn)正式通過(guò)之前,原名C++1y。C++14標(biāo)準(zhǔn)的委員會(huì)草案N3690于2013年5月15日發(fā)表。草案文檔經(jīng)過(guò)一定的文字潤(rùn)色和修正之后,將在年內(nèi)提交給ISO作為正式的C++標(biāo)準(zhǔn)發(fā)布。
C++17 是繼 C++14 之后,C++ 編程語(yǔ)言 ISO/IEC 標(biāo)準(zhǔn)的下一次修訂的非正式名稱。而就在2017-12-5,ISO C++ 委員會(huì)正式發(fā)布了 C++ 17 標(biāo)準(zhǔn),官方名稱為 ISO/IEC 14882:2017?;?C++ 11,C++ 17 旨在使 C++ 成為一個(gè)不那么臃腫復(fù)雜的編程語(yǔ)言,以簡(jiǎn)化該語(yǔ)言的日常使用,使開(kāi)發(fā)者可以更簡(jiǎn)單地編寫和維護(hù)代碼。
Dev-C++是一個(gè)Windows環(huán)境下C/C++的集成開(kāi)發(fā)環(huán)境(IDE),它是一款自由軟件,遵守GPL許可協(xié)議分發(fā)源代碼。它集合了MinGW等眾多自由軟件,并且可以取得最新版本的各種工具支持,而這一切工作都是來(lái)自全球的狂熱者所做的工作。Dev-C++是NOI、NOIP等比賽的指定工具,缺點(diǎn)是Debug功能弱。由于原開(kāi)發(fā)公司在開(kāi)發(fā)完4.9.9.2后停止開(kāi)發(fā),所以現(xiàn)在正由其它公司更新開(kāi)發(fā),但都基于4.9.9.2.Dev-C++ 最新版本:5.11。
頭文件
#include
頭文件是c++程序?qū)ζ渌绦虻膽?yīng)用,本列中的#include就是讓編譯器的預(yù)處理器把這個(gè)輸出輸出流的標(biāo)準(zhǔn)頭文件iostream包含到本程序中,為本程序提供輸入或輸出時(shí)所需要的一些信息。include是預(yù)處理命令,是一個(gè)“包含指令”,它并不是c++中的一個(gè)語(yǔ)句,所以末尾沒(méi)有語(yǔ)句分隔符“;”,使用是以“#”開(kāi)頭。iostream是輸出輸出流的標(biāo)準(zhǔn)頭文件,因?yàn)檫@類文件都是放在程序單元的開(kāi)頭,所以稱為“頭文件”。
命名空間
using namespace std;
是一句指明程序采用的命名空間的指令,表示使用命名空間std(標(biāo)準(zhǔn))中的內(nèi)容。采用命名空間是為了解決多人同時(shí)編寫大型程序是名字產(chǎn)生沖突的問(wèn)題。
主函數(shù)
主函數(shù)是main,main函數(shù)不能重載,也不能調(diào)用自己,每個(gè)程序必須有main函數(shù),而且只能有一個(gè)。
#includeusing namespace std;int main(){ }
main函數(shù)是可以調(diào)用其他函數(shù)的。其它函數(shù)呢是是可以自定義的,函數(shù)呢有自己編寫的,還有編譯器里有的。
輸出與輸入輸出:cout 輸入:cin #includeusing namespace std; int main(){ cout<<"春眠不覺(jué)曉,處處聞啼鳥"<
在c++中,輸出和輸入使用“流”的方式實(shí)現(xiàn)的,在定義流對(duì)象時(shí),系統(tǒng)會(huì)開(kāi)辟一段緩沖區(qū),用來(lái)暫存輸出輸入的數(shù)據(jù)。
cout語(yǔ)句的格式一般為:
cout<<項(xiàng)目1<<項(xiàng)目2<<…<<項(xiàng)目n;
cout語(yǔ)句的作用是將流插入運(yùn)算符“<<”右側(cè)的項(xiàng)目?jī)?nèi)容插入輸出流中,c++系統(tǒng)再將輸出流的內(nèi)容輸出到系統(tǒng)指定設(shè)備(一般為顯示器)上。
cout<<“春眠不覺(jué)曉,處處聞啼鳥”<
cin>>項(xiàng)目1>>項(xiàng)目2>>…>>項(xiàng)目n;
變量,表達(dá)式與賦值語(yǔ)句
題目為:天安門廣場(chǎng)南北長(zhǎng)為880米,東西寬為550米,求天安門面積。
下面這個(gè)是代碼!
#includeusing namespace std; int main(){ int a,b,s; a=880; b=500; s=a*b; cout<<"天安門廣場(chǎng)面積:"; cout<
變量必須先定義后使用。變量a,b,s,它們是整型變量,可一把整數(shù)賦值給a,b,s。若把小數(shù)這樣的非整數(shù)賦值給a,b,s,系統(tǒng)會(huì)自動(dòng)取整,截去小數(shù)部分。
變量名只能由字母,數(shù)字,下劃線3中字符組成,且第一個(gè)字符不能為數(shù)字。變量名是一種標(biāo)識(shí)符。
如果沒(méi)有按照變量名的要求就會(huì)出現(xiàn)這種情況
啊哈哈哈哈哈哈!我們繼續(xù)!
題目是:請(qǐng)?jiān)谄聊簧陷敵?8+870的豎式計(jì)算。
#include#includeusing namespace std;int main(){ int a,b,c; a=18; b=870; c=a+b; cout<
使用setw操作符前,必須包含頭文件iomanip,即#include。頭文件iomanip用來(lái)聲明一些“流操作符”也就是輸出操作符,需要按一定個(gè)事輸出輸入時(shí),就需要用到它,比較常用的有設(shè)置域?qū)挘侵蛔笥覍?duì)齊,是指實(shí)數(shù)的精確度等。
使用setw操作域?qū)挄r(shí),默認(rèn)為左右對(duì)齊,setw操作符只對(duì)直接跟在后面的輸出數(shù)據(jù)起作用。如果輸出數(shù)據(jù)所需的寬度比設(shè)置的域?qū)捫?,默認(rèn)用空格充填;如果輸出數(shù)據(jù)所需的寬度比設(shè)置的域?qū)挻?,輸出?shù)據(jù)并不會(huì)被截?cái)?,系統(tǒng)會(huì)輸出所有位。例如程序中setw(10)在輸出時(shí)分配了10個(gè)字符的寬度,而變量a的知識(shí)18,只有2個(gè)字符寬度,則在前面不八個(gè)空格。
給大家舉個(gè)栗子吧!
if語(yǔ)句是一個(gè)關(guān)系表達(dá)式,關(guān)系表達(dá)式的值是一個(gè)邏輯值,即“真”或“假”,如果條件成立,其值為真;如果
條件不成立,其值為假。如70>=60的值為真,3%2==0為假。
在c++中,數(shù)值非0表示真,也就是數(shù)值不等于0,數(shù)值0表示假,不過(guò)這種只在if語(yǔ)句中存在,比如說(shuō)下面這段,0既可以是真,也可以是假
#includeusing namespace std;int main(){ int a; bool flag; cin>>a; if(a==8) { flag=1; } else { flag=0; } cout<
#includeusing namespace std;int main(){ int a; cin>>a; if(a==7) { cout<<"yes"<
先定義一個(gè)n,再輸入n,如果n等于7,就輸出yes,這個(gè)代碼大家能看懂的呀。那好,我們繼續(xù)。
我們現(xiàn)在開(kāi)始講else,else是個(gè)神馬東東呢,其實(shí),就是if的反義詞,大家猜一下,對(duì)了,就是否則。上代碼!
#includeusing namespace std;int main(){ int a; cin>>a; if(a==7) { cout<<"yes"<
還是先定義一個(gè)n,再輸入n,如果n等于7,就輸出yes,否則就輸出no,注意這里這個(gè)否則是沒(méi)有判斷的,除了前面的一個(gè)if里的除外,都要輸出no,如果有判斷條件呢?上代碼!
#include#includeusing namespace std;int main(){ int a; cin>>a; if(a==7) { cout<<"yes"<
我現(xiàn)在改成了有判斷條件的,輸入9,它神馬也沒(méi)有輸出,因?yàn)槌?和8,它都是神馬也不輸出。
邏輯變量:bool
邏輯變量用關(guān)鍵詞bool定義,所以又稱為布爾變量,其值只有兩個(gè),false(假)和true(真),false和true是邏輯變量,又稱布爾常量。
來(lái)個(gè)題吧!
小靜家里的燈全是線型開(kāi)關(guān),拉一下開(kāi),再拉一下關(guān),小靜覺(jué)得很好玩,有一次連拉了五下,這時(shí)燈是亮的還是滅的呢!
來(lái)吧,給你們個(gè)提示,需要用反向操作!
我現(xiàn)在開(kāi)始公布答案了!
#includeusing namespace std;int main(){ bool a=false;//一開(kāi)始燈是滅的 a=!a;//反向操作 a=!a; a=!a; a=!a; a=!a; if(a==true) { cout<<"亮"<
等我們學(xué)了for循環(huán)以后,就還有一種方法了!
我先給大家看看吧!
#includeusing namespace std;int main(){ bool a=false;//一開(kāi)始燈是滅的 for(int i=1;i<=5;i++)//循環(huán)五次 { a=!a;//反向操作 } if(a==true) { cout<<"亮"<
for循環(huán)呢我定義了一個(gè)局部變量i,i從1開(kāi)始,加到5,剛好5次,每循環(huán)一次就會(huì)反向操作一次。
邏輯運(yùn)算符:與(&&),或(||),非(!),被稱為“與或非三兄弟”。
邏輯與:當(dāng)表達(dá)式進(jìn)行與(&&)運(yùn)算時(shí),兩個(gè)或多個(gè)條件中,只有所有的值均為true(對(duì)),整個(gè)表達(dá)式的值才為true;只要有一個(gè)條件為false,整個(gè)表達(dá)式的值就為false。
邏輯或:當(dāng)表達(dá)式進(jìn)行邏輯或(||)運(yùn)算時(shí),兩個(gè)或多個(gè)條件中,只要有一個(gè)值為true,整個(gè)表達(dá)式的值就為true;只有所有條件都為false時(shí),表達(dá)式的值才為false。
邏輯非:當(dāng)表達(dá)式進(jìn)行邏輯非(?。┻\(yùn)算時(shí),!true的值為false,!false的值為true。
來(lái)給大家一個(gè)超級(jí)簡(jiǎn)單的題做一下
小明和小靜玩報(bào)數(shù)游戲,若小明報(bào)的數(shù)是3和5的公倍數(shù),小靜就說(shuō)歐耶歐耶,其它數(shù)則不出聲。
廢話不多說(shuō),直接上代碼!
#includeusing namespace std;int main(){ int a; cin>>a; if(a%3==0&&a%5==0) { cout<<"歐耶歐耶"<
首先定義一個(gè)a,輸入a,如果a能被3和5整除,就輸出歐耶歐耶。
我們先來(lái)上一段代碼!
#includeusing namespace std;int main(){ bool flag; int a; cin>>a; if((a%4==0&&a%100!=0)||a%4==0) { flag=true; } else { flag=false; } if(flag) { cout<<"yes"<
大家知道是什么題了嗎!
對(duì)了,就是閏年的題!
很多剛接觸c++的朋友可能會(huì)把最后的一個(gè)if語(yǔ)句寫成:
if(flag==true){ cout<<"yes"<
從語(yǔ)法,邏輯,運(yùn)行結(jié)果的角度看,都沒(méi)有錯(cuò),但是flag=true的結(jié)果是布爾型,和flag是一樣的,直接寫“flag”更簡(jiǎn)潔一些。
當(dāng)然把表達(dá)式寫成“flag==1"也是可以的。
我們來(lái)學(xué)習(xí)一下運(yùn)算符三兄弟的優(yōu)先級(jí),優(yōu)先級(jí)由高到低為:!>&&>||。
首先給大家來(lái)點(diǎn)小知識(shí),避免等會(huì)聽(tīng)的云里霧里的,哈哈,switch:條件選擇;開(kāi)關(guān)。case:情況。break:終止。default:默認(rèn);系統(tǒng)默認(rèn)值。
用if語(yǔ)句處理多個(gè)分支時(shí)需使用if-else-if結(jié)構(gòu),分支越多,嵌套的if語(yǔ)句層就越多,程序不但龐大而且理解也比較困難。c++提供了一個(gè)專門用于處理多分支機(jī)、結(jié)構(gòu)的條件選擇語(yǔ)句,稱為switch語(yǔ)句,又稱開(kāi)關(guān)語(yǔ)句。它可以很方便地實(shí)現(xiàn)深層嵌套的if-else。
switch語(yǔ)句一般使用如下格式:
switch(表達(dá)式)
{
case 常量表達(dá)式1:語(yǔ)句1;break;
case 常量表達(dá)式2:語(yǔ)句2;break;
…
case 常量表達(dá)式n:語(yǔ)句n;break;
default:語(yǔ)句 n+1;break;
}
先計(jì)算switch表達(dá)式的值,當(dāng)表達(dá)式的值與某個(gè)case子句中的常量表達(dá)式相匹配時(shí),就執(zhí)行case子句中的內(nèi)嵌語(yǔ)句,并順序執(zhí)行之后的所有語(yǔ)句,直到遇到break語(yǔ)句為止;若所有的case子句中常量表達(dá)式的值都不能與switch表達(dá)式的值相匹配,就執(zhí)行default子句中的內(nèi)嵌語(yǔ)句。
switch后面括號(hào)內(nèi)的表達(dá)式,可以是整型,字符型,布爾型。每一個(gè)case表達(dá)式的值必須不同,否則就會(huì)出現(xiàn)相互矛盾的現(xiàn)象。若各個(gè)case和default子句中都有break語(yǔ)句,則他們的出現(xiàn)次序不影響執(zhí)行結(jié)果,因?yàn)閎reak的作用就是終止,有了break,他一發(fā)現(xiàn)匹配的就會(huì)輸出然后終止,不用再繼續(xù)往下走了;case子句中可一包含多個(gè)執(zhí)行的語(yǔ)句,不必用花括號(hào)括起來(lái)。
接著,來(lái)到題給大家做一下,上代碼!
#includeusing namespace std;int main(){ int m,n,ans; cin>>m>>n; switch(n) { case 0: ans=1;break; case 1: ans=m;break; case 2: ans=m*m;break; case 3: ans=m*m*m;break; case 4: ans=m*m*m*m;break; default: ans=-1;break; } if(ans==-1)cout<<"???"<
如果我輸入5和3,它會(huì)輸出神馬呢?
來(lái),我來(lái)給大家講講,首先它定義了一個(gè)m,n,ans,輸入m和n,第一種情況是n=0,那ans就等于1,第二種情況是n=1,那ans就等于m,第三種情況是n=2,那ans就等于mm,第四種情況是n=3,那ans就等于mmm,第五種情況是n=4,那ans就等于mmmm,default的作用就是如果
以上五種情況都不匹配的話,ans就等于-1,所以輸出的就是125,
for循環(huán)最常用的格式為:
for(循環(huán)變量賦初值;循環(huán)條件;循環(huán)變量增值)
語(yǔ)句;
給大家舉個(gè)栗子,上代碼!
首先定義n和i,把n的初值設(shè)為9,for循環(huán)里i=1;i<=n;i++;for循環(huán)里還有一個(gè)輸出,
所以會(huì)把i輸出。
再來(lái)看看這代碼
他每循環(huán)一次就會(huì)輸出一顆星。
再來(lái)給大家講講雙重循環(huán)
雙重循環(huán)也就是for循環(huán)里再套一個(gè)for循環(huán),大家一定要記住,雙重循環(huán)里千萬(wàn)不要用同一個(gè)變量,不然容易出錯(cuò)。
大家注意看我用紅筆畫的那 ,我用了一個(gè)q。
大家做一下這道題,上代碼!
#includeusing namespace std;int main(){ int i; for(i=1;i<=5;i++) cout<<"*"; cout<
大家算一下。
我現(xiàn)在來(lái)給大家講一下吧!
先定義一個(gè)i,再用一個(gè)for循環(huán),循環(huán)五次,所以就輸出五顆星,最后輸出i,換行,所以輸出來(lái)就是*****6,知道為神馬是6嗎?因?yàn)楫?dāng)i變成五是,它還是滿足條件的,所以它還會(huì)增加。
再來(lái)給大家做一道完善程序
上代碼!
這個(gè)題目求的是1到100的所有整數(shù)。
#includeusing namespace std;int main(){ int i; for(i=1;______;_____) cout<
好了,我來(lái)講一講吧,這道題應(yīng)該挺簡(jiǎn)單的,for(i=1;i<=100;i++)或者也可以寫成for(i=1;i<=100;++i)++i和i++是沒(méi)有區(qū)別的,完全看個(gè)人喜好。
還有一個(gè)重點(diǎn),如果for語(yǔ)句里只有一句,那么可以不用花括號(hào)括起來(lái),只要縮進(jìn)后再寫就行了。
在學(xué)習(xí)continue語(yǔ)句時(shí),我們需要用一段代碼讓大家更好地理解!
這是題目:小靜和朋友們玩一個(gè)游戲,逢7必過(guò),大家圍在一起,從一開(kāi)始報(bào)數(shù),但逢7的倍數(shù)或是尾數(shù)是7,則不去報(bào)數(shù),要喊過(guò)!
上代碼!
#includeusing namespace std;int main(){ for(int i=1;i<=20;i++) { if(i%7==0||i%10==7) { cout<<"過(guò)"<<" "; } else cout<
但是這似乎有點(diǎn)麻煩!
#includeusing namespace std;int main(){ for(int i=1;i<=20;i++) { if(i%7==0||i%10==7) { cout<<"過(guò)"<<" "; continue; } cout<
這是用上了continue的語(yǔ)句,continue的作用為提前結(jié)束本次循環(huán),不用再往下走了,然后跳到下一次循環(huán)里,但不是終止整個(gè)循環(huán),只是跳過(guò)循環(huán)體中下面尚未執(zhí)行的語(yǔ)句,接著進(jìn)行下一次是否執(zhí)行循環(huán)的判定,如果能被7整除或末尾是7就輸出過(guò),并且跳到下一次循環(huán)里!
break語(yǔ)句是提前結(jié)束整個(gè)循環(huán)過(guò)程,不在判斷執(zhí)行循環(huán)的條件是否成立。continue語(yǔ)句只是結(jié)束本次循環(huán),而不是終止整個(gè)循環(huán)的執(zhí)行。
有時(shí)候,我們做有些題目時(shí)要用到while循環(huán)的死循環(huán),為神馬不用for循環(huán)呢?for循環(huán)不能一直運(yùn)轉(zhuǎn)下去,而while循環(huán)是可以一直運(yùn)行的,之中情況就叫死循環(huán),而有時(shí)會(huì)不小心出發(fā)死循環(huán),那你就涼涼嘍!不用怕,只要你仔細(xì)就不會(huì)錯(cuò)的啦!
先來(lái)上段代碼!
#includeusing namespace std;int main(){ int n=1; while(n<10) { cout<
這代碼就是輸出1到10的數(shù)。
接下來(lái)給大家看一下死循環(huán)的代碼!大家知道制造死循環(huán)需要那幾點(diǎn)需求嗎,其實(shí)只要一點(diǎn)就夠了,就是while循環(huán)后面的圓括號(hào)里的數(shù)一定要大于0,
#includeusing namespace std;int main(){ while(1) { cout<<"點(diǎn)個(gè)關(guān)注吧!"<
大家可以去測(cè)試一下這個(gè)代碼的結(jié)果呦!
還可以這樣寫!
#includeusing namespace std;int main(){ while(100) { cout<<"點(diǎn)個(gè)關(guān)注吧!"<
結(jié)果都是一樣的。
大家知道多重循環(huán)是神馬嗎?其實(shí)雙重循環(huán)跟普通的循環(huán)差不多,只是在單個(gè)循環(huán)里再嵌套幾個(gè)循環(huán),其實(shí)循環(huán)可以隨便有幾個(gè),只要你不崩潰!
給大家舉個(gè)栗子!
#includeusing namespace std;int main(){ int n,i,num; for(i=1;i<=10;i++) { for(n=1;n<=i;n++) { num=num+n; } } cout<
這段代碼會(huì)輸出220。
#include
using namespace std;
int main()
{
int n,i;
for(i=1;i<=10;i++)
{
for(n=1;n<=i;n++)
{
cout<<“點(diǎn)個(gè)關(guān)注吧!”<
}
return 0;
}
大家可以去編譯器里看一下結(jié)果(逃)
再給大家來(lái)段代碼!
#includeusing namespace std;int main(){ int i,j; for(i=1;i<=9;i++) { for(j=1;j<=i;j++) cout<
大家看這段是不是很眼熟,對(duì)啦,就是乘法表,大家可以好好背一下哦?。ㄌ樱?/p>
c++提供了數(shù)組的功能,來(lái)處理有內(nèi)在聯(lián)系和相同屬性的數(shù)據(jù)。
定義一維數(shù)組的一般形式為:
類型名 數(shù)組名[常變量表達(dá)式];
如a[10];這就定義了一個(gè)數(shù)組a,其包含a[0],a[1],a[2],…,a[9] 10個(gè)數(shù)組元素。
數(shù)組名的命名規(guī)則和變量名一樣,遵循標(biāo)識(shí)符命名規(guī)則;在數(shù)組定義是用方括號(hào)括起來(lái)的常變量表達(dá)式的值表示元素的個(gè)數(shù),即數(shù)組長(zhǎng)度,下標(biāo)從0開(kāi)始,如上例最后一個(gè)元素是a[9],而不是a[10];如果在程序中使用了超過(guò)范圍的元素,那結(jié)果就會(huì)產(chǎn)生錯(cuò)誤,但不會(huì)報(bào)錯(cuò),在數(shù)組元素訪問(wèn)時(shí),用方括號(hào)括起來(lái)的表達(dá)式表示元素的下標(biāo);數(shù)組往往與循環(huán)語(yǔ)句結(jié)合使用。
好了,屁孩君就給大家分享到這里了!我們下次再見(jiàn)!
?
?
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/121280.html
人生苦短,我用Python 開(kāi)發(fā)環(huán)境搭建安裝 Python驗(yàn)證是否安裝成功安裝Pycharm配置pycharm 編碼規(guī)范基本語(yǔ)法規(guī)則保留字單行注釋多行注釋行與縮進(jìn)多行語(yǔ)句數(shù)據(jù)類型空行等待用戶輸入print輸出 運(yùn)算符算術(shù)運(yùn)算符邏輯運(yùn)算符成員運(yùn)算符身份運(yùn)算符運(yùn)算符優(yōu)先級(jí) 字符串訪問(wèn)字符串中的值字符串更新合并連接字符串刪除空白startswith()方法endswith()方法字符串格式化...
摘要:關(guān)于環(huán)境的安裝我已經(jīng)寫了多篇文章,比如的開(kāi)發(fā)環(huán)境搭建條消息安裝和浩博客的開(kāi)發(fā)環(huán)境搭建條消息安裝和浩博客的歷史版本下載條消息歷史版本浩博客,如果不想使用最新的版本,可以找到以前的版本。 ...
文章目錄 強(qiáng)烈推薦系列教程,建議學(xué)起來(lái)!! 一.pycharm下載安裝二.python下載安裝三.pycharm上配置python四.配置鏡像源讓你下載嗖嗖的快4.1pycharm內(nèi)部配置 4.2手動(dòng)添加鏡像源4.3永久配置鏡像源 五.插件安裝(比如漢化?)5.1自動(dòng)補(bǔ)碼神器第一款5.2漢化pycharm5.3其它插件 六.美女背景七.自定義腳本開(kāi)頭八、這個(gè)前言一定要看九、pyt...
閱讀 3499·2021-11-12 10:36
閱讀 2857·2021-11-11 16:55
閱讀 3137·2021-09-27 13:36
閱讀 1698·2021-08-05 10:01
閱讀 3654·2019-08-30 15:55
閱讀 867·2019-08-30 13:01
閱讀 1987·2019-08-29 17:16
閱讀 2470·2019-08-29 16:40