C語言,答案看不懂,我怎麼解出來的答案是A

時間 2021-10-14 22:40:00

1樓:匿名使用者

第一次迴圈後:

a=-1,b=1

第二次迴圈後:

a=0,b=2

此時注意,在進行第三次迴圈判斷時,由於a++的作用,參與迴圈條件判斷的量是a現在的值,即0,取值之後,a值增1變成1。由於取a值0參與條件判斷致使a++!=0不再成立,所以在短路求值規則的作用下,後面的++b不再執行,而是直接使條件判斷表示式返回0從而結束while迴圈,因此:

最終情況是:

a=1,b=2

故選 d

2樓:匿名使用者

while語句中,條件為假時,跳出迴圈。條件為真時,一直執行迴圈體語句。

邏輯與(&&)運算子,當且僅當左側運算子物件為真時才對右側運算物件求值。

遞增運算子(++)

前置版本,首先將物件加1,然後將改變後的物件作為求值結果。

後置版本,仍會將物件加1.(但求值結果是運算物件改變之前那個值的副本)

int i=0,j;

j=++i;   //j=1,i=1  前置版本得到遞增後的值

j=i++;   //j=1,i=2  後置版本得到遞增之前的值

在此題中,條件表示式(a++&&++b)判斷了三次後,跳出迴圈。

假設j=a++,k=++b

第一次判斷(a=-2,b=0):j=-2,a=-1,邏輯與左側為真;判斷右側,k=1,b=1。條件為真

第二次判斷(a=-1,b=1):j=-1,a=0,&&左側為真,判斷右側,k=2,b=2。條件為真

第三次判斷(a=0,b=2):j=0,a=1,&&左側為假,不用判斷右側,直接條件為假,跳出迴圈。

故而,最後輸出時,a=1,b=2。選d

3樓:喵不語

當a=0,b=2時,再執行while迴圈,這時退出迴圈但是已經執行a++了,,a當然由0變為1啊!

c語言 看不懂答案怎麼來的

4樓:

1.首先先給你算下優先順序的問題

第一個等於 ++a||(++b&&++c)第二個等於 (++a&&++b)||++c第三個等於 ++a&&(++b&&++c)第四個等於 (++a&&++b)||++c第五個等於 ++a||(++b&&++c)第六個等於 ++a&&(++b&&++c)都是自左向右結合運算,這個知道吧。

2.然後是邏輯運算本身問題

&&運算,如果左邊 的為0,那麼整個值為0,就不需要再換算右邊了。但如果是1,那麼依然要看右邊是否為0.為0則整個為0,否則為1.(抓到0就是0)

||運算 如果左邊為1,那麼整個值為1.就不需要再換算左邊了。但如果是0,那麼依然要看右邊是否為1。為1整個為1,否則為0.(抓到1就是1)

3.現在再用這個思路來算,全部明朗了吧。

5樓:匿名使用者

編譯器原因,編譯原理。

因為++a先滿足了,所以或條件一定滿足,後邊就不去算了,我是這麼理解的。

話說這書好眼熟,高等教育出版社的?

6樓:燕返

樓主是都看不懂還是怎麼的?

問題可不可以清楚一點?這樣也好解答一些嘛。

c語言程式設計題,我怎麼看不懂題目呀,那個a[3]可以這麼定義嗎?

7樓:匿名使用者

c語言結構體的語法:

struct 結構體標籤(可選的,也就是可以沒有)變數列表(可選的) ;

比如:struct student stud1;

struct student ;

struct ;

...觀察你的題目:

struct a[3]=;

1. a[3]是一個結構體的陣列

2. 陣列初始化為:

a[0].a=1

a[0].b=2

a[1].a=3

a[1].b=4

a[2].a=5

a[2].b=6

那這題的答案是什麼呢? 自己算吧^_^。

8樓:匿名使用者

選a;a[3]定義的是個結構體陣列,每個結構體有兩個變數a和b

9樓:鈽祗鈽觖

可以。這定義的是結構體陣列a

c語言選擇題,看不懂答案。求解釋

10樓:home奶茶溫泉

函式由函式首部與函式體

函式首部包括 函式型別 函式名

引數型別 引數名 函式屬性

你這個首部變數是一個double陣列變數,形參的型別要和實參儘量相一致,mian函式裡fun函式的引數是a,定義為a,那是一個陣列所以d錯 d的形參是一個double型變數

11樓:匿名使用者

這個是函式呼叫的知識;

陣列做實參,形參為陣列或者指標,其中,若是一位陣列,陣列的大小可以省略,二維陣列第一個下標可以省略,第二個不可以;

從上面可以看出,只有d不滿足調件;

函式首部我想是:被呼叫函式的開頭,就像main函式是開頭一樣

12樓:匿名使用者

正確答案是d;

首先返回資料型別是k,是double型別,由於所有選項都是double,沒有錯誤,繼續

然後fun函式實參是a,而a是double型別a[15]的首地址,也就是指標型別,因而d是錯誤的定義

13樓:牆角哋落寞

首部就是開頭,因為你main函式中呼叫fun時實參是a即為陣列名,也可以說是一個地址。d答案中的形參為實型變數,與實參的型別不同

14樓:匿名使用者

這個只是定義變數,不代表陣列。

c語言程式設計看不懂,怎麼辦啊,自學C語言,看不懂,怎麼辦啊

樑良鹹鳥 我的專業軟體工程,大學第1學期學的就是這個,下面說說個人的一些體會 1,開始的時候先是學好基礎,如int,char各代表什麼,要記憶的東西要記牢並且要好好理解 2,通過1段時間的學習要對c語言的基本特點有個大概的認識,找些參考書籍看看簡短的語句表示什麼意思,和一些改錯題,要十分注意,有可能...

C語言K R的書看不懂怎麼辦,看不懂文言文怎麼辦?

k r的書反覆看,反覆練習,這本書關鍵的部分必須懂。不懂的,反覆練習,至少要知道不懂的地方執行的結果。作為入門,其他書沒有比這個寫的好的了,畢竟是c語言作者。這本書初看很有難度,等懂了後會感覺柳暗花明,花的時間是值得的。此外,c畢竟是一們語言,我們不必完全理解 字面 意思,只要知道這樣做能得到這樣的...

如圖,c語言資料的自動轉換,這兩步看不懂,求解釋,謝謝

趙德柱 c語言資料型別轉換分自動轉換和強制轉換兩類。自動轉換 自動轉換髮生在不同資料型別的量混合運算時,由編譯系統自動完成。自動轉換遵循以下規則 1.若參與運算量的型別不同,則先轉換成同一型別,然後進行運算。2.轉換按資料長度增加的方向進行,以保證精度不降低。如int型和long型運算時,先把int...