c語言選擇結構問題,求高手詳細解答

時間 2025-01-18 10:15:40

1樓:希聲和寡

這種題目沒有任何意義,完全是試卷上的題目(還得是中國的試卷),實際開發中,誰這麼寫一定會被罵得,可讀性太差,完全不符合編碼規範。

2樓:網友

答案:###a=6,b=4,c=10

你最後的那個打錯了應該是%不是#

這是個三目運算子 a?b:c 若a為真,則執行b,否則執行c.

a++=5,a=6 ; b--=4,b=3 ; c++=;(同++a不同, 若以定義:a=5 則 ++a=6,a=6)本題中,三目運算子 a?b:

c 中的a為假,所以執行c,上面是答案。

3樓:網友

我的娘艾,沒見過這麼複雜的,像一樓說的一樣,沒意義!!!

中國培養出的都是這種學生,難怪蓋茨這個高手出在美國,實際應用中沒這中必要!!!

4樓:網友

這樣的語句沒意思,記住運算順序就行拉。執行一下看看吧,沒有哪個程式設計師回寫這種語句,真囧。

5樓:網友

考慮優先順序問題~

如果你的語句正確,放到c語言環境中執行一下就可以了,這種題目一般不會用得到的~

6樓:網友

這是由三目運算子組成的表示式,先計算a++<4&&b--<2&&c++,如果結果為真則執行為假執行)("###a=d%,b=%d,c=#d",a,b,c){這個地方應該少了printf)

a++<4結果為0,a++<4&&b--就是0(&&運算子前面為假後面不執行)

同理a++<4&&b--<2&&c++結果就為0所以結果是:###a=6,b=4,c=9(c=#d",a,b,c這裡應該是c=%d)

7樓:網友

這條語句在「:」後面的「(」前面是不是少了點什麼東西?

按照語句的結構,「?前面的判斷結果是false,因此會執行「:」後面的**,醬紫。

樓上說的很對。不過有時候,經過一些**壓縮程式之後,會產生一些匪夷所思的**,呵呵。另外,以上這句並不太晦澀。

8樓:網友

這符號及後面我看不懂。

9樓:網友

朋友,這是一道考查符號優先順序的題:你的題有的打錯了,我先糾正一下,應該改為:a++<4&&b--<

輸出結果是:

###a=d,b=6,c=#d

而我覺得你打錯了不少,整個題應該是這樣的:

a++<4&&b--<

輸出結果是:

###a=6,b=4,c=9

解釋如下:a++表示先用再自增1,b--是先用再自減1.

在表示式a++<4&&b--<2&&c++中,a++,b--和c++的運算級別最高,然後是&&(與)運算結合方向是自左向右,所以(a先用然後在自增1)a<=4表示式先進性運算其結果是0,在乙個或多個&&(邏輯與運算)表示式中如:表示式1&&表示式2&&表示式3中,表示式1如果值為假則其整個邏輯表示式的值就是假,表示式2和表示式3將不進行運算。

所以在運算a++<4&&b--<2&&c++後a的值將自加1變為6,而表示式2(b--)和表示式3(c++)將不進行運算所以b的值是4,c的值是9不變。

因為表示式a++<4&&b--<2&&c++值為0,所以在「?」表示式中將執行第二個表示式即所以輸出的結果是a的值是6(5自加1)b的值是4(沒進行運算)c的值是9(沒進行運算);

你明白了嗎?不會再問我啊!俺喜歡挑戰!

c語言,題目中的選擇題,求詳細解析

10樓:網友

define僅做替換,替換後就是10*i

c語言 選擇題 高手指教

11樓:檀木妍

判斷語句執行體裡只有乙個句子,即z=x,因為沒有大括號。x=10,y=20,所以判斷條件不符合,因此if語句不執行。接著執行下面的語句,x=y,此時x=y=20,y=20,z=30;再執行下一條,y=z,此時y=z=30,x=20,z=30,因此選b

c語言 選擇結構

12樓:直搗黃龍岳飛

優先順序是這樣的 ()是否運算。

是與運算。是或運算。

1代表真,0代表假。

所以對於!((a (1&&0||1)

計算1&&0得0(第乙個表達示是1,不考慮短路求值)計算0||1得1(第乙個表達示是0,不考慮短路求值)最後!1得0

13樓:網友

您好,關鍵在於 a>b>c的計算。

a>b>c 的計算如下:首先計算 a>b,由於a=5,b=4,所以a>b 為真,也就是返回1,然後 判斷的是:1>c ,而c=3,所以1>c為假,也就是0,所以d的值為0

14樓:網友

c語言中這種的表示式只計算&&而不管後面的|| 算出來為1就為1,&&算出來為0就為0

a

15樓:今生今滅

a!c為0

所以是1 &&0 ||1

1 &&0 為0

0 ||1 為1

最後! 1 為0

所以是0

c語言結構問題

16樓:網友

問題1: #define n 10是什麼可以怎麼替換是必須結構嗎?

回答:預處理命令之一,#define是巨集定義,不是必須的結構,作用就是,有時候,我們用到的變數數值要改,比如說,有好多的int a=n;現在你想改資料了改成20,如果你要乙個乙個改,可能會漏的,如果有#define n 10,你只需把n所代表的資料改了就可以了,也就是#define n 20

問題2:#include 是什麼可以怎麼替換是必須結構嗎?

回答:,預處理命令之一,這是檔案包含,裡面有一些輸入輸出的庫函式,在vc環境下,編c語言程式,要用到,如果在環境下就不需要了。

問題3:void main()是什麼可以怎麼替換是必須結構嗎?

c語言是一種語言,就像是,如果在乙個英語國家裡,你跟他們說中文,它們是不會聽懂的,同樣,你通過工具比如說是就要使用它能識別的語言,所以你有掌握必需的語言知識。

建議看一下c語言基礎書。

問題4:這個{}裡的是什麼可以怎麼替換是必須結構嗎?

問題5:我想問問結構是什麼。

17樓:家有八畝田

1、乙個c語言源程式可以由乙個或多個原始檔組成2、每個原始檔可由乙個或多個函式組成。

3、乙個源程式不論由多省個原始檔組成,都有乙個且只能有乙個main函式。

4、源程式中可以有預處理命令,通常放在原始檔或源程式的開頭5、每乙個說明,每一條語句都要以分號;結束。預處理命令、函式頭、花括號{}之後除外(當然結構型別是個例外,它需要有分號;結束)

6、識別符號、關鍵字之間必須加至少乙個空格區分,如有明顯分隔符可不加間隔。

18樓:網友

這些都是c的規定不可替換,

c語言的選擇題 麻煩詳細一點

19樓:長城知道

第乙個 答案是20

記憶體預設是4位元組對齊的,m1 4b m2 4b m3 4b myaa 8b

總共20b如果是1位元組對齊的話是 14b

第二個 選a

d = a &&b ||c

表示式中有 =,共4中運算子。

優先順序最低 ,表示式等價於。

d = a &&b ||c),&中 ||優先順序最低,表示式等價於。

d = a &&b)||c))

先運算!a,a為4,!a為假,值為0,將!b短路。

a&!b)的值為0,再運算!c,!c為真,值為10||1 為真,值為1

所以 d 值為 1

第三個 選c

aa[0]是aa[0]的位址值,是位址常量,不能進行++運算。

C語言選擇結構if eslse巢狀問題,求詳細解釋

給你一個辦法,看看行不行,先找有沒有if後面緊跟著一個else的,如果有,那它們肯定是一對,全部給標上號,馬上就可以找到下面 1和 2這兩對 然後看一下已經標出來的有沒有一眼就可以看出來它的if else 條件下執行的語句到哪句結束,例子裡面 1這對的if可以看出來,但是else是看不出來的,2這對...

C語言選擇排序求改錯,C語言程式設計 選擇法排序

c語言程式設計 選擇法排序 include define m void main int b m i,j,t,k for i iscanf d b i for i ifor k i,j i jif b k k j if i k t b i b i b k b k t for i iprintf d b ...

c語言問題。急求詳細解答,C語言問題。急求詳細解答!!

與影 第一個呼叫把i 2的值傳遞給fun2的形參,而形參變數只有在被呼叫時才分配記憶體單元,在呼叫結束時,即刻釋放所分配的記憶體單元。因此,形參只在函式內部有效。函式呼叫結束返回主呼叫函式後則不能再使用該形參變數,所以呼叫結束後i的值並未改變。雖然fun2的返回值是處理後的i,但是由於並未將函式呼叫...