C Primer Plus学习 五 研究和利用printf ()和scanf ()

       printf ()和scanf ()函数使您能够与程序通信。它们被称为输入/输出函数,或者被简称为I/O函数。它 们不是只有您可以使用的C I/O函数,而且是最通用的I/O函数。

       printf ()打印变置的指令取决于变量的类型。例如,在打印整数时使用%d符号,而在打印字符 时使用%c符号。


/* pizza.c — /I:这个比萨饼的例/'中使用定义'*/
#include <stdio.h>
#include <limits.h>          //整数限制
#include <float.h>           //浮点数限制

#define PI 3.141593
#define PAGES 931
#define BLURB "Authentic imitation!"
int main(void)
{
float area ,circum, radius;
const double RENT=3876.99; 以 const 方法定义的常量

printf("What is the radius of your pizza?\n");
scanf("%f",&radius);
area=PI*radius*radius;
circum=2.0*PI*radius;

printf("Your basic pizza parameters are as follows;\n");
printf("circumference = %1.2f, area = %1.2f\n",circum,area);

//
printf("///\n");
printf ("Some number limits for this system: \n");
printf("Biggest int: %d\n",INT_MAX );
printf ("Smallest unsigned long: %lld\n", LLONG_MIN);
printf ("One byte - %d bits on this system.\n", CHAR_BIT);
printf ("Largest double: %e\n", DBL_MAX);
printf ("Smallest normal float: %e\n", FLT_MIN);
printf ("float precision = %d digits\n", FLT_DIG);
printf ("float epsilon = %e\n", FLT_EPSILON);


//
printf("///\n");
/*width.c一=-字段宽度  使用修饰符打印 */
printf("*%d*\n",PAGES);
printf("*%2d*\n",PAGES);
printf("*%10d*\n",PAGES);
printf("*%-10d*\n",PAGES);


//
printf("///\n");
/*一些浮点数的组合  使用修饰符打印 */

printf("*%f*\n",RENT);
printf("*%e*\n",RENT);
printf("*%4.2f*\n",RENT);
printf("*%3.1f*\n",RENT);
printf("*%10.3f*\n",RENT);
printf("*%10.3e*\n",RENT);
printf("*%+4.2f*\n",RENT);
printf("*%010.2f*\n",RENT);
/*
本例以默认格式%f开始。在这种情形下,有两个默认项目:字段宽度
和小数点右边的数字的数目。第二个默认项目的值是6个数字,字段宽
度就是容纳数字所用的空间。
接下来是%e的默认格式。它在小数点的左侧打印一个数字,在小数点的
右侧打印6个数字。我们得到了一堆数字!解决方法是指定小数点右边
小数位的数目,本段中接下来的4个示例就是这样做的。请注意,第4个
和第6个示例对输出进行了四舍五入。
最后,+标志使得结果数字和它的代数符号一起打印,在这里该符号就
是加号符号:0标志产生前导零以使结果填充整个字段。请注意,在说
明符%010中第一个0是一个标志,剩余的数字(10)指定字段宽度。 
您可以修改RENT值来看看不同大小的值如何打印
*/
//
printf("///\n");
/*字符串的格式化  使用修饰符打印 */
printf("/%s/\n",BLURB);
printf("/%24s/\n",BLURB);
printf("/%24.7s/\n",BLURB);
printf("/%-24.5s/\n",BLURB);
/*请注意系统如何扩展字段以包含所有指定的字符。同时请注意:
精度说明符是如何限制所打印的字符 的数目的。格式说明符中的.5
告诉printf ()只打印5个字符。另外修饰符使文本左对齐输出。*/
return 0;
}

       把存储在计算机中的二进制格式的数值转换成一系列字符(-- 个字符串)以便于显示。例如,数字76的内部存储形式可能是二进制的01001100。%d转换说明符将之转 换成字符7和6,并显示成76。转换则把相同的值(01001100)转换成十六进制的表示法4c。%c把相 同的值转换成字符表示法L。

       术语“转换”(conversion)可能会带来误导,因为它可能意味着用转换后的值代替原值。转换说明实 际上就是翻译说明:%d意为“把给定的值翻译成十进制整数文本表示,并打印出来”。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值