###什么?C语言尽然是是画笔?<关于C语言的数据类型的介绍 && 一些操作符>

C语言的数据类型和变量

引入

下表是YY同学的基本信息

姓名:YY
身高:175.6cm
体重:53kg
年龄:20
///
我们可以看到,在YY同学的信息中存在各种不同的数据,有小数,整数,还有字符,这些不同的数据类型在生活中十分常见,编程的目的是为了解决实际生活中的问题,计算机有能力来描述生活中的问题,以下就让我们了解一下C语言提供的各种数据类型吧!
各种类型中的分类了解即可,无需深究 :)

字符类型 char

// [ ]中的表示可以省略
分类如下:
char //character
[signed] char //有符号的
unsigend char //无符号的

整型 int

分类如下:
short [int]
[signed] short [int]
unsigned short [int]
//整型
int
[signed] int
unsigned int
//⻓整型
long [int]
[signed] long [int]
unsigned long [int]

浮点型 float

为什么叫做浮点型腻?
因为小数中的小数点可以左右浮动
比方说–>3.5 可以表示为0.35*10因此叫做浮点类型
分类如下:
float
double
long double

布尔类型 _Bool

使用该类型时要包含头文件<stdbool.h>
是一种表示真假的变量,只有两种取值:真或假,也就是true或者false
bool等同于_Bool
C语言中也规定了: 0表示假,非0表示真所以严格来讲布尔类型不是必须的

各种数据类型的长度

周知,各种数据类型所存储数据的长度不同。
YY同学提问了:如何测量每种数据类型的所存数据的长度呢?

sizeof操作符

  • sizeof 是⼀个关键字,也是操作符,专⻔是⽤来计算sizeof的操作符数的类型⻓度的,单位是字节
  • sizeof操作符的操作时可以是类型也可以是表达式
  • sizeof计算结果的类型是sizeof_t,所以在打印其返回值时要用%zd来打印
int main()
{
	int a = 10;
	printf("%zd", sizeof(int));
	printf("%zd", sizeof a );
	return 0;
}
  • C语言规定sizeof的返回值size_t可能是 unsigned int 也可能是 unsigned long int 具体由编译器来决定

signed 和 unsigned

  • C 语⾔使⽤ signed 和 unsigned 关键字修饰字符型和整型类型
  • signed 关键字,表⽰⼀个类型带有正负号,包含负值
  • unsigned 关键字,表⽰该类型不带有正负号,只能表⽰零和正整数
  • 对于 int 类型,默认是带有正负号的,也就是说 int 等同于 signed int 。由于这是默认情况,关键字 signed ⼀般都省略不写
  • char的是否有符号取决于编译器

数据类型的取值范围

数据类型的取值范围放在 limits.h这个头文件中描述

想了解更多的hxd可以自行去IDE里测试

变量

以上是C语言的类型介绍,YY同学又提问了:学这么多类型是干什么用的呢?
答:类型是用来创建变量的

什么是变量

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

变量的创建和初始化

char name = "YY";
float height = 180.0int weight = 100int age = 20;

通过以上YY同学的信息就可以理解创建变量的语法为 data_type name,在创建变量的时候给变量一个值,就成为变量的赋值

变量的分类

全局变量

在⼤括号外部定义的变量就是全局变量全局变量的使⽤范围更⼴,整个项目中想使⽤,都是有办法使⽤的。

局部变量

在⼤括号内部定义的变量就是局部变量,局部变量的使⽤范围是⽐较局限,只能在⾃⼰所在的局部范围内使⽤的。

#include <stdio.h>
int n = 10;
int main()
{
	printf("%d", n);
	return 0;
}

以上代码可以正常的输出n的值10
YY同学提问:如果局部变量和全局变量相同肿么办呢?

#include <stdio.h>
int n = 10;
int main()
{
	int n = 100;
	printf("%d", n);
	return 0;
}

上述代码的输出结果是100,嗷~ 我们知道啦,变量在使用的过程中是遵循局部优先的原则

操作符

六个双目操作符(有两个操作数的操作符) + - * / % =

int main()
{
	int a = 10;
	int b = 20;
	printf("%d", a+b);
	printf("%d", a-b);
	printf("%d", a*b);
	printf("%f", 10/4.0);
	printf("%d", a%b);
	int c;
	c = 30;
	int d = 40;
	d += 10;//此时d的值为50
	return 0;
}

除法操作符tips

  • 打印结果时用%f
  • 两个操作数至少有一个是浮点数

取模操作符tips

  • %操作符的作用是返回两个整数相除的余值
  • 这个运算符只能⽤于整数,不能⽤于浮点数
  • 负数取模的符号由第一个操作数决定

赋值操作符tips

  • 赋值操作符可以连续赋值
  • 赋值操作符可以复合赋值

两个单目操作符 ++ - -

int main()
{
	int a = 5;
	printf("%d", a++);//前置++
	printf("%d", a);
	int b = 3;
	printf("%d", ++b);//后置++
	printf("%d", b);
	return 0;
}

自增自减操作符tips

  • 一句话总结前置与后置:前置是先 ++ 后使用,后置是先使用后 ++( - - 同理哦)

总结

以上是C语言数据类型以及一些操作符的知识,我们要像捡贝壳一样捡到自己的小篮子里哦,有不明白的地方欢迎留言,作者水平有限,文章不妥部分还请各位读者指正。

  • 23
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值