常见数据类型(入门)

常见数据类型(入门)

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

常见的数据类型包括:

整数类型(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个字节

相关推荐

𣲘的意思,𣲘的解释,𣲘的拼音,𣲘的部首
365速发平台app下载

𣲘的意思,𣲘的解释,𣲘的拼音,𣲘的部首

📅 07-12 👁️ 2493
百度影音雷达怎么用?百度影音超级雷达使用方法?
switch lite充电多久
365速发平台app下载

switch lite充电多久

📅 07-31 👁️ 6983