免费观看已满十八岁电视剧两人_国产+高潮+白丝+中岀+白_国产大片b站免费观看推荐_大尺度床震捏胸呻吟视频_亚洲AV永久无码天堂网国产_日本天堂免费网站_小雪yin荡公交嗯啊校花_向日葵视频色_好硬好大好爽18禁免费看男男

【六六互聯(lián)】長(zhǎng)期出售【美國(guó)抗投訴服務(wù)器】【歐洲抗投訴服務(wù)器】【亞洲抗投訴服務(wù)器】

整型數(shù)據(jù)即整數(shù)

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

signed(有符號(hào));

unsigned(無符號(hào));

long(長(zhǎng)型);

short(短型);

int數(shù)據(jù)在VC++6.0環(huán)境中編譯占4個(gè)字節(jié),在TC2.0環(huán)境中編譯占2個(gè)字節(jié)。

2-3所示ANSI C++標(biāo)準(zhǔn)中規(guī)定的整型數(shù)據(jù)的長(zhǎng)度和取值范圍。

2-3 整型數(shù)據(jù)的取值范圍和長(zhǎng)度                                        

 數(shù)據(jù)類型 取值范圍 字節(jié)數(shù)

整型(int

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

  短整型

short int

-32768~32767,即 -215~(215-1)


  2

有符號(hào)短整型 

short int

 -32768~32767,即 -215~(215-1)
 2
  無符號(hào)短整型

unsigned  short int

0~65535,即 0~(216-1)
 2
   長(zhǎng)整型
 long int
-2147483648~2147483647,即 -231~(231-1) 4 
 有符號(hào)長(zhǎng)整型
 long int
-2147483648~2147483647,即 -231~(231-1)  4
 無符號(hào)長(zhǎng)整型

(unsigned long)

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

 4 

C語言中,對(duì)數(shù)據(jù)類型的說明允許使用一些簡(jiǎn)寫方式,如表2-4所示。

2-4 整型數(shù)據(jù)的取值范圍和長(zhǎng)度                     

完全形式

 簡(jiǎn)化形式
 short,signed short int

short

 signed int

int 

 long int、signed long int
    long
 unsigned short int
 unsigned short
 unsigned int
 unsigned
 unsigned long int
 unsigned long

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

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

 進(jìn)制 整型常量

十進(jìn)制數(shù)值

 十進(jìn)制
 23

 23

 八進(jìn)制
 023

19

 十六進(jìn)制
 0X230x23
 35
 十進(jìn)制
 23L23l
 23
 十進(jìn)制
 23LU23lu
 23

2-5中后綴“L”或“l”表示長(zhǎng)整型數(shù),后綴為“U”或“u”表示無符號(hào)整數(shù)。

整型變量的定義:

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

long x,y;       // x,y為長(zhǎng)整型變量

unsigned p,q;  //p,q為無符號(hào)整型變量

2-3】整型變量的不同進(jìn)制表示法。

#include <stdio.h>

int main()

{

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

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

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

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

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

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

return 0;

}

程序運(yùn)行結(jié)果:

a的十進(jìn)制值為:128

b的十進(jìn)制值為:128

c的八進(jìn)制值為:200

c的十六進(jìn)制值為:80

d的十進(jìn)制值為:586

2.1.4實(shí)型數(shù)據(jù)

實(shí)型數(shù)據(jù)也稱為浮點(diǎn)數(shù)或?qū)崝?shù)。在C語言中,實(shí)數(shù)只采用十進(jìn)制,可采用浮點(diǎn)計(jì)數(shù)法和科學(xué)計(jì)數(shù)法兩種表示方法,例如:

5.789

2.1E5 (等于2.1*105)

0.5E7 (等于0.5*107)

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

一般情況下,對(duì)太大或太小的數(shù),采用科學(xué)計(jì)數(shù)法,如上面的0.5E7、-2.8E-9。

2-6輸出實(shí)數(shù)。

#include <stdio.h>

int main()

{

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

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

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

printf(“356.24的科學(xué)計(jì)數(shù)法表示:%E\n",356.24);

return 0;

}

程序運(yùn)行結(jié)果:

356.24的浮點(diǎn)數(shù)表示:356.240000

3.5624e2的浮點(diǎn)數(shù)表示:356.240000

35624e-2的浮點(diǎn)數(shù)表示:356.240000

356.24的科學(xué)計(jì)數(shù)法表示:3.562400E+002

浮點(diǎn)數(shù)在計(jì)算機(jī)中的表示可根據(jù)系統(tǒng)分配的字節(jié)數(shù)不同而分成單精度浮點(diǎn)數(shù)和雙精度浮點(diǎn)數(shù),計(jì)算機(jī)通常分配4個(gè)字節(jié)給單精度浮點(diǎn)數(shù),分配8個(gè)字節(jié)給雙精度浮點(diǎn)數(shù)。單精度浮點(diǎn)數(shù)和雙精度浮點(diǎn)數(shù)的取值范圍如表2-6所示。

2-6 浮點(diǎn)型數(shù)據(jù)類型的取值范圍                    

 

數(shù)據(jù)類型

 
 

比特?cái)?shù)(字節(jié)數(shù))

 
 

有效數(shù)字

 
 

數(shù)的范圍

 
 

單精度浮點(diǎn)數(shù)(float

 
 

32(4)

 
 

6~7

 
 

10-37~1038

 
 

雙精度浮點(diǎn)數(shù)(double

 
 

64(8)

 
 

15~16

 
 

10-307~10308

 

2-7】浮點(diǎn)數(shù)例子

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

}

程序運(yùn)行結(jié)果:

a=33333.332031

b=33333.333333

從本例可以看出:

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

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

2.1.5 字符型數(shù)據(jù)

1.字符型數(shù)據(jù)的表示

字符型數(shù)據(jù)是用單引號(hào)括起來的單個(gè)字符,如'a'、'b''='、'+'、'?'都是合法字符型數(shù)據(jù)。在這里單引號(hào)只起定界的作用,并不代表字符。單引號(hào)中的字符不可以只是單引號(hào)()和反斜杠(\),因?yàn)榉葱备埽?/span>\)本身就是一個(gè)轉(zhuǎn)義字符。

2.轉(zhuǎn)義字符

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

轉(zhuǎn)義符用反斜線\后面跟一個(gè)字符或一個(gè)八進(jìn)制或十六進(jìn)制數(shù)表示。表2-7所示為C語言中常用的轉(zhuǎn)義字符。

        表2-7 常用轉(zhuǎn)義字符含義                                           

 

轉(zhuǎn)義字符

 

轉(zhuǎn)義字符的意義

 

ASCII代碼

 

\n

 

回車換行

 

10

 

\t

 

橫向跳到下一制表位置

 

9

 

\b

 

退格

 

8

 

\r

 

回車,將當(dāng)前的光標(biāo)移動(dòng)到行首,但不會(huì)移動(dòng)到下一行

 

13

 

\f

 

走紙換頁

 

12

 

\\

 

反斜線符"\"

 

92

 

\'

 

單引號(hào)符

 

39

 

\”

 

雙引號(hào)符

 

34

 

\a

 

鳴鈴


 

\ddd

 

13位八進(jìn)制數(shù)所代表的字符


 

\xhh

 

12位十六進(jìn)制數(shù)所代表的字符


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

2-8】轉(zhuǎn)義字符的使用。

#include<stdio.h>

int main()

{

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

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

return 0;

}

程序運(yùn)行結(jié)果:

fab c    de

hijk     M

3.字符變量

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

char a,b;

4.字符變量在內(nèi)存中的存儲(chǔ)形式及使用方法

C語言中,字符是按其所對(duì)應(yīng)的ASCII的值來存儲(chǔ)的,一個(gè)字符占一個(gè)字節(jié)。表2-8為部分字符所對(duì)應(yīng)的ASCII值。

2-8 部分字符的ASCII                           

 

字符

 

0

 

1

 

A

 

B

 

a

 

z

 

ASCII

 

48

 

49

 

65

 

66

 

97

 

122

數(shù)據(jù)在計(jì)算機(jī)中是按位存放的,每個(gè)位中只能存放“0”或“1”, 8位組成一個(gè)字節(jié)。因此,字符在內(nèi)存中存儲(chǔ)的時(shí)候,是將其ASCII值以8二進(jìn)制數(shù)形式存放的。

例如,字符‘A’在內(nèi)存中的存放形式為:               

 

0

 

1

 

0

 

0

 

0

 

0

 

0

 

1

2-9】向字符變量賦以整數(shù)。

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

}

程序運(yùn)行結(jié)果:

x,y

120,121

本程序中定義ab為字符型,但在賦值語句中賦以整型值。從結(jié)果看,ab值的輸出形式取決于printf函數(shù)格式串中的格式符,當(dāng)格式符為"c"時(shí),對(duì)應(yīng)輸出的變量值為字符,當(dāng)格式符為"d"時(shí),對(duì)應(yīng)輸出的變量值為該字符對(duì)應(yīng)的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;

}

程序運(yùn)行結(jié)果:

A,B

65,66

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

5.字符串

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

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

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

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

C語言中沒有相應(yīng)的字符串變量,也就是說不存在這樣的關(guān)鍵字,將一個(gè)變量聲明為字符串,但是可以用一個(gè)字符數(shù)組來存放一個(gè)字符串,這將在數(shù)組一章內(nèi)予以介紹。

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

 

C


 

p

 

r

 

o

 

g

 

r 

 

a

 

m 

 

\0

字符‘a(chǎn)’和字符串“a”雖然都只有一個(gè)字符,但在內(nèi)存中的情況是不同的。

‘a(chǎn)’在內(nèi)存中占一個(gè)字節(jié),可表示為: 

 

a

a”在內(nèi)存中占二個(gè)字節(jié),可表示為: 

 

a

 

\0