請教C 高手,求 C 高手 指教 ,求答案

2023-05-13 07:55:11 字數 5560 閱讀 1851

1樓:匿名使用者

這裡有2個知識點:

或操作"||判斷是從左至右的,即:a||b當a==1時,系統就不會再去判斷b的值,因為1或任何數都等於"真"(而系統的真用"1"表示,假用"0"表示)

所以當x=1時,後面的操作++y,++z不再進行。

+操作,x++是取數後加,即先把x的值進行或操作,再對x進行+1操作。

如果lz把x的初值設為"0"的話,結果應該是。

誠如1樓所說,這種問題只適用於考試,其他意義不大。

2樓:fever銀

ls說的對,這種題沒什麼意義。

具體說明,在進行k=x++|y&&+z;運算的時候,因為x=1,所以直接後面的都不看了,所以k=1;因為有讀過x++,所以x=2了,但是其他沒有被程式執行,所以值沒有改變。

所以答案就是 2 1 1 1了。

3樓:匿名使用者

你應該是要求解釋第二次輸出的內容吧。

運算子,只要左右2邊有一個為真,則結果為真,而且如果左邊是真的話,就不會計算右邊的值,所以。

k=x++|y&&+z;

只計算了x++,結果為真,所以++y和++z都沒有運算,所以 x=2,z=1,y=1,k=1

4樓:匿名使用者

哎,樓主保重啊,被這種題折磨!!!

5樓:華靜安

定義了變數x,y,z,k 並初始化了x=1,y=1,z=1,輸出了x,z,y

k=x++|y&&+z;是賦值語句,意思是k=x+1或者=y+1和z+1

輸出x,z,y,k

就是這樣。

6樓:匿名使用者

這個**其實主要是看k=x++|y&&+z;這條語句。

對於a||b而言,先計算a,如果a為真,直接返回,而不計算是先運算,後++的,為真值,返回1。故k=1。

後面的都沒有進行運算,故y=1,z=自增1,所以x=2。

希望對樓主有幫助。

7樓:匿名使用者

這種題實在太毒害人了,意義不大。

哪位大神幫個忙(c++)?

8樓:匿名使用者

首先根據質數篩法,用陣列prime標記0~100000中的所有質數,prime[i]==1表示i為質數。

然後將prime陣列轉為字首和陣列,即令prime[i]等於prime[0]~prime[i]之和。

表示0~i中的質數個數,這樣任意區間[a,b]中的質數個數就等於prime[b]-prime[a-1]

相應c++**和執行結果如下:

附原始碼:#include

#define n 100000

using namespace std;

int prime[n + 1]; 標記每個數是否為質數

int main()

for (int i = 1; i <=n; +i) /轉為字首和

prime[i] +prime[i - 1]; 累加為[0~i]中的質數個數

int m, a, b;

cin >>m;

int ans[m]; 儲存m組結果

for (int i = 0; i < m; +i)

for (int i = 0; i < m - 1; +i)

cout

求 c++高手 指教 ,求答案

9樓:俏姐兒

6.條件,迴圈體 (我不太確定名詞對不對),for,while (for、while可換順序)

c++問題,高手來

10樓:

作用域和可見性是不分家的。

myclass p[10]宣告得是一個10個元素的物件陣列,意思就是陣列元素是類的物件。

當p離開作用域的時候,當然要銷燬在記憶體中佔用的空間,而p是一個陣列指標,所以整個陣列的10個元素都會消耗(遇到ascii碼為0的停止),而每個元素又是物件,物件銷燬時,自動呼叫類的解構函式,處理善後工作,如釋放delete類物件的指標。

你可能會疑問,為什麼p作用域到了的時候,會自動消耗,而物件作用域到了的時候,不會自動消耗。這其實是為何需要解構函式的問題,一個類的物件,宣告定義的時候,你無法得知它具體包含多少個資料成員,所以初始化任務需要建構函式。同樣地,銷燬的時候,不知銷燬多少個資料成員(特指指標),這就需要你手動列出需要銷燬的指標,比如是銷燬一個還是銷燬二個。

以上均是拙見,正確性並非百分之百,請自行斟酌。

最好的學習方法是被實踐證明過有效的方法。建議你寫出示例程式,然後下斷,單步跟蹤除錯一下。

11樓:匿名使用者

學長給你答疑:

這句話說的太隱晦,出題的很淘氣。

陣列名字會被編譯器自動轉換為指向第一個元素的指標,因此這兒的陣列指標p就是。

指的陣列p,(我很不推薦這種叫法),這句話問的是當陣列p離開它的作用域,也就是。

離開定義它的地方,那麼編譯器將從堆疊中將陣列的空間釋放,釋放之前呼叫解構函式,有多少個元素就呼叫多少個解構函式。

2023年快樂!新年快樂!!

12樓:if渲染

陣列有幾個元素就呼叫幾次解構函式。

作用域就是說他是區域性變數還是全域性變數。

c++問題,高手來

13樓:娶個女唐僧當老婆

a。逗號表示式,最後的值是5

b。算術運算子》賦值運算子(優先順序)

c。因為a,b都是int型,賦值表示式中a=a&&b,最後的值是a的值,邏輯運算子&&沒有用到。

d。連續賦值,即a=4,b=4。

選c。不是賦值表示式。

這是我的理解。

14樓:少年遊

選ca =後面是逗號表示式,返回最後一個值,即a=5b a=6

d =是右結合的,相當於a=(b=4),即b=4,a=4c如果事先不知道a的值,賦值是不成功的。

15樓:煮酒翰林

ab不用說了。

c是a與b做邏輯與運算後賦值給a

d是把4賦值給b,再把b的值賦值給a

求c++高手

16樓:匿名使用者

首先我還是比較欽佩你**跌倒**爬起的勇氣的,但我想說的是學習c++,尤其是學好c++並不是一件容易的事情。希望我的學習c++的一點經驗能給你提供一定的幫助。

我從初中開始自學c++,到現在也有7,8年了,c++是一門語言,就像英語一樣,要學好只有多多練習,所以要學好c++最關鍵的就是多自己動手編寫程式,多上機除錯,關於參考書,對於初學者來譚浩強寫的《c++高階程式設計》還是比較適合的,這本書在市面上很流行,而且多數高校裡也是用的他寫的那本。

其他想c++ primer 屬於參考手冊類的,提供了許多c++的函式的資料也是不錯的,你初期學的話並不需要買太多的書,一兩本就足夠了。

下面簡單介紹一下c++吧,c++是建立在c語言的基礎上的,c++的前半部分基本就是c,後半部分是類和物件的一些東西,c++是一門物件導向的高階語言,物件導向是相對於程序導向來說的,像早期的一些語言,像pascal就是程序導向的。物件導向的引入主要是為了開發大型的軟體引入的,初學c++可以先不要看,先把基礎打紮實了。

c++的前半部分主要就是一些變數,迴圈,函式的一些內容。難點主要有兩個,一個是指標,一個是遞迴,這兩個是初學者都比較頭疼的。指標就是變數的地址,遞迴就是函式自己呼叫自己。

把這兩個問題搞明白了,c++的前半部分就可以輕鬆搞定了。

c++的後半部分沒有什麼特別難的地方,只是比較繁而已,多花點時間就好了。

如果以上的你都能掌握了,那麼恭喜你,你已經基本掌握c++了,你已經能用c++寫基礎的程式了。但這並不代表你能寫好程式,就像每個人都會寫文章,但是並不是每個人都能寫好文章。要提高自己的程式設計水平,除了多練習多積累,還可以一些資料結構,演算法的書。

它能幫助你的程式設計水平更上一層樓。(ps:資料結構還是很有難度的,如果說c++的難度是3分,那麼資料結構的難度至少是7分,如果c++沒學好就去學資料結構的話,那麼難度就是10分了,所以如果想學資料結構的話先把c++的基礎打好。

最後祝願你能夠成功。

17樓:匿名使用者

有什麼問題?直接hi我。

c++高手請進,求解惑

18樓:網友

這裡的關鍵是建立物件陣列,有兩種做法:

採用student *s = new student[2]建立,這需要student有預設的構造方法,因為這裡的name和score並非每個student物件都一樣,而是各自不同的四個變數。呼叫方法的時候,可以用s[0].getname()。

析構的時候,需要用delete(s)。不過這顯然不符合這個student類的設計,若要這樣做,需要增加student類的無參構造方法,且需要加上set方法,故暫且不用。

採用student *s[2]建立,建立後對s[0]和s[1]可以分別呼叫student類的帶參構造方法建立物件,即s[0] =new student(n1, a1)。呼叫方法是,由於是指標陣列,需要用s[0]->getname()方式呼叫。析構時,由於s本身是指標陣列,而陣列的每個元素是new出來的,需要單獨析構每個元素,即delete(s[0])和delete(s[1])。

這種方法符合student類的設計,可取。

student *s[2];

s[0] =new student(n1, a1);

s[1] =new student(n2, a2);

cout getscore() endl;

cout getscore() endl;

delete(s[0]);

delete(s[1]);

19樓:樂天

你好,根據你的要求,第五行**如下:

student s[2];

希望能幫到你。

請問c++大神這題怎麼做?

20樓:紫薇參星

選c因為c++規定,預設引數只能放在形參列表的最後,而且一旦為某個形參指定了預設值,那麼它後面的所有形參都必須有預設值。

d正確是因為預設值可以是常量、全域性變數或者全域性函式。

求高手指導C ,謝謝

潘佳傑的 易學c 我發了已經了。沒基礎的可以先看看譚浩強的,如果想學好,還是直接看 c primer 3rd edition effective c 2e 等等,這個可能開始有點難,沒事多上網找找別人的帖子,c 電子書我還沒見到過txt格式的,pdf格式的倒是滿地都是。csdn上就有的下,直接搜尋一...

c語言中結構體問題,本人菜鳥。求高手指教

typedef struct node linklist 相當於struct node typedef struct node linklist typedef的作用是重新命名 這段的意思就是把struct node重名為linklist linklist a 就相當於struct node a c...

求C 高手幫助解答,求C 高手解題

cin 產品名稱,除了將有以下的錯誤,如果字串 名稱,無論是不是新的新空間。錯誤c2679 二進位制 操作符右手運算元的型別的類std basic string的字元,結構std char traits 來,類std 分配器來 或沒有可接受的合作。n版本 我是用vc 你想幫助,我想已經與字串宣告一個...