關於C 的語句問題 初學者

2022-06-09 06:40:01 字數 898 閱讀 4074

1樓:匿名使用者

1全部******************* 考點:條件表示式 *******************

條件表示式:

x=(表示式1?表示式2:表示式3)

意思是:

如果 表示式1 的邏輯值為1(真),那麼x的值取 表示式2 的值; 反之,

如果 表示式1 的邏輯值為0(假),那麼x的值取 表示式3 的值.

a>b?a:c>d?c:d相當於a>b?a:(c>d)?c:d相當於a>b?a:((c>d)?c:d)

按我上面說的,和相當自己看吧

設x=(a>b?a:c>d?c:d)=a>b?a:(c>d?c:d)

那麼 因為a=1, b=2, a>b為假,所以 x的值為第二個表示式的值,也就是x=((c>d)?c:d)

又因為c=3, d=4, c>d為假,所以 x的值為第二個表示式的值,也就是x=d=4;

逗號表示式:

x=(表示式1,表示式2);

先執行:表示式1,再執行表示式2,同時將表示式2的值賦給x;

a=(a=(3*a,5*a),a+8)相當於a=((a=(3*a,5*a)),a+8)相當於下面三句:

3*a;

a=5*a;/*上兩句相當於a=(3*a,5*a)*/

a=a+8;

已經很清楚了.

2樓:

條件表示式運算從右向左,條件表示式的優先順序沒有關係表示式高所以第乙個問題。先算c>d。c>d為假,c>d?c:d的值為d=4,然後再算a>b?a:4

又因為a>b為假,所以表示式的值為4;

第二個問題:a=(a=(3*a,5*a),a+8)因為逗號表示式的優先順序最低,先算,(3*a,5*a),取5*a即a=5*a,再算(a,a+8),結果就是a=a+8

ASP初學者的問題,ASP初學者問題

樓主應該對asp語言有個了解 asp是屬於在伺服器端執行的語言,凡是以 括起來的內容都要從伺服器解釋完畢才連同html語言一併送到客戶端的瀏覽器中的,以你目前asp語句裡看,都是要從表單中收集資訊的,沒有收集到資訊之前,asp並沒有輸出任何內容,所以在你未提交表單之前cars肯定是空的。比如你下面語...

python初學者關於碰撞的問題

你的catch water沒用啊 稍微改了一下 不知道是不是你要的效果 import pygame.sprite import random import sys class doll pygame.sprite.sprite speed factor 1 def init self,screen ...

關於初學者學數控車床的問題數控車床初學者應該怎麼入門?

要知道行行出狀元,我就是乙個例子,現在已做廠子,只要你用心去做,一定會成功,想學好要1 2年.如果在杭州可以到我這裡來學。先做兩年普通車床最好是加工雜件或小批量外加工的,找個好老師傅,不要進大廠。沒人教你去學校學一兩個月程式設計就行了先小廠幹邊做邊學。沒出路,是個餓不死的行業。太多了。信我的沒錯,本...