1樓:匿名使用者
char型別佔8bits
a=3 0000 0011
b=6 0000 0110
a^b 0000 0101
(a^b)<<2 0001 0100
2樓:欲將心事付瑤琴
a = 00000011b;
b = 00000110b;
a^b = 00000101b;
(a^b) << 2 = 00010100b;
c = 10100b
138.設有定義「char a=3, b=6, c;」,計算表示式c=(a^b)<<2後c的二進位制值是( )
3樓:匿名使用者
沒有正確答案。
a的二進位製碼為 0000 0011 b的二進位製碼為 0000 0110
a^b 0000 0011
^ 0000 0110
-----------------------0000 0101
"<<"這個是 左移位符 0000 0101 左移兩位 為 0001 0100
答案是 0001 0100 。
4樓:忽然心就空了楓
這邊的答案都不對啊!答案應該是00010100
5樓:匿名使用者
都不對,00010100 對,char a = 3, int a = 51 , 同理 int b = 54, a ^ b = 00000101, 左移後為 00010100
若有定義:int a=6,b=2;char c1='a',c2='b';則表示式a+b%5+c2-c1的值是( )。
6樓:匿名使用者
b%5 = 2,
c2 - c1 ='b'-'a' =1('b' 的ascii碼值比'a'大1),
a=6所以結果為6+2+1=9
擴充套件資料兩個表示式若被說是等值的,表示對於自由變數任意的定值,兩個表示式都會有相同的輸出,即它們代表同乙個函式。
乙個表示式必須是合式的。亦即,其每個算符都必須有正確的輸入數量,在正確的地方。如表示式2+3便是合式的;而表示式*2+則不是合式的,至少不是算術的一般標記方式。
7樓:
b%5 = 2,c2 - c1 ='b'-'a' =1('b' 的ascii碼值比'a'大1),所以結果為6+2+1=9
8樓:匿名使用者
原式等於6+(2對5的餘數)+98-97=6+2+1=9
設有語句int a=3,b=6,c,c=a^b<
9樓:顓孫來福錢詞
1和1對於!(a+b)+c-1&&b+c/2,&&前後接兩個表示式,乙個是!(a+b)+c-1,另乙個是b+c/2
,第乙個表示式結果為c-1即2(因為(a+b)非0,故!(a+b)結果為0),第二個表示式結果為6,所以這兩個表示式均為非零,所以它們進行邏輯與操作之後的結果為1
對於a||
b+c&&b==
c,||邏輯或操作符連線兩個表示式,但是第乙個表示式為a,非0,故不用求後乙個表示式的值,所以該表示式結果為1
在vs2010上執行通過
測試**如下:
inta=3,b=4,c=5
;intd=
!(a+b)+c-1&&b+c/2;
inte=a
||b+c&&b==
c;cout
< ;cout< 設有int a=5,b=6,c=2; ,則表示式a 10樓:匿名使用者 c值不變,仍為2 注意||運算子有短路的*** 也就是當||運算子左側的值為非零,也就是真時,那麼這個||表示式的值肯定為1,真,沒有必要再去判斷||右側的了 所以本題中--c根本沒有執行 類似的,還有&& 當&&運算子左側為假時,那麼可以斷定整個&&表示式的 值肯定為0,假,所以也沒有必要算&&號右側的了 11樓: 完了c的值是1.。。。 c語言環境中,設a=1,b=2,c=3,d=4,則表示式:a>b?a:c>d?a:d的結果為( ) 12樓:lovefree隨風 表示式:a>b?a:c>d?a:d的結果為4。 解析:1、由於c語言的相同優先順序運算子運算規則為從左至右依次運算,而條件運算子具有右結合性,所以表示式:a>b? a:c>d?a: d優先運算c>d?a:d,得出的結果為4; 2、再運輸a>b?a:4,得出的結果為4。 所以最終得出的結果為4。 擴充套件資料表示式為:表示式1?表示式2:表示式3 先求解表示式1, 若其值為真(非0)則將表示式2的值作為整個表示式的取值,否則(表示式1的值為0)將表示式3的值作為整個表示式的取值。 例如:1、max=(a>b)?a:b,就是將a和b二者中較大的乙個賦給max。 2、min=(a條件運算子具有右結合性 當乙個表示式**現多個條件運算子時,應該將位於最右邊的問號與離它最近的冒號配對,並按這一原則正確區分各條件運算子的運算物件。例如: 13樓:匿名使用者 結果是4,一會寫出過程 「?:" 這是乙個三目運算子,以 「c>d?a: d」這個**為例,程式會首先判斷「c>d」是否為真,若為真則執行冒號前的語句,即其結果為」a「的值;若為假,則執行冒號後的語句,即其值為"d"的值。 一般遇到這樣的題要拆分著做,首先判斷最左邊的「a>b」,這個結果為假,根據條件判斷運算子的性質,所以接下來執行第乙個冒號後的語句「c>d?a:d」,接著判斷「c>d」,結果為假,所以最終取值為第二個冒號後的值,即為d的值,也就是4。 14樓:匿名使用者 答案為4,「a?b:c」是從右向左執行的,也就是說a為真的話,這個式子就可以看做b,否則可以看做c;c大於d麼,不是,則變成了a>b? a:d,a大於b麼,不是,則為d,d=4. 15樓:匿名使用者 答案是4.三目運算子就可求得 c語言 設有如下巨集定義:#define a 3+2 #define b a*a,則表示式b*b的值為多少 16樓:匿名使用者 掌握"巨集"概念的關鍵是「換」。一切以換為前提、做任何事情之前先要換,準確理解之前就要「換」。所以只要換就可以了: 把b換成a*a,那麼b*b就是a*a*a*a,然後把a換成3+2,結果就是:3+2*3+2*3+2*3+2=23; 不知道你理解了沒有,如果是這樣巨集定義a的,那麼結果又不一樣了,#define a (3+2) 那麼結果就是5*5*5*5,所以比它本來沒括號,你不能習慣的加了括號,這是最容易犯錯的。 17樓:兜裡有兩塊糖 c語言中的巨集,在編譯時,進行簡單替換。 也就是說 當你算b*b時 編譯器會把它變為a*a*a*a 3+2*3+2*3+2*3+2 = 23 因為你沒有寫括號也就是 #define a (3+2) 所以不是你預想的 (3+2)*(3+2)*(3+2)*(3+2)所以說巨集是簡單替換,不會幫你把運算優先順序也編譯出來。 這個是乙個常見的巨集問題。 18樓:匿名使用者 巨集只是簡單的文字替換 b等價於 3 + 2 * 3 + 2 b*b等價於 3 + 2 * 3 + 2 * 3 + 2 * 3 + 2 19樓:匿名使用者 3+2*3+2*3+2*3+2 如果a,b,c,是int型的話 1 4 10 2 4 2 3 4 2 4 10 2 6 3 4 3 4 20 6 3 4 4 4 3 3 4 5 4 0 4 6 4 c 的優先順序 優先順序 操作符 結合性 1 左 2 左 3 sizeof new delete castname cast單目操作符... 你是誰會想 表示式一值為1,表達二好象有錯誤,不能那樣表示,應寫成a b b c,這樣寫二式為真,值為1,三式且符號兩邊都非零,都為真,所以三式值為2,四式為賦值語句,最終結果是c的值為2 湯福書屋 第一個 a b 輸出結果為 1 第二個 a b c為真,3 2為真 即為1,但1 1為假 即為0第三... vb的希望能幫到你 dim a as integer dim b as integer dim c as integer dim x1 as integer dim x2 as integer a text1.text b text2.text c text3.text if b 2 4 a c 0...在c中a4b10c2計算abcac3a的最
若有定義 int a 3,b 2,c 1並有表示式 a b,abc,b c 1,c 1,則表示式值相等的是哪兩個
c語言程式設計求ax平方 bx c 0 在a 3 b 6 c