【C语言】数据类型(基本类型、构造类型、类型转换)

⏰打卡:DAY1
🏆今日学习目标:数据类型(基本类型、构造类型、类型转换)
✨个人主页:颜颜yan_的个人主页
🎉专栏系列:从0开始学C语言



前言

最近C语言忘了好多,开始复习ing,记一下近日的笔记~


C语言中的数据类型分为4中,分别是基本类型、构造类型、指针类型、空类型。

在这里插入图片描述

这里查看一下每种数据类型的大小👇

在这里插入图片描述

基本类型

整型

不包含小数部分的数据都成为整型数据。在C语言中,根据数值的取值范围,可以将整型分为短整型(short int)、基本整型(int)、长整型(long int)。整型数据可以被修饰符signed和unsigned修饰,其中,被signed修饰的整型称为有符号的整型,被unsigned修饰的整型称为无符号的整型。
字节(Byte)是计算机存储空间的一种单位,它是内存分配空间的一个基础单位,即内存分配空间至少是1个字节。
最小的存储单位——位(bit),是一个二进制数字0或1占一位。
1B=8bit;

int类型在打印时使用%d

浮点型

浮点数分为单精度浮点数(float)和双精度浮点数(double)两种,其中double型变量所表示的浮点数比float型变量更精确。单精度浮点数后面以F或f结尾,双精度浮点数以D或d结尾
浮点数的后缀可以省略,若省略,则默认为双精度浮点数。

double类型打印时使用%lf,float类型打印时使用%f。

字符型

字符型变量用于存储一个单一字符,在C语言中用char表示,其中每个字符变量都会占用1个字节。在给字符型变量赋值时,需要用一对英文半角格式的单引号(‘’)把字符括起来。
比如,'A’的声明方式:== char ch = ‘A’;==

字符型打印时使用%c。

构造类型

数组

数组是一组具有相同数据类型的变量集合,这些变量称为数组的元素,数组的类型由数组中存储的元素的类型决定。定义数组时要制定数组类型、数组大小。

int arr[5]; //定义一个int类型的数组,大小为5
char str[10]; //定义一个char类型的数组,大小为10
float ff[10]; //定义一个float类型的数组,大小为10

枚举类型

枚举类型用于定义值可以被一一列举的变量。声明方式如下:

enum 枚举名 {标识符1 = 整型常量1,标识符2 = 整型常量2,…}

enum是声明枚举类型的关键字,枚举名表示枚举变量的名称。
注意:枚举值是常量,在程序中不能给其赋值。

共用体

共用体又叫联合体,它可以把不同数据类型的变量整合在一起。使用union关键字进行声明,定义格式如下:

 union 共用体类型名称
 { 
	数据类型 成员名1;
	数据类型 成员名2;
	 ...
	数据类型 成员名n;
}
//定义共用体数据类型为data
union data
{
	int i;
	char ch;
}

共用体中的所有成员共用一块内存,在引用共用体变量时,只有一个成员变量是有效的。

结构体

结构体与共用体类似,可以将不同数据类型的变量整合在一起,区别在于,结构体中的所有成员都占有内存,在引用接哦古提变量时,所有成员都有效。结构体使用关键字struct定义。

类型转换

隐式类型转换

隐式类型转换是指系统自动进行的类型转换。

  1. 不同类型的数据进行运算,系统会自动将低字节数据类型转换为高字节数据类型,即从下往上转换。
  2. 在赋值类型不同时,即变量的数据类型与所赋值的数据类型不同,系统会将“=”右边的值转换为变量的数据类型再将值赋值给变量。

显式类型转换

显式类型转换是使用强制类型转换运算符,将一个变量或表达式转化成所需的类型。
基本格式为:(类型名)(表达式)

  1. 浮点数与整型的转换:将浮点数转换成整数时,将舍弃浮点数的小数部分,只保留整数部分。将整型值赋给浮点型变量,数值不变,只将形式改为浮点形式,即小数点后带若干个0。
  2. 单、双精度浮点型的转换:float类型数据参与运算时需要在尾部加0扩充为double数据类型。double型数据转换为float型时,会造成数据精度丢失,有效位以外的数据将会进行四舍五入。
  3. char类型与int类型的转换:将int型数值赋值给char型变量,只保留其最低8位,高位部分舍弃;将char型数值赋值给int型变量时,如果原来char型数据取正值,则转换后仍为正值;如果原来char型数据可正可负,则转换后也仍然保持原值。
  4. int类型与long类型的转换:long型数据赋给int型变量时,将低16位值赋给int型变量,而将高16位截断舍弃(这里假定int型占2个字节)。将int型数据赋给long型变量时,其外部值保持不变,而内部形式有所改变。
  5. 无符号整数之间的转换:将一个unsigned型数据赋给一个长度相同的整型变量时,内部的存储方式不变,但外部值可能改变。将一个非unsigned整型数据赋给一个长度相同的unsigned型变量时,内部存储形式不变,但外部表示时总是无符号的。

总结

以上就是今天的学习内容啦~
如果有兴趣的话可以订阅专栏,持续更新呢~
咱们下期再见~
在这里插入图片描述

  • 15
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 24
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

颜颜yan_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值