国产韩日影视精品_中文字幕一区二区三区在线不卡_久久亚洲综合色一区二区三区 _国产成人久久久

【六六互聯】長期出售【美國抗投訴服務器】【歐洲抗投訴服務器】【亞洲抗投訴服務器】
2022/09/04/ - - 0 條評論

整型數據即整數

整型數據即整數,C語言中整型(int)數據類型可以使用下面4種修飾符的搭配來描述數據的長度和取值范圍:

signed(有符號);

unsigned(無符號);

long(長型);

short(短型);

int數據在VC++6.0環境中編譯占4個字節,在TC2.0環境中編譯占2個字節。

2-3所示ANSI C++標準中規定的整型數據的長度和取值范圍。

2-3 整型數據的取值范圍和長度                                        

 數據類型 取值范圍 字節數

整型(int

 -2147483648~2147483647,即 -231~(231-1) 4
 有符號整型
 signeint
 -2147483648~2147483647,即 -231~(231-1) 4
 無符號整型
unsigned int
0~4294967295,即 0~(232-1)  4

  短整型

short int

-32768~32767,即 -215~(215-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 
 有符號長整型
 long int
-2147483648~2147483647,即 -231~(231-1)  4
 無符號長整型

(unsigned long)

0~4294967295,即0~(232-1) 

 4 

C語言中,對數據類型的說明允許使用一些簡寫方式,如表2-4所示。

2-4 整型數據的取值范圍和長度                     

完全形式

 簡化形式
 short,signed short int

short

 signed int

int 

 long intsigned long int
    long
 unsigned short int
 unsigned short
 unsigned int
 unsigned
 unsigned long int
 unsigned long

C語言中整數可以采用十進制、八進制和十六進制來表示。十進制數沒有前綴,八進制數以數字0開頭,十六進制數前面用數字0和字母X開頭(0x0X)。表2-5所示為整型常量的幾種表示方法。

2-5 整型常量的幾種表示                             

 進制 整型常量

十進制數值

 十進制
 23

 23

 八進制
 023

19

 十六進制
 0X230x23
 35
 十進制
 23L23l
 23
 十進制
 23LU23lu
 23

2-5中后綴“L”或“l”表示長整型數,后綴為“U”或“u”表示無符號整數。

整型變量的定義:

int a,b,c;   // a,b,c為整型變量

long x,y;       // x,y為長整型變量

unsigned p,q;  //p,q為無符號整型變量

2-3】整型變量的不同進制表示法。

#include <stdio.h>

int main()

{

inta=0X80,b=0200,c=128,d=0X24ALu;

printf(“a的十進制值為:%d\n”,a);

printf("b的十進制值為:%d\n",b);

printf("c的八進制值為:%o\n",c);

printf("c的十六進制值為:%x\n",c);

printf(“d的十進制值為:%d\n”,d);

return 0;

}

程序運行結果:

a的十進制值為:128

b的十進制值為:128

c的八進制值為:200

c的十六進制值為:80

d的十進制值為:586

2.1.4實型數據

實型數據也稱為浮點數或實數。在C語言中,實數只采用十進制,可采用浮點計數法和科學計數法兩種表示方法,例如:

5.789

2.1E5 (等于2.1*105)

0.5E7 (等于0.5*107)

-2.8E-9 (等于-2.8*10-9)

一般情況下,對太大或太小的數,采用科學計數法,如上面的0.5E7-2.8E-9

2-6】輸出實數。

#include <stdio.h>

int main()

{

printf("356.24的浮點數表示:%6f\n",356.24);

printf("3.5624e2的浮點數表示:%6f\n",3.5624e2);

printf(“35624e-2的浮點數表示:%6f\n",35624e-2);

printf(“356.24的科學計數法表示:%E\n",356.24);

return 0;

}

程序運行結果:

356.24的浮點數表示:356.240000

3.5624e2的浮點數表示:356.240000

35624e-2的浮點數表示:356.240000

356.24的科學計數法表示:3.562400E+002

浮點數在計算機中的表示可根據系統分配的字節數不同而分成單精度浮點數和雙精度浮點數,計算機通常分配4個字節給單精度浮點數,分配8個字節給雙精度浮點數。單精度浮點數和雙精度浮點數的取值范圍如表2-6所示。

2-6 浮點型數據類型的取值范圍                    

 

數據類型

 
 

比特數(字節數)

 
 

有效數字

 
 

數的范圍

 
 

單精度浮點數(float

 
 

32(4)

 
 

6~7

 
 

10-37~1038

 
 

雙精度浮點數(double

 
 

64(8)

 
 

15~16

 
 

10-307~10308

 

2-7】浮點數例子

#include <stdio.h>

int main()

{

float a;

double b;

a=33333.33333;

b=33333.33333333333333;

printf("a=%f\nb=%f\n",a,b);

return 0;

}

程序運行結果:

a=33333.332031

b=33333.333333

從本例可以看出:

由于a是單精度浮點型,有效位數只有七位。而整數已占五位,故小數二位之后均為無效數字。

b是雙精度型,有效位為十六位。但VC6.0規定小數后最多保留六位,其余部分四舍五入。注意:實型常數不分單、雙精度,都按雙精度實型處理。

2.1.5 字符型數據

1.字符型數據的表示

字符型數據是用單引號括起來的單個字符,如'a''b''=''+''?'都是合法字符型數據。在這里單引號只起定界的作用,并不代表字符。單引號中的字符不可以只是單引號()和反斜杠(\),因為反斜杠(\)本身就是一個轉義字符。

2.轉義字符

轉義字符是C語言中表示字符的一種特殊形式。通常使用轉義字符表示ASII字符集中不可打印的控制字符和特定功能的字符,如單引號字符()、雙引號字符()和反斜杠的表示(\)。

轉義符用反斜線\后面跟一個字符或一個八進制或十六進制數表示。表2-7所示為C語言中常用的轉義字符。

        表2-7 常用轉義字符含義                                           

 

轉義字符

 

轉義字符的意義

 

ASCII代碼

 

\n

 

回車換行

 

10

 

\t

 

橫向跳到下一制表位置

 

9

 

\b

 

退格

 

8

 

\r

 

回車,將當前的光標移動到行首,但不會移動到下一行

 

13

 

\f

 

走紙換頁

 

12

 

\\

 

反斜線符"\"

 

92

 

\'

 

單引號符

 

39

 

\”

 

雙引號符

 

34

 

\a

 

鳴鈴


 

\ddd

 

13位八進制數所代表的字符


 

\xhh

 

12位十六進制數所代表的字符


廣義地講,C語言字符集中的任何一個字符均可用轉義字符來表示。表中的‘\ddd’ ‘\xhh’分別為八進制和十六進制的ASCII代碼。如‘\101’表示字母‘A’ ‘\102’表示字母‘B’‘\134’表示反斜線,‘\XOA’表示換行等。

2-8】轉義字符的使用。

#include<stdio.h>

int main()

{

printf("fabc\tde\rf\n");

printf("hijk\tL\bM\n");

return 0;

}

程序運行結果:

fab c    de

hijk     M

3.字符變量

字符變量的類型說明符是char。字符變量類型定義的格式和書寫規則都與整型變量相同。例如:

char a,b;

4.字符變量在內存中的存儲形式及使用方法

C語言中,字符是按其所對應的ASCII的值來存儲的,一個字符占一個字節。表2-8為部分字符所對應的ASCII值。

2-8 部分字符的ASCII                           

 

字符

 

0

 

1

 

A

 

B

 

a

 

z

 

ASCII

 

48

 

49

 

65

 

66

 

97

 

122

數據在計算機中是按位存放的,每個位中只能存放“0”或“1”, 8位組成一個字節。因此,字符在內存中存儲的時候,是將其ASCII值以8二進制數形式存放的。

例如,字符‘A’在內存中的存放形式為:               

 

0

 

1

 

0

 

0

 

0

 

0

 

0

 

1

2-9】向字符變量賦以整數。

#include<stdio.h>

int main()

{

char a,b;

a=120;

b=121;

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

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

return 0;

}

程序運行結果:

x,y

120,121

本程序中定義ab為字符型,但在賦值語句中賦以整型值。從結果看,ab值的輸出形式取決于printf函數格式串中的格式符,當格式符為"c"時,對應輸出的變量值為字符,當格式符為"d"時,對應輸出的變量值為該字符對應的ASCII值。

2-10ASCII 碼的使用

#include<stdio.h>

int main()

{

char a,b;

a='a';

b='b';

a=a-32;

b=b-32;

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

return 0;

}

程序運行結果:

A,B

65,66

本例中,ab被說明為字符變量并賦予字符值,C語言允許字符變量參與數值運算,即用字符的ASCII 碼參與運算,由于大小寫字母的ASCII碼相差32,因此運算后把小寫字母換成大寫字母,然后分別以整型和字符型輸出。

5.字符串

字符串是由一對雙引號括起的字符序列。例如:“CHINA”,“C program”,“$12.5”等都是合法的字符串。字符串和字符不同,它們之間主要有以下區別:

(1)字符由單引號括起來,字符串由雙引號括起來。

(2)字符只能是單個字符,字符串則可以含一個或多個字符。

(3) 可以把一個字符型數據賦予一個字符變量,但不能把一個字符串賦予一個字符變量。

C語言中沒有相應的字符串變量,也就是說不存在這樣的關鍵字,將一個變量聲明為字符串,但是可以用一個字符數組來存放一個字符串,這將在數組一章內予以介紹。

(4) 字符占一個字節的內存空間。字符串占的內存字節數等于字符串中字符個數加1。增加的一個字節中存放字符‘\0’(ASCII碼為0),這是字符串結束的標志。例如,字符串“C program”在內存中所占的字節為:                  

 

C


 

p

 

r

 

o

 

g

 

r 

 

a

 

m 

 

\0

字符‘a’和字符串“a”雖然都只有一個字符,但在內存中的情況是不同的。

‘a’在內存中占一個字節,可表示為: 

 

a

a”在內存中占二個字節,可表示為: 

 

a

 

\0