1樓:我兒王騰大帝之資
short int 定義的和int定義在32位計算機上是一樣的,都是兩個位元組,有符號的整型數。
兩個位元組,如果是無符號的數,最大可以是0xffff,即65535;
如果是有符號的數,可以存放的數是-32768到32767。
32769明顯已經超出範圍了,所以變成了負值。
至於具體為何是那個值,你使用二進位制算一下就知道了
2樓:
因為short int型別佔2位元組(16位),而32769的二進位制位是1000 0000 0000 0001
而二進位制數按有符號short int型別解釋(二進位制補碼)就是-32767。
3樓:乾坤毒王
一般沒區別,這個得看編譯器的設定,這題是因為32769>32767溢位了,所以顯示負數
4樓:黑乎乎
short int 佔兩個位元組int佔四個位元組儲存空間不同
5樓:耳東小七
c++標準規定,int佔一個機器字長。在32位系統中int佔32位,也就是4個位元組,而在老式的16位系統中,int佔16位,即2個位元組。而c++標準中只限制規定short int不能超過int的長度,具體長度的可以由c++編譯器的實現廠商自行決定。
目前流行的32位c++編譯器中,通常int佔4位元組,short int佔2位元組。其中short int可以簡寫為short。類似地,c++標準只限制了long int不得小於int的長度,具體也沒有作出限制。
而實際上他們的表示範圍都是-32768~32767
32769超出這一範圍,我猜機內使用了補碼或者反碼錶示結果就是-32767
c語言選擇題
6樓:匿名使用者
b(變數名必須以復
字幕或下制劃線開始,保留字不能成為變數名)b(陣列的宣告,實在不會刻意參照第四題理解)a(後面的變數是賦值操作,三元運算子的計算?:,?前表示式為true,則執行:
左側表示式,否則執行右側表示式)
c(a[2]=a[a[a[3]]] = a[a[2]] = a[3] = 2)
b(過載函式的呼叫依賴於引數的個數和型別)
c語言程式選擇題。
7樓:匿名使用者
#include
main()
所以答案是d
8樓:陽光上的橋
你選d能得到老師的分。
但是實際你的**執行不會是這樣,全部都會出錯,因為 你在%和c之間多了空格。
9樓:煞
a錯 不允許有連等於,(其實那個「=」是賦值號,把它右邊的值賦給左邊)
b錯 因為已知y=3,所以y==1這個布林判斷即為false,把布林值賦給整型(題目說x是int整型的),所以錯。
c正確 將整型的x強制型別轉換為單精度float型,再賦給i正確的 因為i是float型的
d錯 題目中i沒有賦初值,不能用來計算 。
回答完畢!!
以上回答你滿意麼?
10樓:尉運南華榮
答案應該選a,
還記得char吧,
當用'abc'賦值時,表示一個字元,且是第一個字元,'a'
而當以"abc"賦值時,表示一個字串,且實際儲存形式是,"abc\0"
所以char
c='\72'實際上等價於char
c='\'
也就是隻有一個字元.
明白不?呵呵,不懂再問.
11樓:黎澤崇運駿
答案是b``char定義的\要表達出來的話是\\所以char
c='\72'裡面的\變得沒意義`有意義的只有72所以是2個字元號
12樓:廉羽智碧玉
答案是b,這個賦值實際上得到的是「:」,「:」的ascii碼:8進位制:72;10進位制:58;16進位制:3a
c語言選擇題,詳解,C語言選擇題,求詳解
6 5 下面定義了一個日期結構date 結構變數date1和date2 struct datedate1 date2 對結構變數date2正確操作的語句是 a date2 date1 b strcpy date2,date1 c date2 d date2 你的回答 c 參 a 7 下面定義了一個日...
c語言選擇題
c 選擇題集 1.下列的各類函式中,不是類的成員函式。c a 建構函式b 解構函式c 友元函式d 拷貝初始化建構函式 2.作用域運算子 的功能是 b a 標識作用域的級別的b 指出作用域的範圍的 c 給定作用域的大小的d 標識成員是屬於哪個類的 3.下列說明中const char ptr 其中ptr...
簡單c語言程式填空題,C語言 選擇題填空題
含有因數5的個數 指的是能被五整除的數的個數m m 5 等價於 m除以5的商,不計餘數for k 0,i 5 i 1000 i 5 k,i的初值為0,5 i在小於或等於1000的情況下執行下面的語句,i每次加5 中內容為真的情況下執行下面一句話,k 1,m除以5 因為最終階乘的值中,分解為質數因子時...