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

简介: 不包含小数部分的数据都成为整型数据。在C语言中,根据数值的取值范围,可以将整型分为短整型(short int)、基本整型(int)、长整型(long int)。整型数据可以被修饰符signed和unsigned修饰,其中,被signed修饰的整型称为有符号的整型,被unsigned修饰的整型称为无符号的整型。

⏰打卡:DAY1

🏆今日学习目标:数据类型(基本类型、构造类型、类型转换)

✨个人主页:颜颜yan_的个人主页

🎉专栏系列:从0开始学C语言


前言


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


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


5f9072861f924231b3d6523b9214cfd4.png


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


747ed04720334d3295cbe32d7783d4d7.png


基本类型


整型


不包含小数部分的数据都成为整型数据。在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型变量时,内部存储形式不变,但外部表示时总是无符号的。


总结


以上就是今天的学习内容啦~

如果有兴趣的话可以订阅专栏,持续更新呢~

咱们下期再见~


21171af076ec4133bbbdcc52ae97b4e1.gif

目录
相关文章
|
2月前
|
存储 程序员 C语言
深入探讨C语言中的字符型数据类型及其应用
深入探讨C语言中的字符型数据类型及其应用
15 0
|
2月前
|
存储 程序员 C语言
【c语言】基础数据类型
这篇内容介绍了编程中的数据类型,主要包括常量和变量。常量分为整型、实型(浮点型)、字符型和字符串型。
27 0
|
2月前
|
存储 程序员 C语言
C语言数据类型
C语言数据类型
13 1
|
2月前
|
存储 Linux C语言
Linux系统下C语言的构造数据类型
Linux系统下C语言的构造数据类型
12 0
|
2月前
|
存储 小程序 编译器
C语言中数据类型的存储
C语言中数据类型的存储
|
2月前
|
存储 编译器 C语言
C语言第三弹---数据类型和变量
C语言第三弹---数据类型和变量
|
12天前
|
存储 C语言
【C 言专栏】C 语言中的数据类型详解
【4月更文挑战第30天】本文介绍了C语言中的核心数据类型,包括整型(short, int, long, long long)、浮点型(float, double)、字符型(char)、指针、数组、结构体、共用体和枚举。理解这些类型的特点和适用场景对于编写高效准确的C语言代码至关重要。选择合适的数据类型并注意转换和运算规则,能避免错误,为编程打下坚实基础。
|
18天前
|
C语言
C语言数据类型和变量(C语言零基础教程)
C语言数据类型和变量(C语言零基础教程)
|
2月前
|
存储 编译器 C语言
C语言3🔥:常用的数据类型
C语言3🔥:常用的数据类型
16 0
|
2月前
|
Java C语言 C++
C语言由入门到精通(1)介绍与数据类型
C语言由入门到精通(1)介绍与数据类型