C Primer Plus(6) 中文版 第3章 数据和C 3.1 示例程序

程序离不开数据。
C语言的两大数据类型:整数类型和浮点数类型。
3.1 示例程序
/* platinum.c  -- your weight in platinum */
#include <stdio.h>
int main(void)
{
    float weight;    /* user weight             */
    float value;     /* platinum equivalent     */
    
    printf("Are you worth your weight in platinum?\n");
    printf("Let's check it out.\n");
    printf("Please enter your weight in pounds: ");
    
    /* get input from the user                     */
    scanf("%f", &weight);
    /* assume platinum is $1700 per ounce          */
    /* 14.5833 converts pounds avd. to ounces troy */
    value = 1700.0 * weight * 14.5833;
    printf("Your weight in platinum is worth $%.2f.\n", value);
    printf("You are easily worth that! If platinum prices drop,\n");
    printf("eat more to maintain your value.\n");
    
    return 0;

/* 输出:

*/

提示 错误与警告
即使输入正确无误,编译器可能给出一些警告。例如:
“从double类型转换为float类型可能会丢失数据”错误信息表明程序中有错,不能进行编译。警告则表明,尽管编写的代码有效,但可能不是程序员想要的。警告并不终止编译。
scanf( "%f", &weight );如果输入的不是数字,会导致程序出问题。
程序调整
需要调用两次getchar()函数的情况:
第1次调用getchar()是为了读取输入的换行符;
第2次调用getchar()是为了让程序暂停,等待输入。
3.1.1 程序中的新元素
float表示浮点数类型,可以处理更大范围的数据。
printf()中使用%f来处理浮点值。%.2f中的.2用于精度控制输出,指定输出的浮点数只显示小数点后面两位。
scanf()函数用于读取键盘的输入。%f说明scanf()要读取用户从键盘输入的浮点数,&weight告诉scanf()把输入的值赋值给weight的变量。scanf()函数使用&符号表明找到weight变量的地点。
交互式程序使用起来更有趣,也更加灵活。
printf()和scanf()两个函数结合起来,就可以建立人机双向通信。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_40186813

你的能量无可限量。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值