微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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,在不同系统上,部分数据类型占用字节不同

数据类型分类

      整型

类型 存储大小(单位为字节) 值范围
char 1 -128 即-(2^7) 到 127 (2^7-1)
unsigned char 1 0 到 255 (2^8 - 1)
signed char 1 -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 int 2/4 0 到 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 short 2 0 到 65,535 (2^16 - 1)
long (signed long) 4 -2,147,483,648 (- 2^31) 到 2,147,483,647 (2^31 - 1)
unsigned long 4 0 到 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+38 6 位小数
double 双精度 8 字节 2.3E-308 到 1.7E+308 15 位小数

注意:

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

注意

  • 不能对枚举常量赋值,只能将它们的值赋给其他的变量。
  • 不能再定义与枚举常量名字相同的变量。
  • 不能用&取得它们的地址。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐