四道關於C語言的問題

時間 2021-06-25 15:01:12

1樓:溫珈藍音

->1.&&、| |都是先計算左邊表示式的值,當左邊表示式的值能確定整個表示式的值時,就不再計算右邊表示式的值。如 a = 0 && b; &&運算子的左邊位0,則右邊表示式b就不再判斷。

->2.a.c中=和==的意思不同,=是賦值,==是等於.

b.一個是等,一個是不等.

c.if(a)的意思就是a不等於0時執行

->3.除法運算子"/"雙目運算具有左結合性。參與運算量均為整型時, 結果也為整型,捨去小數。如果運算量中有一個是實型,則結果為雙精度實型

->4.題目有誤,c變數是什麼意思??沒定義嘛用2個變數的方法寫給你好了,a=a+b,b=a-b,a=a-b假設a=2 b=3 用上面的做法 1.

a=a+b a=5,b=32.b=a-b 5-3=2 b=2

3.a=a-b 5-2=3 a=3

2樓:匿名使用者

第一題,想象一下,c編譯器面對這個等式的時候如何判斷?他將可能的等式:

j++,k++,i++以及||和&符號壓入棧中,依次彈出。先是j++,為真, 下一個符號||,就可以直接跳過 k++,最後遇到&,再執行i++。

第二題,c中不為0就是真的。false=0,true=~false第三題,/什麼時候取整啦?。。整數相除的就取整,浮點數相除,自然就取浮點唄

第四個題是很經典的,不過我也忘了。這裡還有一個更有趣的演算法:

a=a ^ b

b=a ^ b

a=a ^ b

3樓:

1 這裡k值變為3了,但是要在下條語句執行的時候,這裡if((j++||k++)&&i++) printf("%d,%d,%d\n",i,j,k);是一個語句

2 a第一句就是個錯誤 賦值語句不能作為判斷條件不過可以輸出a=2 第二句是對的但是a的值不定(因為沒有賦值)

b和a差不多

3 這裡是浮點數運算

4 a=a+b;//a的值就是a跟b的和

b=a-b//因為a的值是a跟b的和,此時b的值就是a;c=a-b這句你打錯了吧?應該是

a=a-b

4樓:pp要洗洗

第一題:

( j++ || k++ ) && i++ ) // (j加一 或 k加一)和i加一

j或k兩者其中一個加一!i是和所以括號裡的和後面的都執行!或(||)兩者執行一個

第二題:

a:執行語句 和 判斷語句

b:同上

c:賦值 和 判斷語句

第三題:

(“/”)表示除

第四題:不知道

5樓:匿名使用者

1.if((j++||k++)&&i++)

|| 先判斷左邊的表示式,如果左邊的為真就不判斷右邊的表示式了。j++為真,所以不執行k++,&&右邊i++要執行,所以 答案c

2.應該沒有答案

a)if(a=2) printf("%d\n",a); 賦值語句,c中表示式也是有值的,a=2的值是2,所以為真。

if(a==2) printf("%d\n",a); 這個是a==2 如果a為2的時候為真,否則是假

b)if(a=2) printf("%d\n",a); 跟上面一樣

if(a!=2) printf("%d\n",a);a不等於2,就是當a是2的時候為假,否則為真

c)if(a) printf("%d\n",a); c語言中大於0的值就是真

if(a!=0) printf("%d\n",a); 判斷a不等於0就是真。如果a為負數,這個判斷也是成立的,所以c也是錯的

3.輸入2.0所以x=2.

0,根據條件只有 else if(x<10.0) y=1.0/x 為真,所以y=1.

0/2.0=0.5 /是做除法,不是取整,如果/兩邊都是整數的話,最後的結果才是整數。

4.a=a+b;//a的值就是a跟b的和

b=a-b//因為a的值是a跟b的和,此時b的值就是b;c=a-b//此時c的值就是b

6樓:匿名使用者

1。因為if((j++||k++)&&i++) 中 j++為ture則不必判斷“||”後面的表示式 則沒執行k++故k=2;

2.a.b的if都是經過賦值運算的 而你看c呢 當然語義不同了;

3。你說的“\”取整是針對int而言 這裡是float 所以當然該有小數值

4。實在不曉得在表達什麼~

(希望能幫助到你)

關於c語言的問題,關於C語言的問題

鷹弈 1 有定義 int n 0,p n,q p 則以下選項中,正確的賦值語句是 d a.p 1 b.q 2 c.q p d.p 5 解 p為一級指標,其中p為指標的地址,q為二級指標,其中 q為指標的地址,只能給變數或指標變數賦值,不能給地址賦值,所謂地址,就是由acs碼構成,簡單的說,就是每個人...

一道C語言問題,一道c語言問題

看程式先看main函式 int a,b,c 定義了3個整型變數 然後分別呼叫了3次sub函式 再看sub函式 sub int x,int y,int z 因為c語言的函式呼叫過程中是在棧上開闢的記憶體空間,所以試圖對引數本身做的操作在函式被呼叫結束之後將無意義。所以該函式要對z變數進行操作所以要取其...

幾道C語言的問題,有關c語言的兩道問題

1 邏輯與 的問題。右邊y 1是賦值函式,永遠為真,所以左邊x 1為真時,迴圈繼續。所以當x 2時就不滿足了。此時y 1經過y 後就為0了。所以a 2 這一題很簡單,j 10進入迴圈體,滿足10 3為真,所以會進行3次 後j 7,輸出7,然後進行for迴圈的j 此時j 6,然後滿足j 3,繼續迴圈,...