【C 基础】数据类型
2020/1/24 17:52:58
本文主要是介绍【C 基础】数据类型,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
数据类型指的是用于声明不同类型的变量或函数的一个广泛的系统。变量的类型决定了变量存储占用的空间,以及如何解释存储的位模式。
四大数据类型
在 C 语言中数据类型可分为四大数据类型,分别如下所示:
- 算术类型:包含整数类型、浮点类型
- 枚举类型:被用来定义在程序中只能赋予其一定的离散整数值的变量。
- void 类型:类型说明符 void 表明没有可用的值。
- 派生类型:包括指针类型、数组类型、结构类型、共用体类型和函数类型。
算数类型
整数类型
整数类型是指不包含小数点的数据,生活场景中的电影票数量、人的年龄等。
下表列出了关于标准整数类型的存储大小和值范围的细节:
类型 | 存储大小 | 值范围 |
---|---|---|
char | 1 byte | -128 到 127 或 0 到 255 |
unsigned char | 1 byte | 0 到 255 |
signed char | 1 byte | -128 到 127 |
int | 2 或 4 bytes | -32,768 到 32,767 或 -2,147,483,648 到 2,147,483,647 |
unsigned int | 2 或 4 bytes | 0 到 65,535 或 0 到 4,294,967,295 |
short | 2 bytes | -32,768 到 32,767 |
unsigned short | 2 bytes | 0 到 65,535 |
long | 4 bytes | -2,147,483,648 到 2,147,483,647 |
unsigned long | 4 bytes | 0 到 4,294,967,295 |
浮点类型
浮点类型是带小数的数据类型,生活场景中商品金额、物体重量等都为浮点类型。
类型 | 存储大小 | 值范围 | 精度 |
---|---|---|---|
float | 4 byte | 1.2E-38 到 3.4E+38 | 6 位小数 |
double | 8 byte | 2.3E-308 到 1.7E+308 | 15 位小数 |
long double | 10 byte | 3.4E-4932 到 1.1E+4932 | 19 位小数 |
实例
“村里有个姑娘叫小芳,年方十八,身高1米68,长得美丽又大方。”
#include <stdio.h> int main(){ char name = "xiaofang"; int age = 18; float height = 1.68; printf("村里有个姑娘叫%c,年方%d,身高%f,长得美丽又大方。", name, age, height); return 0; }
基本类型之间的数据转换
常量
常量:指程序运行期间不会改变的变量,分为直接常量和符号常量
直接常量
#include <stdio.h> int main() { printf("PI %d", 3.1415926); // 无需声明的量 return 0; }
符号常量
#include <stdio.h> #define PI 3.1415926 int main() { printf("PI %d", PI); // 使用之前先使用符号 #define 定义 return 0; }
类型转换
自动转换
自动类型转换在编译阶段完成
#include <stdio.h> int main() { char c = 'C'; int n = c; float f = c; double d = c; printf("%d %f %lf", n, f, d); // 67 67.000000 67.000000 return 0; }
强制转换
需要手动定义进行强制转换,形式为:(数据类型) (表达式)
#include <stdio.h> #define PI 3.1415926 int main() { int intPI = (int)(PI); printf("intPI 的整数部分是%d\n", intPI); // intPI 的整数部分是3 return 0; }
这篇关于【C 基础】数据类型的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-07-02微服务启动nacos注册上去了,但是一直没有收到请求-icode9专业技术文章分享
- 2024-07-02如何检查文件的编码格式-icode9专业技术文章分享
- 2024-07-02sublime 更改编码格式-icode9专业技术文章分享
- 2024-06-30uniAPP 实现全屏左右滚动滚动的效果-icode9专业技术文章分享
- 2024-06-30如何在本地使用授权或插件-icode9专业技术文章分享
- 2024-06-30伪静态规则配置方法汇总-icode9专业技术文章分享
- 2024-06-29易优CMS安装常见问题汇总-icode9专业技术文章分享
- 2024-06-28易优新手必读安装教程-icode9专业技术文章分享
- 2024-06-28忘记eyoucms后台密码怎么办?-icode9专业技术文章分享
- 2024-06-26终极指南:Scrum中如何设置需求优先级