本章的标题是数据和C,主要内容是介绍数据类型中的整数类型和浮点数类型。
本章的第一段代码
#include <stdio.h> int main(void) { float weight; /*用户的体重*/ float value; /*相等重量的铑的价值*/ printf ("Are you worth your weight in rhodium?\n"); printf ("Let's check it out.\n"); printf ("Please enter your weight in pounds: "); /*从用户处获得输入*/ scanf("%f", &weight); /*假设铑每盎司770美元,14.5833把常衡制的英镑转化为金衡制的盎司*/ value = 770 * weight * 14.5833; printf ("Your weight in rhodium is worth $%.2f.\n", value); printf ("You are easily worth that! If rhodium prices drop.\n"); printf ("eat more to maintain your value.\n"); return 0; }
重点看看scanf()函数,%f表示scanf()从键盘读取一个浮点数,&weight指定将输入值赋予名为weight的变量中。scanf()函数使用&符号指示weight变量的位置。
本章的重点是讲数据及数据类型。虽然C语言提供来很多数据类型,但是按照存储方式可以分为两个系列:整数类型和浮点数类型。
主要区别是浮点数表示法是将一个数分为小数部分和指数部分并分别存储。
下面分别讲讲C语言数据类型要注意的地方:
1.int类型
C语言提供多种整数类型。主要原因是C语言的各种整数类型提供的数值范围不一样,以及数值是否可以取正负号。
2.其他类型
在传递函数参数时候,C自动将short类型的值转化为int类型。因为int类型被认为是计算机处理起来最方便最有效的整数类型。
3.char类型
技术实现上,char类型是整数类型。
4._Bool类型
C99引入,用于表示布尔值。实际上也是一种整型,仅仅需要1位来存储。
5.可移植的类型:inttypes.h
已有类型的别名。C99提供。例如int16_t表示16位有符号整数类型。要使用这个特性时,需要包含inttypes.h头文件。
6.flaot, double, long double类型
float类型必须至少能表示6位有效数字。取值范围为10e-37到10e37。系统使用32位存储一个浮点数:8位存指数和符号,24位存非指数部分和符号。double和long double比float精度更大。默认情况下,编译器将浮点常量当作double类型。
7.复数和虚数类型
C99标准支持。
课后习题都是有关printf()和各种格式说明符打印的练习。难度不大。。
to be continued...