常见数据类型(入门)

数据类型是计算机程序中用来表示数据的类别,它们定义了数据的大小、存储方式和可执行的操作。在编程中,数据类型非常重要,因为它们决定了变量可以存储什么类型的值以及可以进行哪些操作。

常见的数据类型包括:

整数类型(Integer):用于存储整数值,如int、long等。浮点数类型(Floating-point):用于存储小数或实数值,如float、double等。字符类型(Character):用于存储单个字符,如char。布尔类型(Boolean):用于存储真(true)或假(false)的值,如bool。字符串类型(String):用于存储一系列字符组成的文本,如string。数组类型(Array):用于存储一组相同类型的数据元素,如int[]、float[]等。结构体类型(Struct):用于组合不同类型的数据元素,形成一个新的数据类型。指针类型(Pointer):用于存储内存地址的变量,通常用于动态内存分配和函数参数传递。枚举类型(Enumeration):用于定义一组命名的常量值,如enum Color {RED, GREEN, BLUE}。联合体类型(Union):类似于结构体,但所有成员共享同一块内存空间,只能同时使用其中一个成员。

根据编程语言的不同,可能还存在其他特定的数据类型。选择合适的数据类型对于编写高效、可读性强的程序至关重要。

这里我们取前几种数据类型简单分析

1.整型

概念

表达数据类型的数据为整数

需要注意的地方

1. int

的本意是

integer

,即整数的意思。

2. int a

代表在内存中开辟一块区域,称为

a

,用来存放整数,

a

称为整型变量。

3.

变量

a

所占用的内存大小,在不同的系统中是不一样的,

64

位系统 典型的大小是4

字节。

4.

变量

a

有固定的大小,因此也有取值范围,典型的范 是:-2147483648

2147483647

整型修饰符

short

:用来缩短整型变量的尺寸,减少取值范围并节省内存,称为整型。

long

:用来增长整型变量的尺寸,增大取值范围并占用更多的内存,称为长整型。

long long

:用来增长整型变量的尺寸,增大取值范围并占用更多的内存,称为长长整型。

unsigned

:用来去除整型变量的符号位,使得整型变量只能表达非负整数。

signed

:表示有符号,一般情况下省略。

需要注意的地方

1. int

的本意是

integer

,即整数的意思。

2. int a

代表在内存中开辟一块区域,称为

a

,用来存放整数,

a

称为整型变量。

3.

变量

a

所占用的内存大小,在不同的系统中是不一样的,

64

位系统典型的大小是4

字节。

4.

变量

a

有固定的大小,因此也有取值范围,典型的范围是:-2147483648

2147483647

整型修饰符

short:用来缩短整型变量的尺寸,减少取值范围并节省内存,称为整型。

long

:用来增长整型变量的尺寸,增大取值范围并占用更多的内存,称为长整型。

long long

:用来增长整型变量的尺寸,增大取值范围并占用更多的内存,称为长长整型。

unsigned

:用来去除整型变量的符号位,使得整型变量只能表达非负整数。

signed

:表示有符号,一般情况下省略。

short int

a

;

//

短整型

-10000

long int

b

;

//

长整型

-10000000000

long long int

c

;

//

长长整型

-100000000000000000

unsigned int

d

;

//

无符号整型

10000

unsigned short int

e

;

//

无符号短整型

unsigned long int

f

;

//

无符号长整型

unsigned long long int

g

;

//

无符号长长整型

使用整型修饰符后,关键字

int

可以省略。

short

a

;

//

短整型

long

b

;

//

长整型

long long

c

;

//

长长整型

unsigned

d

;

//

无符号整型

unsigned short

e

;

//

无符号短整型

unsigned long

f

;

//

无符号长整型

unsigned long long

g

;

//

无符号长长整型

符号位

有符号的整型数据,首位为符号位,

0

表示正数,

1

表示负数。

无符号的整型数据,没有符号位。

编码形式:(计算机中存储和运算的都是

补码

原码:正数直接使用二进制来表达,比如

a=100

,在内存中是00...001100100

补码:负数用绝对值取反加一来表达,比如

a=-3

,在内存中是11...1111111101

注意负数的补码在取反加一的时候,符号位是不变的。

编码形式:(计算机中存储和运算的都是 补码)

原码:正数直接使用二进制来表达,比如

a=100

,在内存中是 00...001100100

补码:负数用绝对值取反加一来表达,比如

a=-3

,在内存中是 11...1111111101

注意负数的补码在取反加一的时候,符号位是不变的。

数据表示范围:

溢出:

超出数据所能表达的范围,称为

溢出

,就像汽车里程表,

最大值和最小值是相邻的。

进制:源码中可以使用八进制、十进制或者十六进制,

但实际数据中一律是二进制

十进制(默认), 比如

1234

八进制,比如

012

0~7

),

013

0

表示八进制的标识符,不可省略。

十六进制,比如

0x6FFAB

0xaa1234

,(

0~9 ~a(10) ~ f(15

),

一个F表示四个

1

0x

为十六进制的标识符,不可省略。

格式控制符

int

整型:

%d

unsigned int

无符号整型:

%u

short

整型:

%hd,h

代表

half

,即一半的存储字节

long

整型:

%ld

long long

整型:

%lld

显示不同进制的前缀

: %#o

%#x

2.浮点型(实型)

概念

用来表达实数

(

有理数和无理数

)

的数据类型

分类

单精度浮点型

(float)

64

位机中典型尺寸是

4

字节

双精度浮点型

(double)

64

位机中典型尺寸是

8

字节

长双精度浮点型

(long double)

64

位机中典型尺寸是

16

字节

占用内存越多,能表达的精度越高

3,字符型

计算机中存储都是

1

0

,因此各种字符都必须被映射位某个数字才能存储到计算机中,这种映射关系形成的表称为ASCII

码表。

字符本质上就是一个单字节的整型,支持整型所有的运算。

ascll表我们记少不记多,记住重点的几个推就行

0

--->

空字符

32

--->

空格字符

' '

48

--->

数字字符

'0'

65

--->

大写字母

'A'

97

--->

小写字母

'a'

转义字符

转义字符,所有的

ASCII

码都可以使用

\数字

(

一般是

8

进制数

)

来表示,而是在

c 中定义一些\

字母来区分原来字母的含义,我们把这种方式称为转义比如

字符 :

'n'

表示 字母

n

字符 :

'\n'

表示 回车键

常用的转义字符有:

'\t'

:

水平制表符

tab

'\b'

:

退格符

'\a'

:

告警符

'\ddd'

:

ddd

表示

8

进制数,输出该数是对应

ASCII

表的

8

进制

//

注意

\ddd

\

后面只能写

3

8

进制数,

0-7

'\xhh'

:

xhh

表示十六进制,输出该数是对应

ASCII

表的十六进制

//printf("'\xhh'");

写法错误

//

注意

\hh

\x

后面只能写

2

16

进制数,

0-f

4.布尔类型(重点)

概念

布尔型数据只有真、假两种取值,

非零为真,零为假

注意

1.

逻辑真除了

1

之外,其他任何非零数值都表示逻辑真,

等价于

1

2.

使用布尔型

bool

定义变量时需要包含系统头文件

stdbool.h

3.

布尔型变量在计算的时候,使用的是数值

1

0

布尔型数据常用在逻辑判断、循环控制、函数返回等场合。

bool只有两种状态,要么为1(真),要么为0(假)

不管对bool赋予任意值,非零为真零为假

5.字符串

定义:

双引号

引起来的字符序列。

在内存中的存储

在内存中实际上是多个连续字符的组合 任何字符串都以一个'\0'

作为结束标记

注意:有关与不同的编码格式对应存储中文空间问题:

GBK

编码格式的文件当中,一个中文占用

2

个字节

UTF-8

编码格式的文件当中,一个中文占用

3

个字节,

linux

操作系统默认文

件格式为

UTF-8

编码格式,如果文件不是

UTF-8

则会显示乱码。

6.常量与变量

概念

不可改变的内存称为常量,可以改变的内存称为变量

常量的类型:

类型转换

概念:不一致但

相互兼容的数据类型

,在同一表达式中将会发生类型转

换。

转换模式:

隐式转换:系统按照隐式规则自动进行的转换

(

低精度到高精度

)

强制转换:用户显式自定义进行的转换

隐式规则:从小类型向大类型转换,目的是保证不丢失表达式中数据的

精度

7.数据类型的本质

概念:各种不同的数据类型,本质上是用户与系统对某一块内存数据的解释方式的约定。

推论:

类型转换,实际上是对先前定义时候的约定,做了一个临时的打破。理论上,可以对任意的数据做任意的类型转换,但转换之后的数据解释不一定有意义。

总结:其实就是申请一块对应数据类型的空间来存放数据,称为数

据类型

8、整型数据尺寸

概念:整型数据尺寸是指某种整型数据所占用内存空间的大小,C语言标准并未规定整型数据的具体大小,只规定了相互之间的

相对大小 ”

比如:

short

不可比

int

long

不可比

int

long

型数据长度等于系统字长

系统字长:

CPU

一次处理的数据长度,称为字长。比如

32

位系统、

64位系统。

典型尺寸:

char

占用

1

个字节

short

占用

2

个字节

int

16

位系统中占用

2

个字节,在

32

位和

64

位系统中一般都占用

4个字节

long

的尺寸等于系统字长

long long

32

位系统中一般占用

4

个字节,在

64

位系统中一般占用8个字节

手机如何打开7z格式文件:详细步骤与操作建议
dnf武动之魂武器要做多久-武动之魂武器制作时间解析