在c語言的if語句中用作判斷的表示式是a關係

時間 2021-10-17 04:52:58

1樓:

一般情況下這個是選邏輯表示式的。因為if是邏輯判斷,但如果放在c和c++語言中,所有非零運算結果均識為true,不須強制轉換,所以這裡選d是正確的。但是在其他語言中是不正確的。

它主要考查的內容就是,c/cpp中並沒有真正的布林值,只是將非零數認作false而已。所以你可以理解為if是判斷非零數即可,或者理解為其它。實際上,在c/cpp中的布林值是用int表示的。

也就是16位進位制數表示,並不是單純的一個bit。

如int a =5;

if(a)

語句塊;

該**在c/cpp中是合法的,但是c#中是不合法的,無法通過編譯器編譯。所以若在c/cpp中選邏輯表示式時,很明顯算術達式是不能成立的。而關係表示式的結果就是邏輯值(也可以將邏輯值認為是邏輯表示式)。

比如int a=5, b=6;

a>b是關係表示式,結果是邏輯值false,但false可以看作是邏輯值,也可以看作是邏輯表示式。而a-b則是算術表示式,三者均可以做為if的判斷條件。所以即使在c#語言中,嚴格區分的情況下,關係表示式也是被認為可行的,而邏輯表示式也是可以得到邏輯結果的。

所以這裡應當是選擇了做任意表示式。

2樓:

任意表示式,只要()裡的是非零就要執行if()語句;是零就不執行.

關係表示式成立是1,不成立是0;邏輯表示式成立是1,不成立是0;算術表示式的值是非0就是執行,0就不執行.

3樓:萢萢

if (邏輯表示式)

在c語言的if 語句中,用作判斷的表示式是( )a關係表示式 b邏輯表示式 c算術表示式 d任意表示式

4樓:匿名使用者

d任意表示式。

c語言提供了兩種形式的if語句:

1、if(表示式)語句;

2、if(表示式)語句1 else 語句2。

這個表示式可以是任意表示式,如果表示式為 true,則 if 語句內的**塊將被執行。如果表示式為 false,則 if 語句結束後的第一組**(閉括號後)將被執行。

c 語言把任何非零和非空的值假定為 true,把零或 null 假定為 false。

所以既可以是關係表示式、邏輯表示式 ,也可是算術表示式,甚至是一個變數、常量等。

5樓:黃榮大俠

任意表示式,只要()裡的是非零就要執行if()語句;是零就不執行.

關係表示式成立是1,不成立是0;邏輯表示式成立是1,不成立是0;算術表示式的值是非0就是執行,0就不執行.

6樓:匿名使用者

選擇d;

因為:在c中if語句是可以用算術表示式的,例如:a!=c;

在c中if語句是可以用邏輯表示式,例如:a==0||b==0;

關係表示式,要麼真要麼假(1,0),也作為判斷該if語句是否成立,所有是a,b,c都是的,因為答案為d任意表示式!!!

在c語言中a|b是什麼意思?

7樓:匿名使用者

首先因為“==”號比“=”的優先順序高,所以先執行b==c,明顯b等2,c等3兩者不等,所以為0(邏輯運算,當b不等c時這個等式的值就為假即是0),再執行a=0,就把0值賦給了a。

1、賦值語句本身也是一個表示式,也是有返回值的,它的返回值就是賦值給變數的值,比如b=1這個語句,會把1賦值給b,但是它本身也是個表示式,這個表示式的返回值為1。

2、賦值語句是先算等號右邊的值,把右邊的值賦值給左邊的變數

3、分析一下a=b=c,按照賦值語句的運算方式,計算右邊的表示式,也就是b=c。

4、右邊的表示式b=c是一個賦值語句,先值b賦值,b=1,然後返回這個表示式的值,就是1。

5、把1賦值給a,返回a=1的值,也就是1。因為**沒有用到這個表示式的返回值,所以被丟棄了。

8樓:匿名使用者

給你舉個例子

#include

void main()

/*輸出結果是

2,4,7,7

press any key to continue*/ (a++,b=b+a,c=c+b)括號裡面的叫逗號表示式。你可以去仔細看看你的教材。

在(a++,b=b+a,c=c+b)中,

先計算a++;既a=a+1;a變成了2;

再計算b=b+a,b變成了4

再計算c=c+b,c變成了7.。

最後講括號裡面的最後一個值返回給d;

既d=c=7;

這個函式的作用差不多,是有返回值的。。

其實c=(a,b);也就是b作為最後計算的結果返回給c。

9樓:匿名使用者

gt 不是c語言的保留字或標準函式名。

看用在何處。

它可能是 使用者自定義 變數名,也可能是 使用者自定義 函式名。

例如: float gt;

例如: int gt(int a,int b) ;

如果是在註解行裡,它是註解。例如 // a is gt zero如果在字串裡,它是字元。例如 printf(" 5 gt 2");

某些 語言,可能用 gt 或 .gt. 表示 “大於” ( greater than) 的意思.

10樓:

a##b 實際上就是ab,但要注意實際的用法:

這應該算一個預編譯的運算,在巨集的定義中經常用到,比如為了和防止別人定義的變數衝突我們可以定義一個巨集,使我們自己的變數都帶一個my_字首,巨集定義如下:

#define my_declare(type,name)\type my_##name;

讀者可以看看下面的例子程式:

#include

#define my_declare(type,name)\type my_##name;

void main()

11樓:匿名使用者

定義異或(xor)是一個數**算符。它應用於邏輯運算。異或符號為“^”。 其運演算法則為a異或b=a'b或ab'(a'為非a)。

真異或假的結果是真,假異或真的結果也是真,真異或真的結果是假,假異或假的結果是假。就是說兩個值不相同,則異或結果為真。反之,為假。

異或也叫半加運算,其運演算法則相當於不帶進位的二進位制加法:二進位制下用1表示真,0表示假,則異或的運演算法則為:0異或0=0,1異或0=1,0異或1=1,1異或1=0,這些法則與加法是相同的,只是不帶進位。

異或運演算法則

1. a ^ b = b ^ a

2. a ^ b ^ c = a ^ (b ^ c) = (a ^ b) ^ c;

3. d = a ^ b ^ c 可以推出 a = d ^ b ^ c.

4. a ^ b ^ a = b.

x是二進位制數0101

y是二進位制數1011

則結果為x^y=1110

0^0=0

0^1=1

1^0=1

1^1=0

只有在兩個比較的位不同時其結果是1,否則結果為0

即“相同為0,不同為1”!

作用在計算機中普遍運用,異或(xor)的邏輯符號 ^ (shift + 6)或一個圓圈裡面增加一個+(⊕)或者·.形象表示為:

真^假=真

假^真=真

假^假=假

真^真=假

或者為:

true ^ false = true

false ^ true = true

false ^ false = false

true ^ true = false

部分計算機語言用1表示真,用0表示假,所以兩個位元組按位異或如下

00000000

異或 00000000

= 00000000

**********==我是分界線**********==

11111111

異或 00000000

= 11111111

12樓:匿名使用者

a % b 是a 除以b的餘數

a / b 是 a除以b的整數部分

如a = 9

b = 2;

那麼餘數為1, 整數為4

比大小就不是了

|| 兩邊的表示式,只要有一個成立 c就等於1, 全不成立c就等於0

13樓:吉祥二進位制

先看if (a) b++;

上面的語句是將a的值與0進行比較,如果a不等於0,則條件為真,則執行b++,也就是說當a的值不等於0的時候才會執行b++。

再看if (!a) b++

在c++中!是邏輯否運算子,與上面的條件判斷正好相反,即如果a的值是0,則!a=1,則執行b++,也就是說當a的值等於0的時候才會執行b++。

14樓:莫路草根

這個是三元運算子,相當於if...else...的效果,和下面**等效:

if(a

當a的值小於b時,a的值不變,否則就用b的值。

15樓:僑有福泥月

這個是三元運算子

?左邊進行判斷,右邊進行取值

如果左邊是true的話,則取“:”左邊的值,如果左邊為false的話,則取“:”右邊的值。

本例的意思是c取a,b中比較大的那個值

16樓:匿名使用者

(a,b)=1

表示a,b是互質的;

(a,b)|c

表示(a,b)能夠整除c,其中(a,b)表示a,b的最大公約數.

17樓:匿名使用者

逗號表示式的取值,是最右邊一個表示式的值

程式先計算逗號表示式最左邊的式子a+b,計算結果沒有儲存,對a,b,c的取值沒有影響[a=1,b=2]

然後計算a++[a=2,b=2]

然後計算b+1[b+1=3,a=2,b=2],計算結果會當作整個逗號表示式的最終取值賦值給c[a=2,b=2,c=3]

18樓:匿名使用者

x=a+b表示式使得x=6,其返回值為x(x,b+c)是逗號表示式,逗號表示式的值為最後一個子表示式的值所以 y=b+c y=10

19樓:聽不清啊

就是a除以b的餘數等於0的意思,即a能被b整除。

它等價於!(a%b!=0)

也就是a%b==0

20樓:匿名使用者

這是一個三元運算式

當a

當c

望採納,謝謝

21樓:讀書人

c是變數 a是常量 所以c=a 可以看成x=1;

d=(a,b)根據逗號符合定義得出d=b;

逗號的定義是總是等於後一個的

22樓:匿名使用者

逗號運算子的作用,取最後一個,所以結果會是後面的。

相當b=b+1;

//因為是a++,所以忽略

c=b;

23樓:匿名使用者

為變數a賦值的語句。

將b=c的結果賦給a,如果b=c則(b=c)的值為true,如果b與c不相等,則(b=c)的值為false。

24樓:匿名使用者

這是一個邏輯判斷

含義是(a 不為0並且b+c不為0) 或者 b-c不為0那麼就是真

有疑問請追問,這個屬於程式語言範圍內的

25樓:匿名使用者

等價於a=(b=c),

括號內“=”號是等式判斷語句,

a後的“=”號是賦值語句,

如果b等於c,則a=true,否則a=false,b與c的值不變。

26樓:天宇代密塵

(a==b)? a:b

?前面是真假條件,後面是對應條件的結果

如果前者為真,則a是結果,如果為假,則b是結果== 這個是等於判斷條件 意思是前後兩者是否相等當a等於b的時候 結果為a 當a和b不等的時候結果為b最後把結果複製給x

sql語句的select語句中用於實現選擇運算的子句是什麼

刺友互 1 select distinct 列名稱 from 表名稱,為student表內容。2 查詢名叫李四的學生值顯示一次,select distinct name from student。3 根據age排序,select distinct name from student order by...

c 的迴圈語句中的判斷表示式問題

k 0是賦值表示式,左值如果等於0,整個表示式的值就是0。按照你的寫法,在第一次執行while時,判斷條件為0就會跳出迴圈,最後還是輸出0。如果改為k 0,這就是邏輯表示式,因為k的值是 20,不等於0,所以該邏輯表示式的值還是為0,第一次時while還是直接跳出迴圈,最後輸出的是 20。如果改為k...

在c語言中用while語句時當進去死迴圈時怎麼讓它跳

用break可以跳出最近的一個while或者for迴圈,如果是在方法或者函式內,也可以用return來跳出。 幻夢 人生 c 中,可以使用以下幾種方式退出while迴圈。1 break語句。此語句是正常退出while的方法。可以在滿足條件時,呼叫此語句退出迴圈。2 return語句。此語句是通過返回...