在C 中,int a 6,b 7,c,d d c a,b 15 分別求出a,b,c,d的值

2021-09-25 03:13:52 字數 6031 閱讀 4706

1樓:

a=6,b=7,c=6,d=22;

這裡不好理解是d=(c=a,b+15) ,括號內完成了兩個事:1,c=a,即為c賦值;2.完成b+5賦值給d.

2樓:匿名使用者

直接給你解釋這句d=(c=a,b+15)

編譯器會這樣進行操作,

因為括號優先所以先括號,

c=a;

再進行逗號運算

b+15;

最後進行賦值運算

d=b+15;

因為b+15是括號表示式裡面的最後一個表示式,所以取他的值做賦值運算

3樓:匿名使用者

你只需要記住一點,任何表示式在計算時都要遵循其符號的優先順序,對於括號內表示式,+優先順序別最高,先計算b+15,然後接下來計算次優先順序c=a,最後計算逗號表示式即d=b+15=22,因此你所說的c實際上是做了計算的,即c=6

4樓:匿名使用者

c==6 ,我覺得 你可能打錯了 應該是d=(c=b,b+15)

這時 c==7;因為逗號運算子計算是 從左到右得 (而且後面b也沒被從新賦值。。)

5樓:燈影徘徊

c就是6啊!把a的值賦給了c,逗號運算的值為最後的式子結果

6樓:晨光來了

d=22

b+15=22;

7樓:偶冰嵐

逗號運算只看逗號後面的,不管前面的

8樓:誰家的小灰

逗號運算雖然取值是最右邊的 但程式是從左到右進行運算的 所以c=a也進行了運算 即進行了賦值 c的值已經是6了 後面的 b+15 值計算完賦給d並沒有影響c的值 所以c=6

9樓:

a=6,b=7,c=6,d=22

10樓:佘暄玲

d=(c=a,b+15)這句你確定沒打錯?

已知a=10,b=15,c=1,d=2,e=0,則a++&&e++&&c++的值為?求詳細過程

11樓:

0

a++等於10; // a=11;

e++等於0; // e=1;

c++等於1; ////c=1;

10&&0&&1為假,所以為0;

加法有幾個重要的屬性。 它是可交換的,這意味著順序並不重要,它又是相互關聯的,這意味著當新增兩個以上的數字時,執行加法的順序並不重要。 重複加1與計數相同; 加0不改變結果。

加法還遵循相關操作(如減法和乘法)。

加法是最簡單的數字任務之一。 最基本的加法:1 + 1,可以由五個月的嬰兒,甚至其他動物物種進行計算。

在小學教育中,學生被教導在十進位制系統中進行數字的疊加計算,從一位的數字開始,逐步解決更難的數字計算。

12樓:匿名使用者

a++&&e++&&c++

e為0;e++是先使用e再進行自加,所以結果必定是0;

誰可以幫我做一下這個c++c語言的作業

13樓:飛o霜

因為我對c語言的輸入輸出不太熟悉,對輸入輸出的錯誤不予判斷!

我按c++的方式給予判斷。

一、 基礎題(15%)

1.定義int n=5,a=12;寫出a*=(n%=3);執行後變數n與a的值。

【答案】

n%=3 取餘結果n=2

執行後:n=2;a=24

2.設a=b=5;分別判斷表示式的真假:6>a>2與++b==6。

【答案】

6>a>2 6>5>2,故為真;

++b操作是將b值加1,同時整個表示式的值為結果值,所以++b值為6,故++b==6為真;

3.分別計算表示式的值:43 | 38 與 (43 ^ 38) >> 2。

【答案】

43的二進位制為:101011;

38的二進位制為:100110;

43|38= 101111=47;或操作;

43^38= 001101,異或操作,右移2位=000011=3;

43 | 38 結果為47; (43 ^ 38)>>2結果為3;

二、 改錯(30%)

1、試找出程式中的語法錯誤,寫出錯誤所在行號及正確內容。

#include

#1 main

#2【答案】

main主函式**括號,正確如下:

#1 main()

c++語言的每個表示式的結束都需要加上分號;故第6.9行錯誤,正確如下;

#6 k=1 ;

#9 for(i=m;i!=n;i+=k)

2、程式功能為:判斷從鍵盤上輸入的一個字元,並按下列要求輸出。若該字元是數字 輸出

字串"0-9";若該字元是大寫字母 輸出字串"a-z";若該字元是小寫字母 輸出字串"a

-z";若該字元是其他字元 輸出字串"!,@,…",寫出錯誤所在行號及正確內容。

#include

#1 main()

#2【答案】

main主函式必須有返回型別,如果不需要返回值,用無返回值型別void,正確如下:

#1 void main()

當判斷表示式需要變數時,請將變數放在左邊,而且範圍判斷要用“與”操作;

#5 if('0'<=c||c<='9') 改為if(c>='0'&&c<='9') 這邊你用了或;

#7 else if('a'>=c&&c<='z')改為else if(c>='a'&&c<='z')

#9 else if('a'<=c&&c>='z')改為else if(c>='a'&&c<='z')

三、 程式填空(15%)

下列程式的功能為:輸入三角形的三邊長,求三角形面積。

已知三角形的三邊長a,b,c,則該三角形的面積公式為:

, 其中s = (a+b+c)/2,請填寫適當的符號或語句,使程式實現其功能。

#include

#include

main()

【答案】

①輸入語句:scanf("%a%b%c",&a,&b,&c); 這個是按你前面的寫法寫的,不懂對錯!

②這個語句是計算面積的,用海**式:s=[p(p - a)(p - b)(p - c)]^(1/2);

語句為:area=sqrt(s*(s-a)*(s-b)*(s-c));

③ printf( "%area",area);

四、 編寫程式(40%)

1、“有物不知幾何,三三數餘一,五五數餘二,七七數餘三,問:物有幾何?”程式設計求2000

以內所有解,列印時用空格隔開。將程式儲存到學號資料夾下,檔名為b-1.c

問題補充:急需答案!!!謝謝!!!!!

【答案】

我用c++給你弄一下:

#include

void mani()

做完收工,如果有錯誤的地方請指教,沒對著電腦程式設計,難免會做錯,諒解!

14樓:匿名使用者

一: 1:a=24 n=2

2: 6>a>2 false

++b==6 true

3: 47和 3

二 1:

1 void main()

4 scanf( "%d%d", &m, &n );

5 if (m < n)

6 k = 1;

9 for(i=m;i!=n;i+=k)

2: 1 void main()

2 }

15樓:

一:1:a=24 n=2

2: 6>a>2 false

++b==6 true

3: 47和 3

二1:4改為scanf( "%d%d", &m, &n );

5改為if (m < n)

6改為 k = 1;

2: 2改為}

16樓:匿名使用者

歡迎參觀!!!!

本人已經在電腦上驗證過答案了的,也作了詳細註釋和分析:

其實這些東西還是要自己多做,本身也不是太複雜的東西,實在不行可以上機驗證結果是否正確,這樣才能提高哈。希望對你有幫助:

一、 基礎題

1.答案 a=24,n=2

a*=(n%=3)

⑴分析:先計算括號內內容 n%=3->n=n%3=5%3=2

⑵分析:a*=(n%=3)->a=a*(n%=3)=12*2=24

2.答案 假,真

⑴6>a>2

分析:">"號優先順序是從左到右,所以等價於(6>a)>2,6>a=5為真返回1等價於1>2為假

⑵++b==6

分析:++為單目運算子,優先順序高,等價於(++b)==6等價於6==6為真

3.答案 47,3

⑴43 | 38

分析:|為按位或(兩個其中有一個為1則結果為1),先轉換成2進位制

101011 | 100110結果為101111轉換為10進製為47

⑵(43 ^ 38) >> 2

分析:^逐位異或,兩個不同則結果為1

43 ^ 38等價於 101011 ^ 100110結果是001101

>> 2右移兩位,000011=3

二、 改錯

1、 #1 void main//不帶void的這種寫法不規範,有些編譯器會出錯。

#5 if (m < n )//條件必須加括號

#6 k = 1;//語句必須以;結束

#9 for ( i = m;i != n; i+=k ) //for語句以;隔開

2。 #1 void main() //不帶void的這種寫法不規範,有些編譯器會出錯。

#2} fclose(fp);//關閉檔案控制代碼}

17樓:伊爾柳

一、 基礎題(15%)

1.定義int n=5,a=12;寫出a*=(n%=3);執行後變數n與a的值。

【答案】

執行後:n=2;a=24

2.設a=b=5;分別判斷表示式的真假:6>a>2與++b==6。

【答案】

6>a>2為真;++b==6為假

3.分別計算表示式的值:43 | 38 與 (43 ^ 38) >> 2。

【答案】

43 | 38 結果為47; (43 ^ 38) >> 2結果為3

二、 改錯(30%)

1、試找出程式中的語法錯誤,寫出錯誤所在行號及正確內容。

#include

#1 main

#2【答案】

#1 main改為void main()

#4改為scanf( "%d%d", &m, &n );

#5 if (m < n ) 必須加括號

#6 k = 1; 必須加分號

#9 for ( i = m;i != n; i+=k ) for語句以;隔開,而不是以逗號隔開

2、程式功能為:判斷從鍵盤上輸入的一個字元,並按下列要求輸出。若該字元是數字 輸出字串"0-9";若該字元是大寫字母 輸出字串"a-z";若該字元是小寫字母 輸出字串"a-z";若該字元是其他字元 輸出字串"!

,@,…",寫出錯誤所在行號及正確內容。

#include

#1 main()

#2【答案】

#1改為 void main()

#2【答案】

① scanf("%f %f %f",&a,&b,&c); 輸入三條邊長

② sqrt(s*(s-a)*(s-b)*(s-c)); 計算面積

③ "%7.2f" 設定輸出精度

四、 編寫程式(40%)

1、“有物不知幾何,三三數餘一,五五數餘二,七七數餘三,問:物有幾何?”程式設計求2000以內所有解,列印時用空格隔開。將程式儲存到學號資料夾下,檔名為b-1.c

#include

void main() }

再以規定的檔名儲存到規定的路勁就可以了!!!

若有定義語句 int a 3,b 2,c 1,以下選項中錯誤的賦值表示式是

a錯了,不能將3賦值給表示式,b 4已經是個表示式了,既然是表示式就只有真假 即0和1 基礎知識要看仔細點 a錯了,原式 a 4 3,明顯錯誤 a肯定是錯的 變數a是整型,b 4 3這個表示式是bool,所以出錯。a放到程式裡一試就式出來了,只有a報錯,其他的都能通過 若有定義語句 int a 3,...

6x7和7x6的A乘法口訣同,B讀法同,c都不同

6x7和7x6的 a a乘法口訣同,b讀法同,c都不同,6x7和7x6的a乘法口訣同,b讀法同。法同,b都不同。6x7和7x6的 a乘法口訣同,b讀法同,c都不同,a 六七四十二 6乘7和7乘6是乘法口訣相同還是讀法相同求解 口訣相同,都是六七四十二 讀法不同,前者讀作六乘以七,後者讀作七乘以六.回...

在ABC中,若2a 根號3 1 b 根號6 根號2 c,則ABC中最大內角的余弦值為多少

先解決最大邊問題。2a 1 3 b 6 2 c.1 3 2 a b 1 3 2 1 a b.易知b 2 c c a邊最大 a角最大。由題設可得 b 3 1 a.c 6 2 2 a 結合餘弦定理可得 cosa b c a 2bc 2 6 4 a 2 b 2 3 1 2 4 b 2 1 3 2 c 2 ...