一題邏輯運算的c語言題目跪求,一題邏輯運算的C語言題目。。。跪求

2022-03-01 22:16:05 字數 8089 閱讀 5561

1樓:匿名使用者

這個簡單,你知道c語言是有上向下一次執行的是把,你的程式可是簡單的分析成以下的 形式

main( )

{ int x,y,z; //定義變數 x,y,z;

x=y=z=0; //你給x,y,z 賦了個初始值0;

++x||++y&&++z; //這是你的邏輯表示式 其中++x 等同於x=x+1(賦值運算)之後的++y和++z 同理,||和&&是邏輯運算子,這個 語句就牽扯到了 邏輯運算子的 優先順序:&&的優先順序大於|| 而他們倆的優先順序又大於賦值運算子的!

列印出來 x,y,z的結果

}優先順序就是決定電腦先去執行那一部分,越高越先執行! 之後你的語句就是這個上面這個形式的重複了 希望 我的解答能讓你瞭解到邏輯表示式在系統是怎麼執行的。有什麼不懂的 再問哈!

2樓:暢景彰

main( )

幾個關於邏輯運算的c語言題目

3樓:核蛋小子

哦,bai這個我知道,書上du和老師都會提到zhi這個問題的,在邏輯dao運算中會出現「短路」內的現象

容,例如「&&」並列語句當中如果第一個為假的話就結果直接為零,不執行後面的運算;「||」或語句中如果第一為真結果直接為1,不執行後面的語句。這樣你就明白為什麼第一道題中的n不是0而是原來的值2,第二道題仲的y是3而不是4,第三道題仲的b是0而不是1啦

4樓:匿名使用者

5>6是假,所以&&的結果肯定是假,右邊的n=c>d就沒有運算了,所以n仍為2

同理++x=4,為真,所以||結果肯定是真,右邊的++y沒有運算

還是同理,++a=1>0為真,所以++b沒有運算,++c算了

5樓:匿名使用者

(m=a>b)&&(n=c>d) 結果該是0 因a不大於b m=就為假 後面的c++就不運算了

第二個是對的

++a 所以a=1

後面++b不執行

然後++c;

6樓:匿名使用者

應該沒錯,典型bai的短路du求值。

分析zhi

一個吧:

(m=a>b)&&(n=c>d)

a > b false

m = a >b m = 0

(m = a>b) 整個表達dao

式結內果也容

是0因為左邊表示式結果為假,根據短路求值規則,右邊不用求解,所以n不變

結果是: 2

7樓:匿名使用者

(m = a > b)結果為0

(n = c > d)結果為1

(m = a > b) && (n = c > d)結果為1n = 2

8樓:匿名使用者

2樓的回答很好,給他加分

9樓:匿名使用者

你確定你給的答案沒有錯?

10樓:餘同書由君

||包括:1。&&邏輯與

2。||邏輯或

3。!邏輯非

對於使用邏輯運算子的表示式,返回0表示「假」,返回1表示「真」。關於邏輯運算子的解釋

請注意:任何使用兩個字元做符號的運算子,兩字元之間不應有空格,即將==寫成=

=是錯誤的。

假設一個程式在同時滿足條件a<10和b==7時,必須執行某些操作。應使用關係運算子和邏輯運算子「與」來寫這個

條件的**。用&&表示「與」運算子,該條件**如下:

(a<10)

&&(b==7);

類似地,「或」是用於檢查兩個條件中是否有一個為真的運算子。它由兩個連續的管道符號(||)表示。如果上例

改為:如果任一語句為真,則程式需執行某些操作,則條件**如下:

(a<10)

||(b==7);

第三個邏輯運算子「非」用一個感嘆號(!)表示。這個運算子對表示式的真值取反。例如,如果變數s小於10,程式

程式需執行某些操作,則條件**如下:

(s<10)

或(!(s>=10))

//s不大於等於10

關係運算子和邏輯運算子的優先順序一般都低於算術運算子。例如,5>4+3的計算與5>(4+3)運算子是一樣的,即

先計算4+3,再執行關係運算。此表達示的結果為「假」,即,將返回0。

下面的語句

printf("%d",5>4+3);

將輸出0

可以總結為:&&的結果是真真為真。||的結果是假假為假。

跪求高手幫忙c語言的題 10

11樓:冰の戀魂

雖然題目不難,

但問者完全不經過

自己獨立的思考就.....

ls說的好,你忒懶了!~

我覺得沒有誰會解答你的問題

12樓:心岸

這麼點兒分,這麼長的題.還這麼沒挑戰性.誰願意解!

c語言兩個問題求解答,一個邏輯運算,一個陣列 第一題希望能詳細一點,網上的都看不懂

13樓:匿名使用者

第一題題目不全

第二題答案為0。

連續邏輯與,除最後一個以外,前面均為真(非0),最後'b'就是98啊!

98-'b'當然是0。有0參與的邏輯與,結果當然為假,也就是0了最後不寫出答案了嗎?20 13 6

一開始陣列內容為

2 3 4

5 6 7

8 9 10

for的執行內容,翻譯一下就是陣列中每個元素,都跟本行的2號下標也就是最後一個元素疊加,整個for執行完畢後i和j取值均為3,陣列內容如下:

6 7 812 13 1418 19 20下面的while:

第一次while:先判斷i的取值,i為3,大於0正確,執行迴圈體:

i--,i變成2;

輸出a[i][i]也就是a[2][2],也就是20.

第二次while:先判斷i的取值,i為2,大於0正確,執行迴圈體:

i--,i變成1;

輸出a[i][i]也就是a[1][1],也就是13.

第三次while:先判斷i的取值,i為1,大於0正確,執行迴圈體:

i--,i變成0;

輸出a[i][i]也就是a[0][0],也就是6.

然後再判斷while條件,0>0不成立,退出

關於c語言邏輯運算子一道簡單的題目!

14樓:夏碧夢

這是邏輯運算子的短路判斷造成的!

由於邏輯運算子||和&&實現判斷左值的,顯然如果根據左值就能夠判斷整個表示式真假的話,那剩下的就不用判斷了!目前的c編譯就是這樣處理的!

對於邏輯或||,左值為真,整個表示式就為真;

對於邏輯與&&,左值為假,整個表示式就為假!

++x||++y&&++z中先執行邏輯或||左邊的++x後x=1,左值為真,後面的自然就不用處理了!

15樓:匿名使用者

這個是c語言的優化造成的。

按照c語言對邏輯或運算優化計算的規定,當邏輯或的左運算分量滿足時,不再計算邏輯或的右運算分量,而直接得到邏輯或運算的結果。由於邏輯或的右運算分量不曾計算過,所以變數y,z的值也不為變化。

16樓:伊·梵

就是這樣算的

邏輯運算子從左至右還確保其運算元的計算。 但是,它們計算必要的運算元的最小數目確定表示式的結果。 這稱為 「短路計算」。

誰有大一c語言考試題?快考試了,跪求題庫··

17樓:陳豐登曉星

一、單項選擇題

(每小題2分,共50分)

1、一個c程式的執行是從___a__。

a、本程式的main函式開始,到main函式結束

b、本程式的main函式開始,到本程式檔案的最後一個函式結束

c、本程式檔案的第一個函式開始,到本程式檔案的最後一個函式結束

d、本程式檔案的第一個函式開始,到本程式main函式結束

2、c語言程式的基本單位是___c___。

a、程式行

b、語句

c、函式

d、字元

3、請選出可用作c語言使用者識別符號的一組識別符號___b___。

a、void

b、a3_b3

c、for

d、2a

define

_123

-abc

doword

ifase

sizeof

4、假定x和y為double型,則表示式(x=2,y=x+5/2)的值是__c__

。a、4.500000

b、4c、4.000000

d、2.000000

5、下列可以正確表示字元型常量的是___d__。

a、297

b、"a"

c、"\n"

d、'\t'

6、在c語言中,要求運算數必須是整型的運算子是__d__。

a、/b、++

c、*=

d、%7、c語言中,複合語句的構成是將一系列語句置於__c__。

a、begin與end之間

b、方框號「[

]」之間

c、花括號「」之間

d、圓括號「(

)」之間

8、有如下程式段,對應正確的資料輸入是___a___。

float

x,y;

scanf(」%f%f」,

&x,&y);

printf(」a=%f,b=%f」,

x,y);

a、2.04《回車》

b、2.04,5.67《回車》

5.67《回車》

c、a=2.04,b=5.67《回車》

d、2.045.67《回車》

9、以下程式段的輸出結果是___d__。

inta=5678;

printf(」%2d\n」,

a);a、提示出錯、無結果

b、56

c、78

d、5678

10、已知:char

ch='a';則下列表示式的值是__b__。ch=

(ch>='a'&&ch<='z')

?(ch+32)

:ch;

a、ab、a

c、zd、z

11、下列描述,正確的是___b__

。a、表示式3.91%5是合法的

b、用b=89作為while迴圈的條件是合法的

c、逗號表示式是沒有值和型別的

d、字元型變數和int型變數的操作完全不同

12、閱讀以下程式:

main()

程式執行後,如果從鍵盤上輸人5,則輸出結果是__b__

。a、3b、4

c、5d、6

13、下列程式的執行結果是___c__。

#include

」stdio.h」

main()

}a、3

b、4c、3

d、44

414、設a、b、c、d、m、n均為int型變數,且a=5、b=6、c=7、d=8、

m=2、n=1,則邏輯表示式(m==a=10)

break;

if(b%3==1)

}printf("%d\n",a);

}a、4

b、6c、5

d、101

17、執行以下程式後輸出的結果是___d__。

main()

while(--y);

printf("%d\n",y--);}

a、-1

b、1c、8

d、018、執行以下程式後輸出的結果是___b__。

main()

a、4b、0

c、1d、30

19、以下程式執行後,輸出結果是__c__。

main()

,i,k=2;

for(i=0;i=0;i--)

a[i]=10-i;

printf("%d

%d%d",a[1],a[6],a[9]);

}a、169

b、94

1c、961

d、35

723、若定義:float

x=3.14159,*p=&x;

則printf("%f\n",*p++);的輸出結果為__c__

。a、無確定值

b、x的地址

c、3.14159

d、4.14159

24、以下程式的輸出結果是___b__

main()

a、27

b、ne

c、ag

d、nu

25、下列程式的輸出結果是___a__。

#include

"stdio.h"

main(),i,

s,*p;

p=a;s=0;

for(i=0;i<=9;i++)

s+=*p++;

printf("%d\n",

s);}

a、45

b、44

c、0d、9

二、判斷題(每小題1分,共10分)

1.語句int

*point;中的point是指標變數名。(t)

2.主函式和其它函式之間可以相互呼叫。(f)

3.puts(

)和gets(

)函式只能輸入或輸出一個字元。(f)

4.可以對字元型陣列元素進行整體輸入、輸出。(t)

5.do-while語句構成的迴圈不能用其他語句構成的迴圈來代替。(f)

6.在一個函式內的複合語句中定義的變數可以在本函式範圍內有效。(f

)7.函式必須有返回值,否則不能使用函式。(f)

8.for(;;);語句相當於while(1);語句。(t)

9.c程式的執行總是從第一個定義的函式開始。(f)

10.c語言中的關鍵字專門用作語言的特定成分,而不能作為一般識別符號使用。(t)

三、程式填空題(每空2分,共10分)

1、下面程式完成判斷某一個數m是否為素數,如果是則輸出"misa

prime!",否則就輸出"m

isnot

aprime!",請選擇填空。

main()

printf("\n

count=%d\n",

count);

}(3)、

a、i=0

b、i=1

c、i=9

d、i=-1

(4)、

a、i!=j

b、i!=j

||j!=k

c、i!=j&&

j!=k

d、i!=j&&

j!=k

&&k!=i

(5)、

a、w%13=0

b、w/13=0

c、w%13==0

d、w/13==0

四、程式設計題(第1小題12分,第2小題18分,共30分)

1、從鍵盤輸入一個4位數的正整數n,將該數反序輸出。例如,若輸入的是

1357,則輸出的是7531。

要求:1)利用vc++編譯系統進行除錯、執行

2)對輸入的正整數n的合法性進行檢查

3)將源程式以「程式設計題1.c」為檔名儲存在網路盤(k:盤)的考生資料夾上,用其它檔名儲存或儲存在其他地方均不能得分

2、已知一組字串a[27]="jjyyzzabcdefgjjyyzzabcdefg";

請編一程式,將其

中的小寫字母換成其前一個字母,即z換成y,y換成x,...,b換成a,若是a則換成z。然後對陣列a[27]從小到大排序,並輸出排序後的字串。

要求:1)利用vc++編譯系統進行除錯、執行

2)先輸出原字串(即未做任何改變的字串),最後輸出排序後

的字串

3)將源程式以「程式設計題2.c」為檔名儲存在網路盤(k:盤)的考生資料夾上,用其它檔名儲存或儲存在其他地方均不能得分

C語言算數與邏輯運算子的優先順序?

a b c 1 b c 2 這個題目考察的是運算子優先順序,這個題目中只涉及算數運算子和邏輯運算子,只需記住算術運算子的優先順序高於邏輯運算子即可。先算括號,再取反,然後算術運算,最後邏輯。如果前邊還有個d 這一串,那麼最後邏輯完成之後是0還是1,最後再賦給d,即賦值優先順序還要低於邏輯。至於為什麼...

c語言中邏輯運算子的優先順序高於算術運算子

邏輯非 即 操作符 優先順序高於算術運算子。所有的單目操作符優先順序都高於雙目和三目操作符。括號運算子是最高階的運算子。三個邏輯運算子與或非。非的運算子優先順序高於算術運算子。c語言的操作符共有15個優先順序,如下 left toright type sizeof right toleft left...

C語言,邏輯運算的例題,答案到底是B還是D,麻煩分析一下

運算子來的優先順序和表示式的求值順源序是兩個不同的概念bai,兩者沒du有直接關係。zhi 圓括號的優先順序最高,先dao算 解析從這一句話開始就是錯誤的,故之後的內容可以無視。運算子是一個順序點,在程式經過順序點時,之前的所有表示式必須已經求值完畢,它們的 必須已經發生。因此一定是先對 之前的表示...