int x在不賦值的情況下是隨機整數麼,可不可能為零?(c語言中)

2021-04-28 17:39:54 字數 6092 閱讀 2674

1樓:聽不清啊

int x 在不賦值的情況下是不確定的一種情況。它決定於該空間上一次使用的情況。0也是可能的一種情況。

下列可作為c語言賦值語句的是() a)x=3,y=5; b)a=b=6 c)i--; d)y=int(x); 答案是c 求解釋。。。

2樓:倒霉熊

a: 宣告變數並初始化時:int x=3,y=5;但是,只賦值時是不能這樣寫的,應該寫成x=3;y=5;

b: 沒有分號,不是乙個完整的語句。

c: 相當於 i=i-1;

d:x沒有定義,如果是 int x=3;int y; y=int(x);這樣是對的。

3樓:九離天

a,不能用逗號隔開,x=3;y=5; 每個都用分號隔開b,沒分號

c,i--; 相當於i=i-1;

d,賦值不是數學公式

4樓:め棒棒糖

a 分號

b中 如果寫int a=b=6,將b賦值給a,系統認為b未賦值。。。

c中 i 應該先賦值才可以再執行;

d應該是 y=(int) x,參考強制轉換。。。

5樓:血與淚交織

a選項是沒有型別,如果在前面加上型別如int x=3,y=5;就正確了,b選項是因為沒有;c是i自減,就是把它裡面的數值減一啊,d項沒有值,型別裝換應該是y=(int)x,型別轉換,或者y=x;把x的值賦給y;呵呵備註我寫得東西都是搜狗寫得可能不能用到編輯環境中;

6樓:中國左飛

a. 中間應為分號(「;」)

b. 末尾沒有分號

c. 對

d. 語法錯誤,要麼定義乙個x並賦值 y = (int) x; <-這個格式才是正確

7樓:匿名使用者

這個題問的就有問題

如果ab,xy,i都定義了型別

acd都正確

如果都沒定義型別都錯誤

8樓:匿名使用者

a,可能沒有宣告變數,既沒有"int x,y「;

b,沒有這樣的語法。。。

c,i--;的意思是:i=i-1;這算賦值吧。。

d,可以不解釋嗎??

9樓:匿名使用者

i是c語言預設的變數,xyab都不能做變數

c語言中,x=(int)x 是什麼意思啊·····求各位高手

10樓:匿名使用者

括號運算子是實現強制型別轉換功能,意思是將x的值轉換為int型後再賦值給左邊的x,如果右邊的x=2.32,賦值結果,x的值為2.

11樓:魏翔

呵呵:將x 強制轉換成int 型別,說明你原先的x不是int 型別,是char或是其他什麼型別的

12樓:匿名使用者

將x變成整型,簡單點就是去掉x後面的小數

c語言怎麼判斷乙個數是不是整數

13樓:凌亂心扉

方法1:

#include

#include

float x;

...if(fabs(x-(int)x)<1e-8)printf(「x是乙個整數

\n」);

else printf(「x不是乙個整數\n」);

方法2:

int c=(int)b,d=(int)(b+0.999999)if(c==d)

printf(「是整數\n」);

else

printf(「不是整數\n」);

方法3:

float b;

...if(b-(int)b==0)

printf(「是整數\n」);

else

printf(「不是整數\n」);

方法4:

float b;

...if(b!=(int)b)

printf(「不是整數\n」);

else

printf(「是整數\n」);

14樓:聽不清啊

如果用實型變數x接收乙個數或通過計算得到乙個數後要知道它是不是整數,沒有很好的辦法。因為實數在計算機中不能準確地儲存,所以不能直接判斷兩個實型量(x,與表示整數的實型量,必須要同型別的量才能比較)是否相等,首先要明確能允許的誤差是多少。比如,一般情況當誤差的絕對值小於10的負8次方時我們可以認為兩個實數是相等的。

所以,要使用math庫。

#include

float x;

......

if(fabs(x-(int)x)<1e-8)printf("x是乙個整數\n");

else printf("x不是乙個整數\n");

15樓:王錚教授

其實嚴格意義上來說,你們都想複雜了。

我們應該從問題角度出發,根本不用函式。

接下來我用c++來說明,其實c也同理

#include萬能頭挺好的

int main()

16樓:匿名使用者

if(number%2==0||number%2==1)是整數; //number對2取模,餘數為0或1就是整數。

else 不是;

實際上,還可以在定義上取巧,比如說,把輸入數n設為float ,另有乙個 int m;

輸入n後,

m=n;//強制把n取整賦給m

if(n==m)就是整數了。

17樓:真忙得很

#include

int main(void)

這裡while(scanf("%d",&a)==1)代表如果輸入的是乙個整數就返回1並執行printf("輸入的是乙個整數「);如果不是就返回0,退出迴圈,並執行printf("輸入的不是乙個整數「);

c語言int的取值範圍

18樓:天雲一號

c語言中int的取值範圍為:-2147483648 ~ 2147483647

解釋如下:

int型別在c語言中佔4個位元組,即32個二進位制位。

當表示正數時,最高位為符號位(符號位為0),最大的正數是 0111 1111 1111 1111 1111 1111 1111 1111 即2^31 -1 = 2147483647

當表示負數時,最高位為符號位(符號位為1),最小的負數是 1000 0000 0000 0000 0000 0000 0000 0000 而在計算機中是以補碼的形式儲存的,c語言規定 1000 0000 0000 0000 0000 0000 0000 0000 的補碼為-2147483648

所以c語言中int的取值範圍為:-2147483648 ~ 2147483647

19樓:枕邊吹風會

c語言int的取值範圍在32/64位系統中都是32位,範圍為-2147483648~+2147483647,無符號情況下表示為0~4294967295。

c/c++程式語言中,int表示整型變數,是一種資料型別,用於定義乙個整型變數,在不同編譯環境有不同的大小,不同編譯執行環境大小不同。

c的資料型別包括:整型、字元型、實型或浮點型(單精度和雙精度)、列舉型別、陣列型別、結構體型別、共用體型別、指標型別和空型別。

基本資料型別:

void:宣告函式無返回值或無引數,宣告無型別指標,顯示丟棄運算結果。(c89標準新增)

char:字元型型別資料,屬於整型資料的一種。(k&r時期引入)

int:整型資料,表示範圍通常為編譯器指定的記憶體位元組長。(k&r時期引入)

float:單精度浮點型資料,屬於浮點資料的一種。(k&r時期引入)

double:雙精度浮點型資料,屬於浮點資料的一種。(k&r時期引入)

_bool:布林型(c99標準新增)

_complex:複數的基本型別(c99標準新增)

_imaginary:虛數,與複數基本型別相似,沒有實部的純虛數(c99標準新增)

_generic:提供過載的介面入口(c11標準新增)

20樓:匿名使用者

二進位製數在計算機內儲存的是其補碼

對於有符號數,正數的補碼和本身一樣,負數的補碼是本身的數字位取反後加1

比如:1=(0001)補=(0001)

-1=(1001)補=(1111)

計算機儲存-1就是儲存的1111

因此當int表示範圍為16位時,可以表示的最大負數為:

10000...0000(後面有15個0)相當於-0

但這其實是-32768=110000...0000(第一位符號位,後面有15個0)的補碼表示

可以理解為16位的int足可以表示-32768的補碼

21樓:匿名使用者

正數範圍是0000 0000 0000 0001到0111 1111 1111 1111應該都理解。

負數範圍要了解計算機內部表示負數的方法,「2的補碼」,具體方法分兩步:

第一步,每乙個二進位制位都取相反值,0變成1,1變成0。

第二步,將上一步得到的值加1。

比如要表示16位的-1,就把+1也就是0000 0000 0000 0001取反變為1111 1111 1111 1110,再+1,所以1111 1111 1111 1111表示-1。

那麼要知道計算機表示的乙個負數的絕對值就要把這個負數按照上面所說的「2的補碼」規則反處理。所以16位能表示的最小負數,也就是符號位為1,其餘全部為0,即1000 0000 0000 0000。

(這裡比較難理解為什麼確定符號為1,後面要全部取0,主要是為了經過反處理後得到乙個盡量大的數值,也就是最左邊位置2^15位上的值為1,這樣才能得到最小的負數。)

第一步,1000 0000 0000 0000(處理時,這是乙個二進位制數值,1不再是符號) 減去1得到 0111 1111 1111 1111。

第二步,取反,變為1000 0000 0000 0000,即1*2^15,32768。

所以最小是1000 0000 0000 0000,-32768。

22樓:匿名使用者

負數是用補碼儲存的,所以1111 1111 1111 1111 按十六位有符號整數轉換為十進位制數字就是-1,是最大的負整數。

-32768的轉換過程是:

先將32768(-32768的絕對值)按位取反,結果就是0111 1111 1111 1111

之後再將取反後的結果加1,就得了-32768的二進位制儲存:1000 0000 0000 0000

請自行查詢 補碼 的相關知識仔細研讀吧!

23樓:匿名使用者

在寫程式的時候最好用c庫定義好的巨集或函式,因為int的範圍因機器而異。為了避免在程式中直接寫死最大值。

c庫會用條件編譯根據你的機器選擇正確的最大值。

這個**包括各種型別的最大值

如果是c++的話看這個:

#include

#include

using namespace std;

int main(int,char**)

24樓:匿名使用者

1000 0000 0000 0000不是-0是-1所以1000 0000 0000 0001是-2而0000 0000 0000 0001是1明白了?

c語言中,如果定義乙個變數,但不對其進行賦值,那麼輸出的這個變數的值由什麼決定呢?

25樓:念憶

因為字元變數在記憶體中存放的是其對應的ascii值,比如說字元『a』ascii值是97。

printf("%d",ch);

char ch='a';

輸出結果就是97了。所以對於字元變數也可以這樣理解:是單位元組的整型變數。所以當然可以對乙個字元變數賦值乙個1啊。

在表示式方面較其它程式語言更為簡潔,如自加、自減、逗號運算和三目運算使表示式更為簡單,但初學者往往會覺的這種表示式難讀,關鍵原因就是對運算子和運算順序理解不透不全。

怎樣能瘦手臂?在不節食吃藥的情況下

其實,效果最好 最快 最根本 最健康 最安全 最環保 最徹底 最無傷害 最無任何 的辦法就是合理控制飲食 1 控制熱量與脂肪。要始終小心食物的熱量,在膳食中應減少些肥肉,增加點魚和家禽。2 飲食要清淡。要少吃鹽,鹹的東西吃得越多,就越想吃。少吃那些經加工帶有醬汁的食物,這些東西含有豐富的糖 鹽和麵粉...

學籍在江西,戶口在江蘇,在不遷戶口的情況下能否在江西參加高考

讓江西那個學校開個證明 證明你是那個學校的,收到了通知書,兩邊都好好協商一下。你們學校願意接受不?有地方接受應該問題不大。學籍在江西,戶口在浙江,能參加江西的高考嗎?你好,可以的,現在江西的異地高考政策是只要是一年學籍就可以,具體你可以去教育部門詳細了解一下。江西異地高考條件 外省戶籍進城務工人員隨...

在某些情況下字型排版不緊湊。(詳細情況請看附圖的第三行 第三行的文字間並沒有字間距或空格)

全選之後 格式 段落 中文板式 勾選 允許西文在單詞中間換行 確定 shift 空格 再重新輸入試試 q 我貌似看到問題了,因為我之前的那一段是居中的,你回車後也帶了下一段居中,你設定一下居中看看?格式 段落 對齊方式 兩端對齊 word中每行文字都不足一行,怎麼排成頁面很緊湊啊 摁下組合鍵ctrl...