c語言中int的用法有哪些
C/C++程式設計語言中,int表示整型變數,是一種資料型別,用於定義一個整型變數,在不同編譯環境有不同的大小,不同編譯執行環境大小不同下面小編給大家整理了c語言中int的用法,供大家參閱。
1. 整型int
C 語言提供了很多整數型別(整型),這些整型的區別在於它們的取值範圍的大小,以及是否可以為負。int是整型之一,一般被稱為整型。以後,在不產生歧義的情況下,我們把整數型別和int都稱為整型。
int代表有符號整數,也就是說,用int宣告的變數可以是正數,可以是負數,也可以是零,但是隻能是整數。標準規定int的最小取值範圍是 -32767 到 32767。int的取值範圍因機器而異,但是一定要大於或者等於 -32767 到 32767。一般來說,int佔用一個字的記憶體空間。因此,字長為 16 位(Bit)的舊式 IBM 相容機使用 16 位來儲存整型int,取值範圍是
-32768 到 32767 。目前的個人電腦一般都是 32 位字長的,這些電腦中,int一般也是 32 位的,取值範圍是 -2147483648 到 2147483647。對於使用 64 位 CPU 的電腦,使用更多位儲存int也是很自然的事情,取值範圍當然也會更大。
2. 宣告int型別的變數
正如我們在以前的教程裡看到的那樣,int用於宣告整型變數:以int打頭,後面跟著變數的名字,最後以分號(;)結束。例如:
interns; /* 宣告一個變數 */
/* 注意:一定要用逗號(,),不能用分號(;)*/
int hogs, cows, goats; /* 宣告三個變數 */
以上宣告建立了變數,但是沒有給它們提供“值(value)”。在前面的教程中,我們已經用了兩種方法使變數獲得“值”。一種是賦值:cows = 500; 。另一種是使用scanf函式:scanf( "%d", &goats ); 。下面我們來學習第三種方法。
3. 初始化變數
初始化變數是指給變數賦初值:宣告變數的時候,在變數名的後面寫上等號(=),然後寫下你希望賦予變數的“值”。例如:
int hogs = 21;
int cows = 32, goats = 14;
int dogs, cats = 94;
以上宣告建立了變數,並且為這些變數分配了空間,同時也賦了初值。注意,第三行中只有 cats 被初始化為 94,而 dogs 沒有被初始化!如下圖:
4. int常量
上面的例子中,21、32、14,以及 94 都是整數常量。C 語言中,整數常量的預設型別是int。如果整數常量的大小超過了int的取值範圍,那麼編譯器將會把這個整數常量當作 long int型別來處理,這個我們後面還會講到。21、32、14 和 94 都在int的取值範圍之內,因此它們都是int常量。
5. 輸出int型資料
我們可以用printf函式來輸出int型資料。正如我們在前面的教程中看到的那樣,佔位符 %d 代表輸出的是int型資料,它告訴printf函式在什麼地方輸出相應的int型資料。%d 也被稱為格式限定符(format specifier),因為它指定了printf函式應該使用什麼形式來輸出資料。printf函式的第一個引數只能是字串,這個字串被稱為格式串(format string)。格式串中有多少個 %d,我們就應該相應地提供多少個int型引數給printf函式。int型引數可以是int型變數,int型常量,以及結果為int型的'表示式等。例如:
int year = 2005; /* year 是int型變數 */
printf( "Today is %d-%d-%d ", year, 9, 20 + 9 ); /* 20 + 9 是加法表示式 */
保證格式限定符的數目和引數數目一致是我們的責任,編譯器不負責捕捉這種錯誤!例如:
#include
int main(void)
{
int ten = 10, two = 2;
printf("%d minus %d is %d ", ten ); /* 少寫了兩個引數 */
get); /* 等待使用者按回車 */
return 0;
}
這個程式可以通過編譯,但是執行結果將會出乎意料,因為我們少寫了兩個引數。標準規定,如果格式限定符的數目大於引數數目,則printf函式的行為是未定義的;如果引數數目大於格式限定符的數目,則多餘的引數會被忽略。
6. 八進位制(octal)和十六進位制(hexadecimal)
C 語言中,整數常量預設是十進位制(decimal)整數。通過在整數常量前面加上特定的字首,可以把它設定為八進位制或者十六進位制整數。字首 0x 或者 0X 把整數常量設定為十六進位制整數。注意,是數字 0 ,而不是字母 O ,別搞錯了哦!例如:十進位制的 16 用十六進位制來表示是 0x10 或者 0X10 。在整數常量前面加上字首 0 ,表示它是八進位制整數。注意,是數字 0 ,而不是字母 O 。例如:十進位制的 16 表示為八進位制就是 020 。
7. 以八進位制或者十六進位制形式輸出資料
使用格式限定符 %o 可以以八進位制的形式輸出整數。注意,是小寫字母 o ,不是數字 0 。使用 %x 或者 %X 可以以十六進位制的形式輸出整數。小寫 x 表示輸出使用小寫字母,大寫 X 表示輸出使用大寫字母。使用 %#o,%#x 或者 %#X,得到的輸出將包括字首 0,0x 或者 0X。例如:
#include
int main(void)
{
int x = 200;
printf("dec = %d; octal = %o; hex = %x; HEX = %X ", x, x, x, x);
printf("dec = %d; octal = %#o; hex = %#x; HEX = %#X ", x, x, x, x);
get);
return 0;
}
這個程式的輸出是:
dec = 200; octal = 310; hex = c8; HEX = C8
dec = 200; octal = 0310; hex = 0xc8; HEX = 0XC8
-
2017計算機二級C語言備考訓練題
在複習階段多做練習可以幫助我們鞏固知識和提高做題速度以及掌握做題技巧等。下面是應屆畢業生考試網小編為大家整理的2017年計算機二級C語言備考訓練題,希望可以幫助到大家的學習!一、填空題(1)演算法的基本特徵是可行性、確定性、______和擁有足夠的情報。答:有...
-
計算機二級C語言上機考前臨考練習
計算機二級考試中C語言一直是考生的困擾,下面是本站小編整理的計算機二級C語言上機考前臨考練習,更多計算機二級考試內容請關注應屆畢業生考試網。填空題用篩選法可得到2~n(n<10000)之間的所有素數,方法是:首先從素數2開始,將所有2的倍數的數從數表中刪去(把數表中相...
-
2017年計算機二級C語言的應用
yjbys考試網為您整理了2017年計算機二級C語言的應用,更多計算機等級考試相關資訊請訪問應屆畢業生計算機等級考試網。從前面對C語言的特點的分析中,不難看出C語言具有程式設計方便、語句簡練、功能很強、移植性好等優點,是程式設計者喜歡使用的一種結構化程式設計語言。C...
-
C語言順序結構知識歸納
C語言的順序結構裡面有哪些知識需要學習的呢,下面小編為大家歸納了C語言順序結構知識,歡迎大家閱讀!C語言順序結構知識歸納一、表示式語句、函式呼叫語句和空語句1.C語言的語句共分五大類:表示式語句、控制語句、函式呼叫語句、空語句和複合語句。2.表示式語句的...