c語言問題

時間 2023-04-20 18:48:07

1樓:網友

a=0,b=0,c=5

c=(a-=a-5),(a=b,b+3);

先執行c=(a-=a-5),這句中a-=a-5就是a=a-(a-5)=5

執行這句後的結果就是a=5,c=5

再執行(a=b,b+3),a=b=0,b未發生變化,所以b=0所以最後結果就是a=0,b=0,c=5

2樓:天使大哥***

int a=0,b=0,c=0;

宣告並賦值。

c=(a-=a-5),(a=b,b+3);

先計算(a -=a-5),此時a = 5,c = a = 5, 因為逗號操作符的值因第一項的值,所以逗號後的項只計算,不對其他c的值造成影響。於是接著算(a=b, b=3),則此時a=b=0.

printf("%d,%d,%d",a,b,c);

輸入的是0,0,5

3樓:匿名使用者

a=0,b=0,c=5

a-=a-5 a先減5得 -5 ,a再-(-5) 得正5 所以 c=5

a=b 把b的值賦與a a=0 ;

b+3 沒有賦值 加3無用。 b=0

所以答案a=0,b=0,c=5

寫得亂了點,不懂發資訊問吧。

4樓:留級超人

c語言 我們老師告訴我們說 計算是從右往左 輸出是從左往右。。。具體的我也忘了!

先算a-=a-5 a=a-(a-5) a=5 c就等於5 a=b b的值給了a a就等於0 b+3沒用 因為沒賦值 結果出來了。

5樓:匿名使用者

五. 判斷一個正數是否為對稱數,如果是返回0,不是返回1,(不允許呼叫c庫字串轉換相關函式),如11,121,1221就是對稱的。

首先把正數(沒有考慮浮點數)存放到字元陣列中a,len記錄正數長度。

while(num>=10)

然後比較判斷就可以了。}

6樓:我不喜歡故事

第一題的資料儲存形式看不懂到底是啥意思。求解……

7樓:海海胡

選擇題:

1、c2、d

3、b4、c

5、a6、a

7、c8、d

9、b10、d

判斷題:1、錯2、對。

3、對4、錯5、對。

c語言問題

8樓:匿名使用者

首先,這是一道考區分 "表示式" 與 "表示式的值" 的題。

我們要注意,表示式也是有它自己的值的。

一、逗號表示式(表示式1,表示式2,..表示式n)採取從左到右順序求值,並把最後一個逗號後的表示式的值作為 "逗號表示式的值"。

如:表示式1,表示式2,……表示式n 這個 "逗號表示式的值" 就等於 "表示式n" 的值,與其它值無關。

二、賦值表示式(變數=表示式)採取從右到左求值,並把等號左邊的變數最終得到的值作為 "賦值表示式的值"。

所以,表示式(i=4,j=16,k=32)的值是 k=32 的值,而 k=32 這個賦值表示式的值就是等號左邊變數 k 的最終值,是32。於是,x 值為32。

9樓:匿名使用者

因為你只輸入了一個數10,系統把這個值賦給了變數a;你的程式中用了兩個變數去接收輸入的值,所以系統選擇了一個隨機數賦值給了變數b。

另外,虛機團上產品**,超級便宜。

c語言問題

10樓:匿名使用者

首先,手動計算一下怎麼才能交換。

根據題目要求,先算.

0的最小公倍數:18,這說明:最少10個一角、12個五角、9個一元才一樣高,也就是說小明可以交換的倍數是10*0.

1+12*元,而小紅交換的倍數是10元,雙方可以交換的的金額只能是90元、180元……你輸入n=3,那肯定不能交換啊。

來到這裡,如果認為效率為上的話,直接判斷小紅拿出的10元的張數n是不是9的倍數,一步就可以輸出結果了。如果n/9是整數,則一角、五角、一元的數量就是:10*n*n*n/9了,否則輸出不能交換。

其次,如果你硬要按照你源程式的思路做,那我只能指出最明顯的邏輯問題:for迴圈沒有大括號,所以它只會一直執行j=6*i/5;這一句直到條件終止,那當然輸不出結果啊。

還有沒有其他問題,既然是考題,自己思考吧。

11樓:匿名使用者

應該是資料型別的問題吧,不能用整型,整型沒有符合的解。

12樓:雲淡風輕

!(a+b)+y-1&&x+b/2

這就是邏輯運算子和算數運算子的優先順序運算問題;

是邏輯非運算子,意思是(a+b)如果不等於0,則!(a+b)的值是0,如果等於0,則!(a+b)的值是1;

知道了!(a+b)的值以後,!(a+b)+y-1的值也就知道了。

然後求x+b/2,先求b/2,也就是b除以2,用得到的商加上x,就得出了x+b/2的值;

然後如果!(a+b)+y-1的值不等於0,同時x+b/2的值也不等於0,那麼這個式子的結果就是1;

如果&&兩邊的式子都等於0,或者有一邊等於0,那麼這個式子的結果就是0;

13樓:網友

a :陣列名。

a[4] :是指陣列a中的第五個元素,陣列都是從0開始的,所以第5個元素是a[4]。

而++的意思就是自加一次,a[4]++等價於 a[4]=a[4]+1;

比如說:定義一個。

int a[5]=;此處的a[4]的值是4,即a[4]=4。

當執行 a[4]++時原來的a[4]會自加1,變成5,即a[4]=5。

一看哥們就是初學者,好好看書,這些東西書上都有的。。

14樓:汪好帥

額,前面的都已經解釋過了。

針對你補充的問題來講。

你是有意,讓它陣列越界的麼?!

int a[4];/最大的下標是a[3]a[4]是陣列越界了,a[4]沒有被分配,你可以嘗試去除錯測試看看。

#include

void main()

/試試檢視a[4]是啥東東。

printf("%d",a[4]++

15樓:海獅

a[4]++是什麼意思。

單獨使用相當於a[4]=a[4]+1;

如果在語句中表示,使用增量前的a[4]進行計算,執行完「;」後a[4]=a[4]+1;

16樓:下一次遠足

你定義的陣列沒有 a[4] 的吧。

int a[4]=只有 a[0],a[1],a[2],a[3]

a[4]越界了,編譯器會提示錯誤的。

17樓:網友

陣列a的元素只有4個,分別是a[0],a[1],a[2],a[3],a[4]是不在a的陣列裡的。

18樓:匿名使用者

陣列及運算問題,你先看看基本的型別中,陣列a的每個單元的型別,看是否符合++運算的規則,根據++的前置與後置的意義具體解答就行了。

19樓:帳號已登出

就是一個一個依次加一的順序。

c語言問題

20樓:天上的一條龍

非0數的邏輯值為1

5為1!8為0

所以-5&&!8為0

21樓:匿名使用者

首先說明一下,unsigned short佔用2個位元組,long在32位系統中佔用4個位元組;

我們對於指標進行操作時,指標移動的步長和它的型別是有關的,舉例如下:

如果指標p的型別是char* ,那麼p+1,就表示p向後挪動1個位元組;如果指標p是unsigned short* ,那麼p+1就表示p向後挪動2個位元組;如果指標p是long* ,那麼p+1就表示p向後挪動4個位元組;

現在來看你的題,本來myarray+2,其實是向後移動4個位元組,指向4這個元素;但是被轉化為long*後,它就往後移動了8個位元組,指向了0x1284,這是對這個指標進行取值,它的結果應該是。

0x00051284;然後再做型別的強制轉換,從long轉到char,截斷高3位,所以得出結果為0x84

22樓:網友

值是4(long*)是型別轉換。

第三個不清楚自己去試一下吧。

c語言問題

23樓:匿名使用者

1. turbo c能處理的資料有哪幾種?(5分)

整型、浮點型、字元型。

2. turbo c資料型別如何表示?它們的表達範圍是多少?佔用記憶體空間各是多少位元組?為什麼c語言中要嚴格區別整數和小數?(10分)

int、float、char

int 佔2位元組、float佔4個位元組、char佔1個位元組c語言是嚴格資料型別。

C語言問題,C語言問題C語言問題

選a首先,空格也是一種字元,b d選項分別把空格賦給了c1,c1 其次,c選項不完整,排除 不僅a這樣,10a20b也是可以的。 聽不清啊 答案a 10a 20b cr 是正確的。因為scanf d c 時,會忽略數字前面的空格,遇到非數字字元就會結束讀取 非數字字元會留待下一次讀取,即被後面的 c...

C語言問題,C語言問題

符合,相當於一個字元,ascii字元可以直接轉成short整型數字。101 不符合,這是一個字串,不能作為常數。不符合,因為 會對雙引號轉義,找不到另一個雙引號。會出錯。而且就算是 也不符合,因為編譯器會把它理解成一個字串,而非單個字元。e3不符合。019不符合,0開頭代表8進位制數,不能出現9。0...

c語言問題,C語言問題?

char c 好好看書去 小 超 字元型變數 1 字元變數的定義 字元變數只能存放一個字元常量。字元變數的定義形式如下 char c1,c2 2 字元資料在記憶體中的儲存形式及其使用方法 字元型資料在記憶體中以相應的ascii 存放。字元在記憶體佔一個位元組,表示數的範圍從0 127。把字元對應的a...