C語言學習教程第二章-資料類型、運算子、運算式(二)

來源:互聯網
上載者:User

在程式中是根據首碼來區分各種進位數的。因此在書寫常數時不要把首碼弄錯造成結果不正確。4.整型常數的尾碼在16位字長的機器上,基本整型的長度也為16位,因此表示的數的範圍也是有限定的。十進位無符號整常數的範圍為0~65535,有符號數為-32768~+32767。八進位無符號數的表示範圍為0~0177777。十六進位無符號數的表示範圍為0X0~0XFFFF或0x0~0xFFFF。如果使用的數超過了上述範圍,就必須用長整型數來表示。長整型數是用尾碼“L”或“l”來表示的。例如:
十進位長整常數 158L (十進位為158) 358000L (十進位為-358000)
八進位長整常數 012L (十進位為10) 077L (十進位為63) 0200000L (十進位為65536)
十六進位長整常數 0X15L (十進位為21) 0XA5L (十進位為165) 0X10000L (十進位為65536)

長整數158L和基本整常數158 在數值上並無區別。但對158L,因為是長整型量,C編譯系統將為它分配4個位元組儲存空間。而對158,因為是基本整型,只分配2 個位元組的儲存空間。因此在運算和輸出格式上要予以注意,避免出錯。無符號數也可用尾碼表示,整型常數的無符號數的尾碼為“U”或“u”。例如: 358u,0x38Au,235Lu 均為無符號數。首碼,尾碼可同時使用以表示各種類型的數。如0XA5Lu表示十六進位無符號長整數A5,其十進位為165。

整型變數

整型變數可分為以下幾類:
1.基本型
類型說明符為int,在記憶體中佔2個位元組,其取值為基本整常數。
2.短整量
類型說明符為short int或short'C110F1。所佔位元組和取值範圍均與基本型相同。
3.長整型
類型說明符為long int或long ,在記憶體中佔4個位元組,其取值為長整常數。
4.無符號型
類型說明符為unsigned。
無符號型又可與上述三種類型匹配而構成:
(1)無符號基本型 類型說明符為unsigned int或unsigned。
(2)無符號短整型 類型說明符為unsigned short
(3)無符號長整型 類型說明符為unsigned long
各種無符號類型量所佔的記憶體空間位元組數與相應的有符號類型量相同。但由於省去了符號位,故不能表示負數。 下表列出了Turbo C中各類整型量所分配的記憶體位元組數及數的表示範圍。
類型說明符 數的範圍 分配位元組數
int -32768~32767 ■■
short int -32768~32767 ■■
signed int -32768~32767 ■■
unsigned int 0~65535 ■■
long int -2147483648~2147483647 ■■■■
unsigned long 0~4294967295 ■■■■
整型變數的說明
變數說明的一般形式為: 類型說明符 變數名標識符,變數名標識符,...; 例如:
int a,b,c; (a,b,c為整型變數)
long x,y; (x,y為長整型變數)
unsigned p,q; (p,q為無符號整型變數)

在書寫變數說明時,應注意以下幾點:
1.允許在一個類型說明符後,說明多個相同類型的變數。各變數名之間用逗號間隔。類型說明符與變數名之間至少用一個空格間隔。
2.最後一個變數名之後必須以“;”號結尾。
3.變數說明必須放在變數使用之前。一般放在函數體的開頭部分。
[Practice] //1int a,b;
short int c;
short d=100;
a=d-20;
b=a+d;
c=a+b+d;
d=d-a+c-b;'Vtable
a,2,0
b,2,0
c,2,0
d,2,100
of Vtable
'Vupdate
1,0;2,0
3,0
4,100
1,80
2,180
3,360
4,200
of Vupdate
of Practice
[Practice] //2int a=5;
int b=9;
long int c;
long d;
c=a+b-7;
d=a*b*c;
c=d*d*d;
a=c-d;'Vtable
a,2,5
b,2,9
c,4,0
d,4,0
of Vtable
'Vupdate
1,5
2,9
3,0
4,0
3,7
4,315
3,31255875
1,-5112
of Vupdate
of Practice
[Practice] //3int a=6,b=19;
unsigned int c;
int d;
c=a-b+7;
d=b*c;
a=b+c+d;
b=-a;'Vtable
a,2,6
b,2,19
c,2,0
d,2,0
of Vtable
'Vupdate
1,6;2,19
3,0
4,0
3,65530
4,-114
1,-101
2,101
of Vupdate
of Practice
void main(){
long x,y;
int a,b,c,d;
x=5;
y=6;
a=7;
b=8;
c=x+a;
d=y+b;
printf("c=x+a=%d,d=y+b=%d\n",c,d);
}
將main說明為返回void,即不返回任何類型的值
x,y被定義為long型
a,b,c,d被定義為int型
5->x
6->y
7->a
8->b
x+a->c
y+b->d
顯示程式運行結果 of long x,y;
int a,b,c,d;
c=x+a;
d=y+b;
從程式中可以看到:x, y是長整型變數,a, b是基本整型變數。它們之間允許進行運算,運算結果為長整型。但c,d被定義為基本整型,因此最後結果為基本整型。本例說明,不同類型的量可以參與運算並相互賦值。其中的類型轉換是由編譯系統自動完成的。有關類型轉換的規則將在以後介紹。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.