C语言的基本结构(二)

目录

2. 数据类型

2.1. 数据类型的分类 

2.2. 常量和变量

2.2.1. 标识符:

2.2.2. 常量

2.2.3. 变量

2.2.4. 存储方式


2. 数据类型

在 C 语言中,数据类型指的是用于声明不同类型的变量或函数的一个广泛的系统。变量的类型决定了变量存储占用的空间,以及如何解释存储的位模式;具体可以看下面这张图所示:

2.1. 数据类型的分类 

基本类型字符型 char
整型短整型 short int
整形 int
长整型 long int
浮点型单精度浮点型 float
双精度浮点型 double, long double
构造类型数组 []
构造 struct
联合 union
枚举 enum
指针类型 *
空类型 void
  • 基本类型
类型字节数范围
char1-128~127-2^7 ~ 2^7-1
unsigned char10~2550 ~ 2^8-1
int4

-2147483648~2147483647

-2^31 ~ 2^31-1
unsigned int4

0~4294967295

0 ~ 2^32-1
short2-32768~32767-2^15 ~ 2^15-1
unsigned short20~655350 ~ 2^16-1
long 4

-2147483648~2147483647

-2^31 ~ 2^31-1
unsigned long40~42949672950 ~ 2^32-1
long long8-9223372036854775808~9223372036854775807-2^63 ~ 2^63-1
unsigned long long80~184467440737095516150 ~ 2^64-1
类型字节数有效数据位数范围
float47-3.4x10^-38 ~ 3.4*10^38
double815-1.7x10^-308 ~ 1.7*10^308

有效数字是指一个数从左边第一个不为0的数字数起到精确的数位止的所有的数字(包括0)

  • 构造类型

        由基本数据类型构造出的数据类型,可以将构造数据类型拆分为基本数据类型;

                数组类型 :   数据类型 [整型常量]

                结构体类型:   struct … 

                共用体类型:  union  … 

  • 指针类型

        数据类型 *  ----------地址

  • 空类型

        void 类型

                一般用于函数的返回值或者函数的参数列表。

               void *    :  万能指针

2.2. 常量和变量

2.2.1. 标识符:

        标识符是指程序中的常量、符号常量、枚举常量、数组、函数、类型、文件等对象的名字;标识符的命名规则一般需要满足以下条件:

  1. 标识符只能由数字、字母、下划线和美元符号$组成,且第一个字符必须是字母或下划线开头;如week、student等;
  2. 区分大小写;如name和Name是两个不同的标识符;
  3. 不能使用系统的关键字(保留字);如char、int、float等;
  4. 不建议使用系统预定义的标识符;如define、include、printf等;
  5. 尽量做到“见名如字”;如age、name等;
  6. 避免使用易混字符;如(1、i、l)、(0、o)、(2、z)等。

2.2.2. 常量

        在程序运行过程中一直保持不变的量,就称为常量。

  • 普通常量

        (1)整型常量:如10、45、100等;

        (2)实型常量:如3.14、5.23等;

        (3)字符常量:用单引号括起来的字符;如‘1’、‘A’等;

        (4)字符串常量:C语言中本没有字符串常量,但可用双引号括起来一串字符;如“hello  world”;是由多个字符组成并在末尾加‘\0’做为结束符;

        (5)符号常量:在C语言中,可以用一个标识符表示一个常量,称之为符号常量。其特点是编译后写在代码区,不可寻址,不可更改,属于指令的一部分;符号常量在使用是必须先定义;

  1. #define定义:#define 标识符 常量

        (6)枚举常量:枚举常量是要占用内存的

,它要在内存中开辟一个空间来存放枚举变量;其常量值在没有赋值时系统会默认给它的第一个变量赋值0,后面的依次为1、2......使用枚举类型的最大好处是使得程序可读性增强。

  1. 格式:enum 枚举类型名{常量1,常量2,常量3,.......};例如定义一个星期的枚举常量:enum Weekday {Mon,Tue,Wed,.....};
  2. 枚举值是常量,不是变量。不能在程序中用赋值语句再对它赋值。例如对枚举weekday的元素再作以下赋值: Wed=5;Mon=2;Wed=Mon; 都是错误的;
  3. 枚举元素本身由系统定义了一个表示序号的数值,从0 开始顺序定义为0,1,2…。如在weekday中,Mon值为0,Tue值为1, …,Sat值为6。

2.2.3. 变量

        在程序运行过程中会发生改变的量,就称为变量。

  1. 变量的定义:数据类型 变量名1,变量2,变量名3.....
  2. 整型变量:int 变量名
  3. 实型变量:float/double 变量名
  4. 字符型变量:char 变量名
  5. 枚举型变量

2.2.4. 存储方式

        C语言中是以数据的二进制补码进行存储。

  1.         原码:最高位存放数据的符号---正数:0/负数;1
  2.         反码:正数:与原码相同;负数:除符号位,其它按位取反;
  3.         补码:正数:与原码、反码相同;负数:先将原码取反,再加1;

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值