高一課程C語言>整數


整數


red05_next.gif整數變數的分類

無符號型又可與上述三種類型匹配而構成:

各種無符號類型量所占的記憶體空間位元組數與相應的有符號類型量相同。但由於省去了符號位元,故不能表示負數。

有符號整數變數:最大表示32767

0

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

無符號整數變數:最大表示65535

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

 

    下表列出了Turbo C中各類整數量所分配的記憶體位元組數及數的表示範圍。

類型說明符

數的範圍

位元組數

int

-32768~32767           -215~215-1

2

unsigned int

0~65535              0~216-1

2

short int

-32768~32767           -215~215-1

2

unsigned short int

0~65535              0~216-1

2

long int

-2147483648~2147483647-231~231-1

4

unsigned long

0~4294967295         0~232-1

4

 

13為例:

int型:

0

0

0

0

0

0

0

0

0

0

0

0

1

1

0

1

short int型:

0

0

0

0

0

0

0

0

0

0

0

0

1

1

0

1

long int型:

00

00

00

00

00

00

00

00

00

00

00

00

00

00

11

01

unsigned int型:

00

00

00

00

00

00

11

01

unsigned short int型:

00

00

00

00

00

00

11

01

unsigned long int型:

00

00

00

00

00

00

00

00

00

00

00

00

00

00

11

01


2.整數變數的定義

變數定義的一般形式為:

類型說明符  變數名識別字,變數名識別字,...

例如:

 

在書寫變數定義時,應注意以下幾點:

n允許在一個類型說明符後,定義多個相同類型的變數。各變數名之間用逗號間隔。類型說明符與變數名之間至少用一個空格間隔。

n最後一個變數名之後必須以“;”號結尾。

n變數定義必須放在變數使用之前。一般放在函數體的開頭部分。


3.範例

【例】整數變數的定義與使用。

#include<stdio.h>

main()

{

    int a,b,c,d;

    unsigned u;

    a=12;b=-24;u=10;

    c=a+u;d=b+u;

    printf(“a+u=%d,b+u=%d\n”,c,d);

}


4、整數數據的溢出

【例】整數數據的溢出。

#include<stdio.h>

main()

{

      int a,b;

      a=32767;

      b=a+1;

      printf("%d,%d\n",a,b);

 }

32767:

0

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

-32768

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

【例】

#include<stdio.h>

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);

 }

 

從程式中可以看到:

x, y是長整數變數,a, b是基本整數變數。它們之間允許進行運算,運算結果為長整數。但c,d被定義為基本整數,因此最後結果為基本整數。本例說明,不同類型的量可以參與運算並相互儲存。其中的類型轉換是由編譯系統自動完成的。有關類型轉換的規則將在以後介紹。