首页 > 其他分享 >C 语言教程:数据类型和格式说明符

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

时间:2023-12-16 18:31:38浏览次数:46  
标签:教程 cost float 数据类型 myFloatNum 说明符 printf 小数

C 语言中的数据类型

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

// 创建变量
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);

设置小数精度

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

float myFloatNum = 3.5;
double myDoubleNum = 19.99;

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

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

float myFloatNum = 3.5;

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

真实例子

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

// 创建不同数据类型的变量
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,关注后即可获取最新文章推送

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

标签:教程,cost,float,数据类型,myFloatNum,说明符,printf,小数
From: https://blog.51cto.com/xiaowange/8853539

相关文章

  • 无涯教程-Java - int lastIndexOf(int ch)函数
    此方法返回此对象表示的字符序列中该字符最后一次出现的索引,如果没找到,则返回-1。intlastIndexOf-语法这是此方法的语法-intlastIndexOf(intch)这是参数的详细信息-ch   - 一个字符。intlastIndexOf-返回值此方法返回索引位置。intlastIndexOf-示例im......
  • 无涯教程-Java - String intern()函数
    对于任何两个字符串s和t,当且仅当s.equals(t)为s时,s.intern()==t.intern()才为true。Stringintern()-语法这是此方法的语法-publicStringintern()Stringintern()-返回值此方法返回字符串对象的规范表示形式。Stringintern()-示例importjava.io.*;publicc......
  • 无涯教程-Java - int indexOf(String str)函数
    此方法返回指定子字符串首次出现在该字符串中的索引。如果不存在,则返回-1。intindexOf(Stringstr)-语法intindexOf(Stringstr)这是参数的详细信息-str   - 一个字符串。intindexOf(Stringstr)-示例importjava.io.*;publicclassTest{publicsta......
  • 无涯教程-Java - int indexOf(int ch, int fromIndex)函数
    此方法返回指定字符首次出现在该字符串中的索引,如果没有出现该字符,则从指定索引fromIndex或-1开始搜索。intindexOf-语法publicinindexOf(charch,intfromIndex)这是参数的详细信息-ch        - 一个字符。fromIndex  - 从中开始搜索的索......
  • 华为ensp-无线小型wlan配置教程
    实验拓扑图:实验平台:ENSP510实验设备:CenteredCloud、AC6005、AP4030、STA、Cellphonevlan范围划分vlan101:10.23.101.1/24vlan100:10.23.100.1/24实验步骤:一、创建VLAN100、101配置端口类型[AC1]vlanbatch100101[AC1]intg0/0/1[AC1-GigabitEthernet0/0/1]po......
  • 有限元入门教程
    Introductiontofiniteelementmethod?有限元与卷积的区别和联系:如果把有限元网格当成图像,把xxx当成卷积核,对有限元进行积分等于对图像进行卷积操作吗?对图像进行卷积操作之后得到的是特征图像,对有限元进行积分得到的是?。参考:https://mp.weixin.qq.com/s?__biz=MzU2NDgzNjQxMw=......
  • 无涯教程-Java - byte getBytes()函数
    此方法使用平台的默认字符集将此String编码为字节序列,并将输出存储到新的字节数组中。bytegetBytes()-语法publicbyte[]getBytes()bytegetBytes()-返回值此方法返回输出字节数组。bytegetBytes()-示例importjava.io.*;publicclassTest{publicstaticv......
  • 无涯教程-Java - boolean equals(Object anObject)函数
    此方法将此字符串与指定对象进行比较。当且仅当参数不为null并且是一个String对象,表示与此对象相同的字符序列时,输出为true。booleanequals-语法publicbooleanequals(ObjectanObject)这是参数的详细信息-anObject  - 与此字符串进行比较的对象。booleanequals......
  • 无涯教程-Java - boolean equalsIgnoreCase(String anotherString)函数
    此方法将此String与另一个String进行比较,而忽略大小写考虑。booleanequalsIgnoreCase-语法publicbooleanequalsIgnoreCase(StringanotherString)这是参数的详细信息-anotherString  - 与该字符串进行比较的字符串。booleanequalsIgnoreCase-返回值如果参数......
  • 无涯教程-Java - static String copyValueOf(char data)函数
    此方法返回一个String,它表示指定数组中的字符序列。staticStringcopyValueOf-语法publicstaticStringcopyValueOf(char[]data)这是参数的详细信息-data  - 字符数组。staticStringcopyValueOf-返回值此方法返回一个包含字符数组字符的字符串。staticStrin......