C语言数据类型

目录

变量的介绍

变量使用基本步骤

变量使用注意事项

变量数据类型

数据类型分类

      整型

      浮点类型

      字符类型

      字符类型本质

      布尔类型

常量介绍

      字面常量

  #define定义的标识符常量

  枚举常量

变量的介绍

变量相当于一个数据存储空间的表示,可以把变量当作门牌号,通过门牌号可以找到房间,同样的,我们可以通过变量名来访问变量值

变量使用基本步骤

1,变量声明;

2,赋值

3,使用

#include<stdio.h>
int main()
{
    int n;//声明变量
    n = 10;//赋值
    printf("%d",n);//使用
    return 0;
}

变量使用注意事项

1,变量表明内存中的一个内存区域(不同数据类型占用内存大小不一样)。

   例如: int类型占用4字节大小,double类型占用8字节大小

2,该区域有自己的名称和类型

int a;//声明了一块int类型 名称为a的内存区域

3,变量必须先声明,后使用。这点非常重要,就好比要先拿到钥匙才能打开门吧。

4,该区域的数据可以在同一类型下不断变化。

例如:int a = 10; 可以修改为a = 20;

5,变量在同一作用域下不能同名,毕竟同一个房间总不能同时被不同的顾客使用吧。

6,变量三要素(变量名,值,数据类型);

变量数据类型

每一种数据都定义了明确的数据类型,在内存中分配了不同大小的内存空间(用字节表示)

注意:c语言中没有字符串类型,一般用字符数组char[]来表示

          2,在不同系统上,部分数据类型占用字节不同

数据类型分类

      整型

类型存储大小(单位为字节)值范围
char1-128 即-(2^7) 到 127 (2^7-1)
unsigned char10 到 255 (2^8 - 1)
signed char1-128 即-(2^7) 到 127 (2^7-1)
intsigned int (int)2/4-32,768 (- 2^15 ) 到 32,767 (2^15-1)或 -2,147,483,648 (- 2^31) 到 2,147,483,647 (2^31 -1)
unsigned int2/40 到 65,535 (2^16-1) 或 0 到 4,294,967,295 (2^32 -1)
short (signed short)2-32,768 (- 2^15)到 32,767 (2^15 -1)
unsigned short20 到 65,535 (2^16 - 1)
long (signed long)4-2,147,483,648 (- 2^31) 到 2,147,483,647 (2^31 - 1)
unsigned long40 到 4,294,967,295 (2^32 - 1)

注意:

  1. 各种类型的存储大小与操作系统、 系统位数和编译器有关 ,目前通用的以64位系统为主
  2. C语言的整型类型, 分为有符号 signed 和无符号 unsigned 两种, 默认是 signed
  3. C程序中整型常声明为int型, 除非不足以表示大数, 才使用long long

      浮点类型

浮点型可以表示小数,123.4

类型存储大小值范围精度
float 单精度4 字节1.2E-38 到 3.4E+386 位小数
double 双精度8 字节2.3E-308 到 1.7E+30815 位小数

注意:

1,浮点数在机器存放形式为:浮点数 = 符号位+指数位+尾数位,浮点数是近似值

2,尾数部分可能丢失,造成精度损失

3,浮点型常量默认为double类型,声明float类型时要后加f或F

 4,浮点型常量有俩种表达形式:

         1,十进制  512   512.0f.512(必须有小数点)

         2,科学计数法5.12e2 等同于5.12*10^2.  计算机用e或E来表示10的幂。

科学计数法输出时采用%e或% E。

         3,一般情况下用double类型,因为比float更精确

          4,

printf("d = %f",d);一般默认保留小数点后6位。
如果想保存后俩位,可以在%后写.2即
printf("d = %.2f",d);

      字符类型

字符类型可以表示单个字符和多个字符(字符串),字符串一般用字符数组表述,

注意:

1,字符常量用单引号括起来,char c = 'a';

2,c语言还允许转义字符‘\’来将后的字符转换特殊字符常量,\n表示换行

 3,char的本质是整数,输出时是ASCII对应的字符

      字符类型本质

   1,字符型,存储到计算机中需要将字符对应的ASCII码值找出来

          存储: a ->ASCII码(97)->二进制(1100001)->存储

         读取:二进制(1100001)->ASCII(97)->字符'a'->读取

 2,关于字符与码值对应关系可以查看ASCII表

      布尔类型

布尔类型仍然是整数类型,但布尔变量只能赋值为0或1,非0都会被存储为1。

C99还提供一个头文件<stdbool.h> bool 代表_Bool,true代表1,false代表0

常量介绍

常量是固定的值,在运行过程中无法改变

      字面常量

字面常量是直接写出来的固定值,包含c中所有数据类型。

           const修饰的常变量:有时我们希望声明的变量的值不被修改,这时const就发挥了作用

const int a = 10;

const修饰的常变量本质是变量,但是有常属性,不能被修改

  #define定义的标识符常量

    通常用于代表数组容量或数字的常量

#define PI 3.14
#define MAX 100
int main()
{
    int str[MAX] = {0};
    return 0;
}

如果修改,只需修改MAX即可。

  枚举常量

enum fruit
{

     apple,
     banana,
     candy
};

int main()
{
   enum fruit f = apple;//利用枚举常量给变量赋值
   printf("%d",apple);
   printf("%d",banana);
   printf("%d",candy);
   return 0;
}

注意

  • 不能对枚举常量赋值,只能将它们的值赋给其他的变量。
  • 不能再定义与枚举常量名字相同的变量。
  • 不能用&取得它们的地址。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三桶老飞鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值