c語言題目已有定義inty10py則能使的

2021-03-19 18:34:00 字數 3734 閱讀 3976

1樓:

a選項是錯的,baix是整型

du,p是指標型別,賦值之後x的值

zhi是daoy的記憶體地址,不會是10。專b選項是錯的屬,同樣,執行賦值之後x的值是p的記憶體地址,不會是10。

c選項是錯的,因為這個賦值過程和a選項的賦值過程是等價的,所以錯誤的原因也是一樣的。

d選項是對的,沒有為什麼。

2樓:匿名使用者

x是整數,p,&y都是整型指標,不能相互賦值,其他三個都是語法有問題

3樓:匿名使用者

int *p=&y; --------------》p指向y的指標,×p即為指標變數 == 10

c語言:已有定義int x=3,y=4,z=5;則表示式 !(x+y)+z-1&&y+z/2的值是?

4樓:

答案是1。

涉及到的運算子: ! () + - && /運算子優先順序為:() ! / + - &&運算過程:

x=3,y=4,z=5

!(x+y)+z-1&&y+z/2

!(3+4)+5-1&&4+5/2

所以表示式計算步驟為

!(3+4)+5-1&&4+5/2 -> !7+5-1&&4+5/2!7為 0

-> 0+5-1&&4+5/2

5/2 整數除整數得整數 2

-> 0+5-1&&4+2

-> 4&&6

邏輯運算 &&

擴充套件資料c語言運算子的優先順序:

如果同一優先順序的運算子,結合次序由結合方向所決定。

5樓:匿名使用者

只是等於1的,我是經過turbo c2.0編譯過的,答案應該沒什麼問題的,程式是:

main()

答案為什麼會等於1呢?那是因為運算級別的問題,根據運算級別,實現算括號裡面的先,所以程式就變成!7+z-1&&y+z/2;

然後就算!運算,由於7是大於1的,也就是真,所以!真就是假,也就是0,所以函式就變成0+z-1&&y+z/2;

然後再算除號的,由於你這裡兩個都是整形的,所以小數點後面的數忽略,所以就變成0+z-1&&y+2;

接著計算加減運算,也就是變成4&&6;

因為4和6都是大於1的數,所以就是真,由於&&兩邊都是真的話,輸出的就是真,所以結果就是1。

要是還有什麼不明白的話,就mm我吧!嘻嘻~~~~~~

6樓:匿名使用者

1優先順序: 算數》條件》關係》賦值

關係中的優先順序: 非》與》或

7樓:匿名使用者

1,把運算子優先順序搞清楚就好了

8樓:匿名使用者

x等於y加4。四家外加1+3+5+4+1等於三五+4+5+1。

9樓:匿名使用者

!(3+4)+5-1&&4+5/2

=!7+4&&4+2

=!11&&6

所以說那個式子的值是:不是11並且是6

設有說明:double y=0.5,z=1.5;int x=10;則能夠正確使用c語言庫函式的賦值語句是()

10樓:人人為麼

(int)abs和 float fabs 的區別。一個是整數的絕對值,一個是浮點數的

選項afabs(x)裡的x是整型應該用abs(x)

願採納!

11樓:匿名使用者

a.z=exp(y)+fabs(z); 正確b.y=log10(y)+pow(y); 沒有log10這個函式c.

z=sart(y-z); 沒有sart函式 應該是內sqrt吧,容y-z<0 錯誤

d.x=(int)(atan2((double)x,y)+exp(y-0.2)); 沒有atan2函式

12樓:愛不釋手的溫度

a,浮點型和整型沒法自動轉換,b,pow應該是pow(x,y),c,應該是sqrt,抄錯了吧,sqrt(x),x>=o

已有定義:int i,a[10],*p;,則合法的賦值語句是_______。 a) p=100; b) p=a[5]; c) p=a[2]+2; d) p=a+2;

13樓:綠綠的葉子

我不同意 樓上

首先復 定義了 一個 指標

制int *t;

t=&a;的意思是 吧a的地址賦給t。然後 又返回return *t;

這裡就要 清楚 這個知識點了

int q=1;

int *p;

p=&q;其實他的反運算就是*p=q;

也就是 *p其實=1;

所以return *p;

的值是等於a的值;選d

14樓:

1 已有定義:baiint i,a[10],*p;,則合法的賦值du語句是__d__。

a) p=100; b) p=a[5]; c) p=a[2]+2; d) p=a+2;

2 函式

zhi int fun(int a) 的函式值是 d 。

a) 變數t的值dao b) 變數t的地址內 c)形參容a的地址 d)形參a的值

15樓:匿名使用者

a 因為返回的是*t,即指標t地址上的值的意思。

已知int x=10,y=20,z=30;以下語句執行後x,y,z的值是,求詳細解釋

16樓:enjoy就是家

if(x>y)z=x;

如果x>y 執行z=x,因為x不大於y,所以z=x這句話不執行,繼續向下執行;

x=y;

x=20;

y=z;

y=30;

z還是原來版的30。

已知int x=1,y=2,z=3;,以下語句執權行後x,y,z的值是()。

if(x>y) z=x;x=y; y=z;

(a)x=1,y=2,z=3  (b)x=1,y=3,z=3(c)x=2,y=3,z=1  (d)x=2,y=3,z=3

17樓:匿名使用者

if(x>y)  z=x; x=y;y=z;相當於:

if(x>y)  {}z=x;} x=y;y=z;

故答案是:b,即第一個賦值語句不執行,由此建議程式設計時,if語句後面一定要寫{},不能偷懶。

18樓:柯墨

題目的寫法是簡略寫法

比較完整的寫法應該是:

if(x>y)

x=y;

y=z;

在沒有{}的前提下,if的控制範圍只限於下內面的第一條語句容。

如果題目改為

if (x>y)

z=x,x=y,y=z;

那麼裡面的值將會變為lz所想的10,20,10。

19樓:匿名使用者

if(x>y)

z=x;

x=y;

y=z;

if條件不滿足,z=x就沒有執行,從而,x=y=20,y=z=30,z的值沒有變,因為if條件不滿足

所以答案是 20 30 30

20樓:我姐是恐龍

x

後面x=y;y=z執行;

在C語言中,若有定義 int y 3,x 71,2,3,4,5,6,7,則表示式y x

定義一個整形陣列,陣列包括7個元素,並初始化各個元素的值分別為1 2 3 4 5 6 7對應元素x 0 x 1 x 2 x 3 x 4 x 5 x 6 x 5 的值為6,y x 5 相當於y y x 5 3 6 9。x 7 表示7個元素的一維陣列x 一個陣列x中有7個元素 在c語言中,若有定義 st...

C語言問題 已有定義int a 101,2,3,4,5,6,7,8,9,10要求通過指標完成從一維陣列中刪除下標為K的元素

兩個問題 1.輸入k之後 要重新將 p 指向 a 即10行前 一句 p a 2.最後一個for越界,i 9 時 p i 1 就成了 p 10 baifor p a p a 10 p 這個迴圈du已經讓p指向zhi了陣列中最後一個元素,所以 for i k i 10 i 在這個迴圈之前應該讓daop重...

大一C語言題目若有定義語句 int a

核心在於p的型別。定義等效於 int p 3 這裡p是一個陣列,包含三個元素,每個元素型別為int 所以a p為陣列名,不可以賦值。b p 0 為int 而a為二維陣列名,等效於int 型別不匹配。c a 1 2 為a的一個元素,型別是int,所以 a 1 2 是int 和p 0 型別相同,所以這個...