【C语言】第二篇:C语⾔数据类型和变量

目录

1、数据类型介绍

 1.1 字符型

 1.2 整型

1.3 浮点型 

1.4 布尔类型

1.5 各种数据类型的长度

1.5.1 sizeof操作符

1.5.2 数据类型长度

1.5.3 sizeof中表达式不计算

2、signed和unsigned

2.1、unsigned的好处

3、数据类型的取值范围

4、变量

4.1 变量的创建

4.2 变量的分类


1、数据类型介绍

在C语言中,任何数据对用户呈现的形式有两种:常量和变量。而无论是常量还是变量,都必须属于各种不同的数据类型。

C语言规定的数据类型如下:

 1.1 字符型

char                //character

[signed] char        //有符号的

unsigned char        //无符号

 1.2 整型

//短整型

short [int]

[signed] short [int]

unsigned short [int]

//整型

int

[signed] int

unsigned int

//长整型

long [int]

[signed] long [int]

unsigned long [int]

//更长整的整型

//C99中引入

llong long [int]

[signed] long long [int]

unsigned long long [int]

1.3 浮点型 

float

double

long double

1.4 布尔类型

_Bool

1.5 各种数据类型的长度

每一种数据类型都有自己的长度,使用不同的数据类型,能够创建出长度不变的变量,变量长度的不同,存储的数据成为就是有所差异。

1.5.1 sizeof操作符

sizeof是一个关键字,也是操作符,专门是用来计算sizeof的操作数的类型长度,单位是字节。

sizeof操作符的操作数可以是类型,也可以是变量或者表达式

sizeof(类型)

sizeof 表达式

sizeof的计算结果是size_t类型的

1.5.2 数据类型长度

#include <stdio.h>

int main()
{
    printf("%zd\n",sizeof(char));        //1
    printf("%zd\n",sizeof(_Bool));       //1
    printf("%zd\n",sizeof(short));       //2
    printf("%zd\n",sizeof(int));         //4
    printf("%zd\n",sizeof(long));        //4
    printf("%zd\n",sizeof(long long));    //8
    printf("%zd\n",sizeof(float));        //4
    printf("%zd\n",sizeof(double));        //8
    printf("%zd\n",sizeof(long double));    //8
}

1.5.3 sizeof中表达式不计算

sizeof在代码进行编译的时候,就根据表达式的类型确定了,而表达式的执行却要在程序运行期间才能执行,在编译期间以及将sizeof处理掉了,所以在运行期间就不会执行表达式。

2、signed和unsigned

  • C语言使用signed和unsigned关键字修饰字符型和整型类型的
  • signed关键字,表示一个类型带有正负号,包括负值
  • unsigned关键字,表示该类型不带有正负号,只能表示零和正整数
  • 对于int类型,默认是带有正负号的,也就是说int等同于signed int

2.1、unsigned的好处

整型变量声明为unsigned的时候,同样长度的内存能够表示的最大值整数值,增大了一倍

比如,16位singned short int的取值范围是:-32768 ~ 32767,最大是32767;而unsigned short int的取值范围是:0 ~ 65535,最大值增大到了65535。

3、数据类型的取值范围

4、变量

4.1 变量的创建

C语言中中经常把变化的值称为变量,不变的值称为常量

变量创建的语法格式:

date_type name;

     |               |

     |               |

数据类型  变量名

 例如:

int age;        //整型变量
char ch;       //字符变量
double weight;        //浮点型变量

变量在创建的时候就给一个初始值,就叫初始化

int age = 18;
char ch = 'w';
double weight = 48.5;

4.2 变量的分类

全局变量:在大括号外定义的变量就是全局变量

局部变量:在大括号内部定义的变量就是局部变量

#include <stdio.h>

int global = 2023;//全局变量

int main()
{
    int local = 2020;//局部变量
    printf("%d\n",local);
    printf("%d\n",global);
    return 0
}

如果局部变量和全局变量,变量名相同的时候,局部变量优先使用

全局变量和局部变量在内存中存储在哪里?

一般我们在学习C语言的时候,会关注内存的三个区域:栈区、堆区、静态区

  1. 局部变量是放在内存的栈区。
  2. 全局变量是放在内存的静态区。
  3. 堆区是用来动态内存管理的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值