這道C語言的題怎麼解?這道C語言的題怎麼做?

2023-07-15 20:26:18 字數 2752 閱讀 6714

1樓:嘿小盒子

for迴圈的判斷條件為當x>=10或者y>10兩個均不成立時,迴圈停止。每次迴圈結束後,x和y都會自增自減來改變自己的條件。執行迴圈得到的結果就為x=0,y=12。

2樓:旅初彤

1、第一次迴圈:x=15,y=2

2. 第二次迴圈:x=7,y=5(從這次迴圈開始,x不會自減,因為x是7,7是小於10的,故x不會 自減,迴圈條件是x大於等於10,x才自減)

3. 第三次迴圈:x=3,y=8

4. 第四次迴圈:x=1,y=11

3樓:勿鏡

原因:c的運算過程會型別變化。

double)(2/3)結果是:2/3,int/int,結果也為int,結果為0,double強轉變成。

double)2/3結果是:2先強轉double,結果為。

double)2/3-(double)(2/3)=。

這道c語言的題怎麼做?

4樓:月光下的

您好,很高興您的問題。

對於這個題目而言,主要是考查if~else函式的匹配使用情況。這個知識點就一定要記住:if總是與在它前面的、離它最近的、沒有與別的if匹配的else匹配。

有多層if語句的,一定要從最裡層的if與else開始匹配。

那麼我們分析的時候,從最外層的if開始,if(a=b+c),其中a=b+c是賦值語句,是永遠成立的條件,就不會執行a=b=c=-1這句話;並且在此情況下,a的值為0+-1=-1,那麼也不滿足a>0和a==0,所以執行的是倒數第二個else語句,所以最後的結果是a=b=c=1,所以答案應該選a。

5樓:匿名使用者

首先,這道題目實際執行的話,答案並不是a,而是:

編譯錯誤。是無法編譯通過執行!即使新增標頭檔案後,得到答案a,仍然還是有編譯警告:

那麼,要想得到答案a,需要修改如下兩處:

錯誤修改。執行結果:>程式執行結果。

只有這樣,才能得到答案a,有同學可能會有疑問為什麼不是c?注意的是a=b+c並不是關係表示式,如果是答案c,關係表示式應該這樣寫a==b+c。

程式執行結果:

6樓:岔路程式緣

這個題目關鍵是考核學生的觀察能力。

其實,把關係運算子的相等符(==寫成賦值符(=)是初學者最容易犯的錯誤。

在if(a=b+c)這一句中,本意是比較a與b+c是否相等,表示式的正確寫法是a==b+c,這樣,如果二者相等,表示式的值為真,去執行if後面的語句,否則,執行else後面的語句。

在這個題目中,如果沒有寫錯雙等號,是判斷a與b+c是否相等,前面abc分別是2/0/-1,a+b是-1,2≠-1,表示式的值是假。程式去執行else後面的a=b=c=-1。

現在,題目故意寫錯,它把a=b+c作為if語句的判斷表示式,我們看它的值。首先a=b+c是一個賦值語句,它把b+c的值-1賦值給a,即,a=-1,然後判斷它的邏輯值,它就用a的值作為邏輯值,而c語言對數字的邏輯值的解釋是,除了0為邏輯假,其他非0數字都是邏輯真,所以,a=-1的邏輯值為真。

這就有意思了,程式判斷邏輯真,會執行if語句後面的內容。可是後面仍然是一個if語句,而且是:

if()else if()

else結構,先判斷a是否》0,因a=-1>0為假,繼續判斷a是否=0,a=-1≠0仍然為假,最後只能執行else後面的a=b=c=1。

因此,最後列印出a選項的1,1,1。

結論:a選項正確。

7樓:聽不清啊

語句的執行與判斷過程,見**:

8樓:勿鏡

第一個裡面等價於y=y+(i++)所以y=3+2=5;(這裡的y是函式里面臨時定義的,遮蔽了外面的全域性變數)

main函式里面y=y+(i++)2+2=4;(這裡的y是全域性變數,注意i仍然是2,因為函式傳遞的形參沒有改變實參)

9樓:電燈劍客

第一步a=b+c是賦值, 表示式的值是新的a, 也就是-1, 所以if(a=b+c)成立, 接下去沒什麼好解釋的, 最後走a=b=c=1這個分支。

這道c語言的題怎麼解啊,我看了一下解析還是看不太懂?

10樓:最大的寶寶

這是複雜指標,有個從右向左讀的規則。讀法:從識別符號開始(如題中的t),先右讀,遇到反括號)再向左。從內向外,直至讀完。

比如題中的t,1)右讀,t是一個10元素陣列。遇反括號,向左讀,陣列的元素型別是指標。

2)指標指向哪呢?向右讀,遇到[10],原來指向一個10元素陣列。

3)這個陣列的元素型別是int *

不過題目顯然完全不需要讀懂它的含義,因為只要找形式完全相同的就行了,很明顯是d。

複雜指標一般在dll,底層呼叫等地方有應用,平時是用不上的。

11樓:匿名使用者

這玩意即使搞明白了也沒啥意義,誰這麼定義型別啊,要是我就放棄了。

求解一道c語言題?

12樓:皓月與蒼穹

題目意思是不一定要全部入棧才出棧,比如可能入棧了一個a就讓a出棧。

13樓:是火霧啊

這題的意思是在下一個字母入棧前,前一個字母可以直接出棧,比如下圖。

c語言這道題該怎麼做 沒有思路,C語言這道題怎麼做

最大子矩陣,最大連續子陣列進階,動態規劃初級,poj1050 題目描述 現給出一個n n矩陣,要求求出擁有最大和的子矩陣的和。例如 這樣的一個矩陣,最大子矩陣的和為15 分析 最大子矩陣可以看為求最大連續子陣列拓展到二維陣列上,因為矩陣的性質同樣在橫向豎向上需要連續,那麼可以想辦法將這個二維陣列簡化...

請問這道c語言題該怎麼做啊,請問這道c語言程式題怎麼做呀

觀察puts w 的位置不同時輸出是不同的,因為開始第一次迴圈時w i 即只有w 0 被賦值一次,就列印了,後面的w i 1 等是不確定的。第二次迴圈的時候w 0 和w 1 被賦值,依次類推。其實把puts 字串列印函式放在第25行就可以理解了。不知道,列印的是否為原題的意思 這裡借用樓上的大神的回...

C語言題,答上點就行 這道C語言的題怎麼做?

a錯 不定要一致,因為型別之間可以相互轉換,是由級別低的向高的轉換,字元型 整型 浮點型 雙精度浮點型。b錯 是無型別返回,而不是無值返回,void表示自定義型別。如果無值返回,那做什麼工作啊,要它不就沒用了嗎。c錯 解釋同a。d正確 因為實型 就是浮點或雙精度浮點 級別最高,也就是最後型別了。所以...