zl程序教程

您现在的位置是:首页 >  后端

当前栏目

《C语言编程初学者指南》一2.5 使用转换修饰符

C语言转换编程 指南 初学者 2.5 修饰符 使用
2023-09-11 14:17:32 时间
本节书摘来自华章出版社《C语言编程初学者指南》一书中的第2章,第2.5节,作者【美】Keith Davenport(达文波特) , M1ichael Vine(维恩),更多章节内容可以访问云栖社区“异步社区”公众号查看 2.5 使用转换修饰符 由于信息是以二进制数据的形式存储在计算机内存中的,并且一系列的1和0读起来并不是特别有趣,作为C程序员,你必须特意告诉printf()这样的输入或输出函数,如何以一种对人类更加友好的形式把数据显示为信息。

本节书摘来自异步社区《C语言编程初学者指南》一书中的第2章,第2.5节,作者【美】Keith Davenport(达文波特) , M1ichael Vine(维恩),更多章节内容可以访问云栖社区“异步社区”公众号查看

2.5 使用转换修饰符

由于信息是以二进制数据的形式存储在计算机内存中的,并且一系列的1和0读起来并不是特别有趣,作为C程序员,你必须特意告诉printf()这样的输入或输出函数,如何以一种对人类更加友好的形式把数据显示为信息。可以使用叫做转换修饰符(conversion specifier)的字符组合来完成这一貌似困难的任务。

转换修饰符由两个字符组成:第1个字符是一个百分号(%),第2个字符是一个特殊字符,告诉程序如何转换数据。表2.3描述了针对本章所讨论的数据类型最常使用的转换修饰符。


d4419ba16883e9da151f204137bf319599966d9c
2.5.1 用printf()显示整数数据类型

%d转化修饰符和一条printf()语句一起使用,来显示整数数据类型:

printf("%d", 55);

上面的语句会打印出如下的文本:

55

也可以使用%d转换修饰符来显示声明为整数数据类型的一个变量的内容,如下所示:

int operand1;

operand1 = 29;

printf("The value of operand1 is %d", operand1);

在上面的语句中,我们声明了一个新的、名为operand1的整数变量。接下来,我们将数字29赋值给这个新创建的变量,并且使用printf()函数和转换修饰符%d来显示其内容。

要使用printf()函数显示的每一个变量,都必须放在圆括号中并且用逗号(,)隔开。

2.5.2 用printf()显示浮点数据类型

要显示浮点数值,像下面这样使用%f转换修饰符。

printf("%f", 55.55);

如下是%f转换修饰符的另一个例子,它打印出浮点变量的内容:

float result;

result = 3.123456;

printf("The value of result is %f", result);

尽管%f转换修饰符能够显示浮点数,但它还不能够按照正确的或想要的精度来显示浮点数。如下的printf()函数解决了精度的问题:

printf("%f", 55.55);

这个printf()示例以小数点后面6位的精度来输出一个浮点数,如下所示:

55.550000

要创建带有精度的浮点数,在转换修饰符的%符号和f字符之间使用不同的数字方案,来调整转换修饰符:

printf("%.1f", 3.123456); 

printf("\n%.2f", 3.123456); 

printf("\n%.3f", 3.123456); 

printf("\n%.4f", 3.123456); 

printf("\n%.5f", 3.123456); 

printf("\n%.6f", 3.123456);

以上代码会产生如下的输出:

3.1

3.123

3.1234

3.12345

3.123456

注意,我们在上面的每一条打印语句的前面(除了第1行代码之外)都添加了一个n转义序列。没有这个换行转义序列的话,每条语句的输出都将会在同一行,这会使得输出很难阅读。

2.5.3 用printf()显示字符数据类型

使用%c转换修饰符,可以很容易地显示字符:

printf("%c", M);

这条语句的输出只是一个单个的字母M。和其他的转换修饰符一样,我们可以使用%c转换修饰符和一个printf()函数来输出一个字符类型的变量的内容,如下所示:

char firstInitial;

firstInitial = S;

printf("The value of firstInitial is %c", firstInitial);

可以在单个的printf()函数中,使用多个转换修饰符:

char firstInitial, middleInitial, lastInitial;

firstInitial = M; 

middleInitial = A; 

lastInitial = V;

printf("My Initials are %c.%c.%c.", firstInitial, middleInitial, lastInitial);

上面的程序语句的输出如下所示:

My Initials are M.A.V.

注意,在下面的语句中,要用printf()函数显示的每一个变量,都放在双引号之外,并且用一个逗号隔开:

printf("My Initials are %c.%c.%c.", firstInitial, middleInitial, lastInitial);
printf()的双引号之中的文本,是给可显示的文本、转换修饰符和转义序列保留的。


异步社区 异步社区(www.epubit.com)是人民邮电出版社旗下IT专业图书旗舰社区,也是国内领先的IT专业图书社区,致力于优质学习内容的出版和分享,实现了纸书电子书的同步上架,于2015年8月上线运营。公众号【异步图书】,每日赠送异步新书。