分享

C语言数据类型有哪些?

 随风丶的风 2023-06-14 发布于上海

一、C语言中数据类型的概述

1. 数据类型的用途

数据类型就是用来限定变量的存储形式和数值范围

2. 数据类型的分类

图片
  • 基本类型

基本类型,也就是C语言中的基础类型,其中包括整数类型、字符型、实型(浮点型)、枚举类型。

  • 构造类型

构造类型就是使用基本类型的数据,或者使用已经构造好的数据类型,进行添加、设计构造出新的数据类型,使其设计的新构造类型满足待解决问题所需要的数据类型。

它并不像基本类型那样简单,而是由多种类型组合而成的新类型,其中每一组成部分称为构造类型的成员。

构造类型也包括三种形式:数组类型、结构体类型和共用体类型。

  • 指针类型

C语言的精华是指针,指针类型不同于其他类型的特殊性在于:指针的值表示的是某个内存地址。

  • 空类型

空类型的关键字是void,其主要作用在于:对函数返回的限定;对函数参数的限定。

也就是说,一般一个函数都具有一个返回值,将其值返回调用者,这个返回值是具有特定的类型,但是当函数不必返回一个值时,就可以使用空类型设定返回值的类型。

二、C中进制之间的转换

1. 几进制:就是逢几进一

2. C语言中常用的进制:二进制、八进制、十进制、十六进制。

3各进制在C中的表示形式

       二进制:无  ---通常会在文档中(非代码中)

       以b后缀  0101b

       八进制:以0 开头  

       十进制:默认   

       十六进制:以 0x 或0X 开头  

       区别:012    12    0x12

4各进制从1--16 的表示方式和相互转换

图片

5常见的2的次方

2^7=128  2^8=256  2^10=1024

2^15=32768  2^16=65536

6. 各进制之间的数值转换

二进制 & 八进制   2^3=8

1. 二进制 ----> 八进制

   从二进制低位开始3个合一个,

   高位不够补零

2.二进制 <-----八进制

   八进制一个拆3个

二进制 & 十六进制   2^4=16

1.二进制 ----> 十六进制

  从二进制低位开始4个合一个,高位不够补零

2.二进制 <-----十六进制

  十六进制一个拆4个

三、C中基本数据类型的关键字表示和数值范围入文字输入文字

分析数值范围的目的:

  • 在实际操作过程中,根据变量的功能合理的选择该变量的数据类型 (保证够用,适当浪费)

  • 定义好的变量只能识别对应数据类型范围大小的数值,超过位数部分全部丢失

1数据类型关键字

针对与字符型、整型  数据是存在 有无符号之分的  signed  unsigned

字符型:char       占用  1字节空间

短整型:short       占用 2字节空间

基本整型:int        占用 4字节空间

长整型:long        占用 4字节空间

单精度浮点型:float  占用 4 字节空间

双精度浮点型:double  占用 8字节空间

2数值范围

1.求字节关键字:sizeof   

    用法  sizeof(数据类型/变量名/常量)

    功能:计算 数据类型/变量名/常量  

    所占用的内存空间字节数  

图片

3字符型数值范围

无符号的     unsigned char

数值范围: 0----0xff(2^8-1     255)

有符号的   signed char 或者  char    

最高位:符号位  0 正  1 负

低7位:数据位

数值范围:  -128  ----0x7f(2^7 -1=127)

4短整型数值范围

1.无符号的   unsigned  short

数值范围:0----0xffff(2^16 -1=65535)

2.有符号的   signed short 或者  short

最高位:符号位  0 正  1 负

低15位:数据位

数值范围:-32768  ----0x7fff(2^15 -1=32767)

5基本整型数值范围

无符号的 unsigend  int  

数值范围: 0----0xffffffff(2^32 -1 )

6长整型、浮点型数值范围

1.长整型:long  所占用的字节数是和硬件平台有关

 在32位CPU平台上,long 也是 4字节;在64位平台,long 才是 8字节

2.单精度浮点型:float 保留到小数点后 6位有效数据

3.双精度浮点数:double   保留到小数点后 15~~16位有效数据 (和平台有关,在32位CPU显示不了)

四、C中常量和变量的操作

1无需定义,可以直接使用,只读的  

2. 常量的分类

图片

3. 变量操作

变量必须先定义,后使用 ,可读可写

3.1变量的定义

1.格式: 数据类型   变量名 ;

变量名 规范:

规范1:符合标识符,只能是 数字、字母(26个英文字母)、下划线、$ 一个或组合,并且数字不能作为变量的开头  

规范2:不能和C中已存在的关键字冲突

规范3:区别大小写

规范4:尽可能望文生义 (在实际开发中,每个公司都有一套自己变量命名规则)

3.2变量的赋值-写操作

1.C中 =  赋值号  

2.写操作是一种覆盖写,会改变变量原来的值

3.变量出现在 = 的左边

4.赋值的两种方式

       方式一:在定义时赋值

              int  a = 10;

       方式二:先定义,在使用时赋值

              int  a;

              a =10;

3.3变量的读操作

读操作不会改变变量本身的值,出现在 = 右边

3.4变量的注意事项

1.在一个函数中,同一个变量只能被定义一次,可多次使用

2.如果要定义的多个变量属于同一类型,可以省略数据类型,简便定义

   举例

    int a;

   int b;

    int c;

    char d;

简便定义: 数据类型  变量名1,变量名2,变量名3;

  int  a=10,b,c;

  char  d;

  b=100;

 3.  'a’  和 a     “num”  和 num

五、C中的关键字

1. C语言中存在32个关键字

2. 关键字:被C99规范以占用的字母的组合

 第一类 :数据类型相关的

unsigned  signed   char  short  int  long  float double  sizeof

六、C中数据的存储形式

核心点:对数据操作,和该数据所在的类型特性保持一致----不要跨类型数据操作

1. 字符型和 整型 数据 的存储方式是一样的--都是以数据的二进制补码形式存在,

(和浮点型的存储方式不同--也就是说 字符、整型 不用和 浮点型 混合使用 )

(字符型 和整型  在 数据有限范围内(字符范围) 可以混合使用--但是最好不要)

2. 对于正数: 数据的 原码 = 反码= 补码

3. 对于负数: 

原码:数据直接展开的二进制形式

反码:除符号位以外,原码全部取反

补码:反码 + 1  

4. 对存储的理解:环形存储

     最大 + 1 = 最小

     最小 -1 =最大

5. 浮点型的存储方式,到后面学习完指针来分析

6. 负数的补码数据的形式---以 int 4字节存在

 以    -157  为例:

 步骤1:先把 157 转换成 二进制,然后在 补全成 32位数据,最高位符号位为 1

  1 0000000 00000000 00000000 1001 1101  原码

  1 1111111 11111111 11111111 0110 0010       反码

  1 1111111 11111111 11111111 0110 0011       补码

七、总结

1.分析、掌握数据类型范围的目的:是为了更加合理的定义变量的数据类型 (保证够用,适当浪费)

2.所以编程者只需记忆 字符型 和 短整型  的 数值范围

3.各基本数据类型的关键字、所占用的字节数

4.变量的定义、读写操作

5.字符型、整型存储格式:补码

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多