1樓:匿名使用者
問題1解答:
retrun就是返回的意思,舉個例子,比如你請人幫你做一件事,做完後他是不是該給你個答覆啊,函式就好比是可以完成某個任務人一樣,你呼叫函式幫你做某事,而它用return把結果返回給你,例程:
//返回值型別為int型,這個函式計算兩個引數的和並返回
int sum( int a, int b )
int k0 = 10;
int k1 = 20;
int c = sum(k0, k1);//執行完這句後c=30,想想為什麼
關於void,生活中是不是有這樣一種情況,我告訴你去做某事,無論成功失敗我都不關心,所以你也不必在做完後跑來告訴我。所以返回值型別為void的函式就不需用return語句返回結果了。
你所說的函式中套用迴圈,數值會不會有變化,這就要看你的**了,所以不好回答,要根據具體**具體分析,這是需要點耐心的。
問題2解答:
引用是變數的**,所以通過變數的引用也可以訪問和修改變數的值,其本質就是變數的位址,但又和指標有所區別,指標可以指向null(也就不存在的變數),而引用不能指向null。用傳引用的方式呼叫函式,有三個優點,一就是不會像傳值呼叫那樣產生物件拷貝,這可以提高效能;二就是具有傳指標呼叫的優點(不會產生物件拷貝),又沒有傳指標呼叫的缺點(有時指標指向null,所以必須加以檢測,要不然就會導致嚴重錯誤);三就是通過引用把變數傳入函式中,在函式中可以直接修改這個變數的值,這點也是需要用到傳指標呼叫的原因之一。 例程:
void incremental(int& i) //這個函式把乙個int型的變數遞增1
int k = 10;
incremental(k); //執行完這句後,k=11, 想想為什麼
問題3解答:
if、else是條件分支語句,while是迴圈語句,bool是一種變數型別,這種型別的變數只能取true、false兩個值,也即我們平常所說的是/否(對/錯、成功/失敗等等),這些都是基礎東西,看來你現在不應該學c++,而應該先學c,因為c中沒有物件、引用、虛函式等難懂的東西,只有結構化程式設計所必須的東西,因為無論是物件導向啊、抽象設計啊等等多麼高階的東西,最基礎的內部實現都離不開結構化的程式設計,結構化程式設計是讓我們以計算機的思維去思考問題,而物件導向、抽象設計是讓計算機以我們的思維方式去解決問題,所以先要熟悉計算機的思維方式,才能讓它來摸擬我們的思維方式,先打好基礎,再向高階進軍就不會那麼吃力了,這是我給你的建議。
問題解答4:
你的問題描述的不是太清楚,所以我也無法解答,最好是把你的**也貼出來,並作詳細的注釋,我才能幫你分析問題出在**。
2樓:匿名使用者
1.void型別函式就是無返回值的函式,那麼在它內部的return語句後面不能跟引數,只能是return;就是說明函式執行到此就結束返回到呼叫處,此時也可以沒有return語句表示函式執行到結尾才結束返回到呼叫處.
當函式不是void型別時,例int fun() 那麼此函式中必須有return語句返回與函式型別相同(如果不同會進行型別轉換,轉換成函式型別,如果轉換失敗就會出錯)的乙個值,例如前面的定義,可有return 1;這樣當執行到這裡時函式結束並返回1的值,呼叫些函式時通常是這樣的a=fun();這樣如果在return 1;這裡返回的那麼a==1了.乙個函式裡可以有多個return語句,但只能執行一次,就是程式最先執行到的(最先執行到的不一定是寫在最前面的,指的是實際執行中最先執行的)那個.函式中迴圈與外面的迴圈是一樣的,對於你說的數值會不會變化指的是變數的值吧,那就看你在迴圈裡是否改變了變數的值.
如果你是說傳入的引數在下面說明.
2.傳值函式就是將引數的數值作為引數傳入函式,例fun(int a)呼叫時int b=3;fun(b);此時只將b的值傳入了函式fun,就是說b==3但此時的b與a並不是同一變數它們儲存在記憶體的不同空間,也就是在函式內部改變a的值b是不會變的.對於引用是將變數本身傳入函式(包括變數的空間).
例fun(int &c)這樣在呼叫時int b=3;fun(b);此時與c就是同乙個變數c==3(它們在記憶體中的空間是一樣的)只是不同名,如果在函式內部對c的值進行更改那麼函式外面的b的值也就同樣更改了.還有一種就傳位址我都寫上吧,此時只是將變數在記憶體的位址傳入(注意與引用的區別),例如fun(int * d)呼叫時int b=3;fun(&b);注意此處的&與函式宣告時的&引用的不同,此處表示取位址運算,&b結果就是變數b的位址,呼叫後就將b的位址傳給了形參d(是乙個指向int型指標)d中儲存著b的位址,此時如果單純改變d的值只表示d中儲存的位址變了,也就是說不在是b的位址了.若要改變b我們一般用的是(*d),表示取d中儲存著的記憶體位址所指向的記憶體(注意區分d本身的儲存空間與它所指向的儲存空間的區別)空間的資料.
3.boolean語句就是能判斷真假的語句(就是高中學的命題,有點像,呵呵)它的結果要麼是真(成立或都說條件滿足)要麼是假(不成立或者說條件不滿足),也就是bool型結果(如果型別不是bool就會進行型別轉換,因為我們多見是形如 int a=3;if(a),此時就是先將a的值3轉換成bool型true然後再運算,此時也相當於if((bool)a==true)).
4.要用迴圈一定要注意迴圈是如何結束的,如果沒有結束的條件(或者說條件不會發生)就會產生死迴圈.
此題中a,b,c都要為正,不滿足就得迴圈,這是迴圈(進入迴圈)的條件(a<=0 |b<=0 |c<=0)所以此種情況一般是先給a,b,c乙個能進入迴圈(滿足進入迴圈條件)的值,例如a=-1,b=0,c=1;(當然只有乙個a=-1;就夠了)可寫成
a=-1;
while(a<=0 | b<=0 |c<=0)
退出迴圈條件當然就是(a<=0 |b<=0 |c<=0)不滿足了,這個迴圈是可以結束的
迴圈要做的事:重新輸入a,b,c
寫成了a=-1;
while(a<=0 | b<=0 |c<=0)
最後是滿足了全為正的條件,就是退出迴圈了
然後是要判斷是否滿足第二個條件,如果滿足輸出提示
寫成a=-1;
while(a<=0 | b<=0 |c<=0)
if(a+b>c&&b+c>a&&a+c>b)
這樣你要的功能就完成了.
呵呵,僅供參考!
3樓:匿名使用者
1 void是空函式,也就是不能被呼叫。其應用主要是主函式即main時。return是為了得到一解決方法或演算法而使用返回值型別。通常含return語句的函式會主函式中被呼叫;
2 if else都是比較簡單常用的基本語句建議你多看書本.bool是一種型別稱為布林型別只有兩個值true 和 falseboolean語句就是能判斷真假的語句(就是高中學的命題,有點像,呵呵)它的結果要麼是真(成立或都說條件滿足)要麼是假(不成立或者說條件不滿足),也就是bool型結果(如果型別不是bool就會進行型別轉換,因為我們多見是形如 int a=3;if(a),此時就是先將a的值3轉換成bool型true然後再運算,此時也相當於if((bool)a==true));
3 傳值函式就是將引數的數值作為引數傳入函式,例fun(int a)呼叫時int b=3;fun(b);此時只將b的值傳入了函式fun,就是說b==3但此時的b與a並不是同一變數它們儲存在記憶體的不同空間,也就是在函式內部改變a的值b是不會變的.對於引用是將變數本身傳入函式(包括變數的空間).例fun(int &c)這樣在呼叫時int b=3;fun(b);此時與c就是同乙個變數c==3(它們在記憶體中的空間是一樣的)只是不同名,如果在函式內部對c的值進行更改那麼函式外面的b的值也就同樣更改了.
還有一種就傳位址我都寫上吧,此時只是將變數在記憶體的位址傳入(注意與引用的區別);
4a,b,c都要為正所以此種情況一般是先給a,b,c乙個能進入迴圈的值,例如a=-1,b=0,c=1;(當然只有乙個a=-1;就夠了)可寫成
a=-1;
while(a<=0 | b<=0 |c<=0)
退出迴圈條件當然就是(a<=0 |b<=0 |c<=0)不滿足了,這個迴圈是可以結束的
迴圈要做的事:重新輸入a,b,c
寫成了a=-1;
while(a<=0 | b<=0 |c<=0)
最後是滿足了全為正的條件,就是退出迴圈了
然後是要判斷是否滿足第二個條件,如果滿足輸出提示
寫成a=-1;
while(a<=0 | b<=0 |c<=0)
if(a+b>=0&&b+c>=0)
4樓:匿名使用者
1.void函式表示無返回值函式,是指這個函式的型別。如果用到return必須函式型別不為void。
函式定義的時候就有格式。如 型別名 函式名(引數型別 引數名。。。。。)函式中套用迴圈,當然會變,他每次還回值也不一定相同。。。
2.引用就相當於把這個函式引數起了乙個小名,就像人有大名和小名一樣,其實只是相同的。
3.if else while....都是幾大語句中的,你看可以看看c++書有詳細介紹。
bool是一種型別稱為布林型別只有兩個值true 和 false和但是不能用1,0 替代。。。
4.loop就是乙個變數作為判斷條件,如果是要輸入loop值得話,肯定是當loop大於0執行迴圈,否則不執行迴圈。。。
c++函式引數直接傳值和引用傳值的問題
5樓:鬼武白龍
傳值就是把 a的值給x,b的值給y,但是a和x,b和y是不同的變數,占用不同的儲存空間;
傳引用就是建立了a和x,b和y之間的連線,相當於給a取了乙個外號叫x,給b取了乙個外號叫y,占用的是同乙個儲存空間。
推薦書籍:
c++primer
c專家程式設計
thinking in c++
建議你以後不要再問這種問題了,多看書。
誰能給我講講關於Backstreet boy的,越詳細越好
成員 kevin howie d brian a.j nick 五個才華洋溢的少年,不僅舞跳得好 長相俊美 更重要的是他們個個是充滿 天分的奇才。1994年初成軍時仍只是初生之犢不畏虎的小毛頭,一年之後,他們已躍登世界舞臺,成為眾所矚目的新偶像,他們就是 新好男孩 新好男孩 的五個成員中,kevin...
誰能給我講講夢幻30 60之間該做的事
首先 你有沒有拜師呢 拜師了的話做師徒 50估計很快 公升級不是問題 40之後可以組隊燒雙捉鬼都可以 50之後捉鬼 做wjfb 還有就是師門 一定每天20個 錢可以去打寶圖 在9的店小二那裡接 一天200次 我以前30級就去打 公升級就是每天師門和師徒 我一天30到40張寶圖 有的時候還更多 新區的...
誰能給我講講據說由和氏璧造成的那個傳國玉璽的事情,以及現在在何處儲存
西元前228年,秦滅趙,和氏璧最終還是落入秦國手中,不幸的是,和氏璧從此從歷史記載中消失了。傳說中秦始皇統一六國後,將和氏璧製成了傳國玉璽。姑且不論傳國玉璽是否是用和氏璧琢製的,秦始皇統一中國後,確實曾令玉工雕琢過一枚皇帝玉璽,稱之為 天子璽 據史書記載,此璽用陝西藍田白玉雕琢而成,螭虎鈕,一說龍魚...