C 语言教程:数据类型和格式说明符

C 语言中的数据类型

C 中的变量必须是指定的数据类型 ,并且您必须在 printf() 函数中使用格式说明符来显示它:

c 复制代码
// 创建变量
int myNum = 5;  // 整数(没有小数点)
float myFloatNum = 5.99;  // 浮点数
char myLetter = 'D';  // 字符

// 打印变量
printf("%d\n", myNum);
printf("%f\n", myFloatNum);
printf("%c\n", myLetter);

基本数据类型

数据类型指定了变量将存储的信息的大小和类型。

在本教程中,我们将重点关注最基本的类型:

数据类型 大小 描述
int 2 或 4 个字节 存储整数,没有小数点
float 4 个字节 存储包含一个小数或多个小数的数,足以存储 6-7 个小数位
double 8 个字节 存储包含一个小数或多个小数的数,足以存储 15 个小数位
char 1 个字节 存储单个字符/字母/数字,或 ASCII 值

基本格式说明符

每个数据类型都有不同的格式说明符。以下是一些:

格式说明符 数据类型 示例
%d 或 %i int printf("%d", myNum);
%f float printf("%f", myFloatNum);
%lf double printf("%lf", myDoubleNum);
%c char printf("%c", myLetter);
%s 用于字符串 printf("%s", myString);

设置小数精度

您可能已经注意到,如果您打印一个浮点数,输出将在小数点后显示许多位数:

c 复制代码
float myFloatNum = 3.5;
double myDoubleNum = 19.99;

printf("%f\n", myFloatNum);  // 输出 3.500000
printf("%lf", myDoubleNum);  // 输出 19.990000

如果您想要删除多余的零(设置小数精度),可以在点 (.) 后面跟着一个数字,指定小数点后应该显示的位数:

c 复制代码
float myFloatNum = 3.5;

printf("%f\n", myFloatNum);  // 默认会显示小数点后 6 位
printf("%.1f\n", myFloatNum);  // 只显示 1 位
printf("%.2f\n", myFloatNum);  // 只显示 2 位
printf("%.4f", myFloatNum);  // 只显示 4 位

真实例子

以下是一个使用不同数据类型计算和输出一定数量的物品的总成本的实际例子:

c 复制代码
// 创建不同数据类型的变量
int items = 50;
float cost_per_item = 9.99;
float total_cost = items * cost_per_item;
char currency = '$';

// 打印变量
printf("Number of items: %d\n", items);
printf("Cost per item: %.2f %c\n", cost_per_item, currency);
printf("Total cost = %.2f %c\n", total_cost, currency);

最后

为了方便其他设备和平台的小伙伴观看往期文章:

微信公众号搜索:Let us Coding,关注后即可获取最新文章推送

看完如果觉得有帮助,欢迎 点赞、收藏、关注

相关推荐
程序员海军7 小时前
用了两年多 GPT,我最近开始换模型了,还折腾了个求职避坑 Agent
前端·人工智能·后端
码士集团小青7 小时前
SpringBoot 集成缓存性能之王 Caffeine
spring boot·后端·缓存
怕浪猫7 小时前
红利窗口开着,程序员别在场边囤课
面试·github·ai编程
excel9 小时前
IndexNow:让搜索引擎更快发现网站更新的主动通知协议
前端·后端·架构
Json____9 小时前
用 FastAPI + Vue3 打造一套完整的在线考试系统:从组卷到阅卷的业务闭环实践
后端·node.js·fastapi·it学习·wwwoop.com
小灰灰搞电子10 小时前
Rust+Slint 实现FTP客户端调试助手源码分享
开发语言·后端·rust
lll235269177911 小时前
HR如何快速整理面试沟通内容?
面试·职场和发展
·present·11 小时前
CSAPP(lecture 4_01)
c语言·c++
专业程序开发源11 小时前
springboot欧缇蔓月子中心管理系统82697-计算机课程设计、毕业设计
java·spring boot·后端·python·spring·django·课程设计
FPGA小迷弟11 小时前
用 Claude Code 重构遗留系统:从评估到落地的完整实践指南
c++·python·ai·plotly·django·ai编程·claude