C语言学习之旅———数据类型、变量

一、数据类型

1.内置类型字符型整型浮点型布尔型

ps:内置类型就是编程语言在设计初期定义的类型

    1.1 字符型

ps:用来存储字符

char a;//字符型
    1.2 整型

ps: 用来存储整数

//"[]"的东西可省略
int a;//整型
short [int] b;//短整型,有着比int更小的取值范围
long [int] c;//长整型,一般有着比int更大的取值范围
long long [int] d;//超长整型,有着比int更大的取值范围
    1.3 浮点型

ps:用来存储小数

float a;//单精度浮点型
double a;//双精度浮点型,有着比float更高的精度与更大的取值范围
long double c;//长精度浮点型,有着比float、double更高的精度与更大的取值范围
    1.4 布尔型

ps:主要用于存储逻辑值(false/true)

使用布尔类型需引用头文件stdbool.h

bool a;//两种效果都相同,0代表false,非0(1)代表true
_Bool b;
   1.5 以上数据类型的长度及其取值范围
数据类型单个类型数据的长度取值范围
char1Byte-128 ~ 127
int4Byte-2^31 ~ 2^31-1
short  [int]2Byte-2^15 ~ 2^15-1
long  [int]>=4Byte
long  long  [int]8Byte-2^63 ~ 2^63-1
float4Byte3.4*10^(-38)~3.4*10^38
double8Byte
long double>=8Byte1.7*10^(-308)~1.7*10^308
bool /_Bool1Byte

  true、false

      1.5.1 sizeof操作符

ps:主要是用来计算类型长度,单位是字节(Byte)

//C语言规定sizeof的返回值的类型都为size_t类型
int a, b;
a = sizeof(int);//计算int类型长度,()里面是类型时,“()”不可省略
a = sizeof(a);//计算a的类型长度,也就是int的类型长度,()里面是表达式时,“()”可省略
b = sizeof a++;//仍是计算int的类型长度,且a++不执行,也就是说sizeof后面的表达式不计算
     1.5.2 signed与unsigned

signed表示此类型带有正负号,包含负值  

unsigned表示此类型不带有正负号,不包含负值

ps :使用unsigned的优点是同样长度的内存能够表示的最大整数值,增大了一倍。

signed char a;//范围为-128~+127
unsigned char b;//范围为0~255
     1.5.3 数据类型的取值范围

pslimits.h 头文件中说明了整型类型的取值范围。
       float.h 头文件中说明浮点型类型的取值范围。

SCHAR_MIN  SCHAR_MAX    //signed char 的最⼩值和最⼤值
SHRT_MIN  SHRT_MAX      //short 的最⼩值和最⼤值
INT_MIN  INT_MAX        //int 的最⼩值和最⼤值
LONG_MIN  LONG_MAX      //long 的最⼩值和最⼤值
LLONG_MIN  LLONG_MAX  //long long 的最⼩值和最⼤值
UCHAR_MAX     //unsignedchar 的最⼤值
USHRT_MAX     //unsigned short 的最⼤值
UINT_MAX      //unsigned int 的最⼤值
ULONG_MAX     //unsigned long 的最⼤值
ULLONG_MAX    //unsigned long long 的最⼤值

2.自定义类型数组结构体——struct枚举——enum联合体——union

ps:自定义类型顾名思义就是由我们自己定义的类型

二、变量

1.变量的创建
data_tybe name;//创建变量的格式:数据类型 + 变量名

int a;//整型变量
float b;//浮点型变量
char ch;//字符型变量

ps:变量名的组成只能字母数字下划线,并且不能以数字开头。

在创建变量的同时,赋予变量一个初始值,叫初始化

int a = 18;
float b = 3.14159;
char ch = 'K';
2.变量的分类

局部变量:在大括号内定义的变量,只能在自己所在的大括号内使用,存在栈区

全局变量:在大括号外定义的变量,可以使用在整个工程里,存在静态区

int a;//全局变量

int main()
{
    int b;//局部变量
    return 0;
}

当全局变量、局部变量名字相同时,局部变量优先

int a = 0;//全局变量

int main()
{
    int a = 18;//局部变量
    printf("%d",a);//打印的值为18
    return 0;
}

若以上内容有错误,请指出,谢谢。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值