数据类型与变量

目录

一、什么是数据类型

二、常见的数据类型

知识补充:

(1)数据的大小单位

(2)signed(有符号)和unsigned(无符号)

(3)sizeof操作符

1.整型

2.字符

3.浮点型

4.布尔型

三、变量

四、部分操作符

1.算术操作符+ - * / %

2.赋值操作符 = += -= *= /= %=

3.++ --操作符

五、总结


一、什么是数据类型

编程的出现是为了解决生活中的问题,给人们提供便利,那么为了能够很好的描述生活中的问题,就有了数据类型这一概念,用来定义不同的问题。比如:计算两个整数就引入了整型

二、常见的数据类型

数据类型主要分为两类:内置类型(整型、浮点型、字符型、布尔型)和自定义类型(数组、结构体(struct)、枚举(enum)、联合(union))。这里主要讲内置类型!

知识补充:

(1)数据的大小单位

字节是数据在内存中存储的最小单元。

bit Byte KB MB GB PB TB...        2^10=1024

基本数据大小的转换:

 1TB=2^10 PB          1PB=2^10 GB         1GB=2^10 MB        

1MB=2^10 KB          1KB=2^10Byte         1Byte=8 bit

存储大小的范围(以signed来说):

1Byet:-128(-2^7)~127(2^7-1),其他的以此类推

因为0有正0和负0两种表示方式,所以在c语言中将负0用来表示负数的最高位

(2)signed(有符号)和unsigned(无符号)

注意:字符型和整型又分为signed 和 unsigned 两类

在c语言signed最高位(bit)用来表示符号位:0正数,1负数。

unsigned是为了存储无符号数时表示的范围更大。

(3)sizeof操作符

用来计算整型数据类型的大小

用法:sizeof(表达式/数据类型)

sizeof的返回值为size_t类型(无符号整型)要用%zu来接收。因为返回的不确定时int long 等,所以用size_t来进行接收,增强程序的可移植性。

注意:sizeof中的表达式并不会使变量的值改变,如图中a%=2后,a值仍旧保持不变。

1.整型

用来定义整数,c语言中根据所存储的数据所需要的范围又分为不同的整形,不同的整型又有着不同的占位符。

  • short 短整型->%hd 通常为 2 字节
  • int 整型->%d 通常为 4 字节
  • long 长整型->%ld 在32位系统上通常为 4 字节,64位系统上可能是 4 字节或 8 字节
  • long long 长长整型->%lld 通常为 8 字节

2.字符

字符对应着ASCII码表中的值,一般用''包裹,整型和字符在一定区间内可以相互转换

这样就可以通过数字来对字符相应的操作,比如:字符之间的转换,打印连续的字符等

  • char 字符型->%c 一般为1字节

字符串与\0:

字符串用来表示一连串的字符,用""来包裹数据,为了表示数据存储结束,c语言会在字符串末尾自动加上\0,是字符串结束的标志。字符串用%s来占位。

(1)字符串的初始化

以数组的形式来进行存储

(2)strlen求字符串长度

使用方式:strlen(数组名(首元素地址)),使用前要包含头文件#include <string.h>

注意:strlen的返回值时size_t,求的是\0之前的字符的个数,要与sizeof区分。

3.浮点型

专门用来表示小数,分为:

float->%f单精度浮点型        double->%lf 双精度浮点型        long double->%llf 长双精度浮点型

需要知道整数位和小数点位由大到小一次是:long double >double >float

如无特别声明,都默认为double型

4.布尔型

用来表达真假。true:非0为真,false:0为假

通常用来定义一个事物的对立面。

要使用true 或false进行表示时要加上头文件#include <stdbool.h>

在关系表达式、逻辑表达式等表达式中返回值都是布尔型

三、变量

变量是用来存储数据的,数据类型是用来说明这种变量是什么类型的,变量就相当于你给数据起的名字。

1.变量的创建

type_name name; 数据类型 变量名;

一般在创建变量时给数组初始化,否则变量表示的值可能是随机值。

初始化:type_name name=data;

2.变量的分类

变量分为局部变量全局变量

局部变量:写在函数内部的变量

全局变量:写在函数外部的变量

全局变量可以再该文件的所有函数中使用,而局部变量只能在创建的函数中使用。如下面这个代码就会报错:

 

注意:全局和局部存在相同的变量时,优先使用当前函数内部的变量。 

存储位置:局部变量存放在栈区;全局变量存放在静态区。

3.变量的命名规范

起名字也不能随便起,也要依据一定的原则:

  • 只能由字符、数字、下划线组成
  • 做到见明知意
  • 不能以数字开头
  • 不能以关键字作为变量
  • 主要有大驼峰和小驼峰两种命名方式

大驼峰:每个词的首字母都大写。eg:MyName

小驼峰:第一个词的首字母小写其余词首字母大写.eg:myName

4.变量的取值范围

不同的数据类型存储的数据大小是不同的,如果数据超出了该类型的存储范围会使代码报错

四、部分操作符

一个表达式是由操作符和操作数组成的,对操作符的讲解会穿插在对其应用的过程中。

可以先参考:https://zh.cppreference.com/w/c/language/operator_precedence

1.算术操作符+ - * / %

需要注意的是取模%(求余数)操作符,该操作符只能对整型数据进行计算。其余的和数学一致

2.赋值操作符 = += -= *= /= %=

该操作符表示将一个值或式子的结果赋值给一个变量

例如:a=a+2;可以简化为a+=2;其余都是类似。

3.++ --操作符

这是两个单目操作符,表示对一个变量进行+1和-1操作,但又分为前置后置两种类型

前置和后置二者的异同:

同:当某变量只是为了进行+1和-1操作时,二者一样

异:在将变量经过++操作后进行赋值时才有差异。eg:

在改代码a++时先将a的值传递给b之后在进行a=a+1操作,++a,则是先进行a=a+1操作,再将a的值赋值给b。

口诀:前置++        先++在操作;后置++        先操作再++

五、总结

1.本章主要讲了一些基本的数据类型,以及变量的概念,其中又穿插了与主线知识相关联的知识,如:sizeof string 以及一些常用的操作符

2.到目前为止,我们已经铺垫了c语言的一些前置知识,那么,想要写出一个完整期待的代码,还需要我们继续去开拓,接下来我们将要去了解c语言中的控制语句,去感受代码逻辑和流程严谨之美!

3.每一次的努力,不断地练习,才能够敲除令人惊叹的代码,让我们一起加油,期待我们的下一次相遇。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值