c語言讀程式的5道題,有答案,淚求詳細的解析啊

2021-05-04 18:26:52 字數 2394 閱讀 6310

1樓:袁世平

因為"=="是判斷等號兩邊的值是否相等的語句。

c語言中的「=」是賦值,「==」才是判斷。

等號左邊是x,它的值為3,右邊是y+z,因為"+"的運算優先順序大於"=="所以先執行y+z,得到表示式的值為1+0=1.

所以if(x==y+z)等價於判斷 if(3==1),"3==1"的返回值自然是false

於是不執行if()語句下的語句,而是執行else中的printf("+++");

所以最後的輸出是 +++

啊,是五道題啊...不是第五題...

沒看清楚,不好意思。

等下補答

1. 字首"--"和字尾"--"的區別:字首返回的是值改變之後的值,字尾返回的是改變之前的值。

所以輸出的一個是字尾的10,一個是字首的9.

當然如果你再printf("%d,%d",x,y);就都輸出9了。

2. 因為x,y,z都是整型變數,所以x/y的返回值是整除的值,也就是商。

10/3=3餘1,而%相當於mod,也就是10對3取模。取模運算只能對整數進行。

在兩個數都是正整數的時候就等於除法的餘數,也就是1。

z=(x/y)是賦值語句返回的值就是改變後的z。

3. 可以看到,它printf的是兩個表示式的值。而且是兩個邏輯表示式。

第一個是(a+b>c && b==c) 「&&」表示且,也就是當兩個都為真的時候返回true,任意一個為假,返回false,可以看到a+b>c是true,而b==c是false,所以返回值是false,因為是以整數形式輸出,那麼就是true=1,false=0.

第二個式子是c>b>a,c語言中沒有連比,這個式子會從左算到右。即(c>b)>a。

其中c>b是true,因為要和a這個整型變數比,所以會強制轉int變成1,然後1>a返回值就是false了。

4. 也是前置和後置的問題。m=++i 返回的是i=i+1之後的值。也就是6,n=j--返回的是變化之前的值就是12.

2樓:匿名使用者

第一題:--x的意思是先計算x=x-1,再用x的值,x--的意思是先用x的值,在計算x=x-1;

第二題:x/y因為x和y有時int型別,所以結果也是int型別,10/3剩3餘1,把1去掉,就是3了,10%3餘了1;

第五題:x=y+z等效於3==(1+0),就是判斷3核0相等碼,不相等執行else

第四題:這題和第一題是一樣的思路

第三題:相當於(3+4)>5&&4==5和(5>4)>3

其中4==5是假的,所以第一個為0 5>4是真的,所以值為1,等效於1>3,很明 顯是家的,為0望採納

3樓:匿名使用者

// 程式一:

#include

int main()

// 程式二:

#include

int main()

// 程式三:

#include

int main()

// 程式四:

#include

int main()

// 程式五:

#include

int main()

else

}// 程式六:

#include

int main()

printf("%d,%d",x,y);// x等於0,所以都不符合switch語句裡的條件,所以結果為0,0。}

c語言程式閱讀題,求答案有,但是不知道過程 求詳細解答。本人基礎差!

4樓:北晨雙魚

fun函式的主要功能是將二維陣列中每一行的最大值放到每一行的首列,其他列的值不變。最終將結果在main函式中輸出。

c語言的程式填空題,我的答案和標準答案不一樣,但執行結果卻滿足要求,這樣算對嗎?

5樓:匿名使用者

c語言和數學一樣,正確答案只有一個,執行結果與答案不一致,必然有問題。。。當然有些答案本身就是有問題,但肯定是極少數的。

6樓:匿名使用者

對的,計算機判斷程式題是隻看結果的,很多時候標準答案只是做參考,所以叫參***

一道c語言填空題,程式沒看懂 求詳細解釋!

7樓:

#include

main()

op1=res;//把結果儲存到運算元1,方便繼續運算opertor=getchar();//再次輸入運算子號}printf("%d\n",res);//列印結果}注意:由於是沒有區分運算子優先順序的,完全是按照輸入的先後順序計算的,

所以上面這4個輸入的式子要按從左到右計算,不能按照平常乘除優先於加減的習慣去計算。

c語言程式閱讀題,求答案有,但是不知道過程求詳細解答。本人

fun函式的主要功能是將二維陣列中每一行的最大值放到每一行的首列,其他列的值不變。最終將結果在main函式中輸出。求救一道c語言的題目,求詳細解答過程!非常感謝!1.int i int f 20 程式定義了一個變數i和一個長度 為20的整型一維陣列並把陣列的前兩個值均初始化為1後面初始化為02.fo...

關於c語言的一道題,答案為啥是,關於c語言的一道題,答案為啥是20?

i的取值包括1,5,9,13,共4次,j的取值包括3,7,11,15,19,共5次,所以m 的次數是 4乘以5 20,m的初始值是0,所以迴圈結束後 m 20 外迴圈4次,裡迴圈5次,故 總迴圈 4 5 20次 i迴圈4次j迴圈5次 i迴圈4次 1 5 9 13 j迴圈5次 3 7 11 15 19...

C語言的程式題 求高手速解決 有追加分

3全部vc下編譯通過 include char a int b 2 x 0 char c 999 void sr else if a a a a a b 1 while a 10 void pl void sc void main include stdlib.h include string.h ...