本章的标题是数据和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...

C primer plus 读书笔记第三章的更多相关文章

  1. 《C++ Primer》读书笔记 第三章

    1.注意:头文件不应包含using声明.因为头文件的内容会拷贝到所有引用他的文件中去,对于某些程序来说,由于不经意间包含了一些名字,可能会产生名字冲突.2.string类型的读入:用cin读入stri ...

  2. 《Linux内核设计与分析》第六周读书笔记——第三章

    <Linux内核设计与实现>第六周读书笔记——第三章 20135301张忻估算学习时间:共2.5小时读书:2.0代码:0作业:0博客:0.5实际学习时间:共3.0小时读书:2.0代码:0作 ...

  3. 《Linux内核设计与实现》读书笔记 第三章 进程管理

    第三章进程管理 进程是Unix操作系统抽象概念中最基本的一种.我们拥有操作系统就是为了运行用户程序,因此,进程管理就是所有操作系统的心脏所在. 3.1进程 概念: 进程:处于执行期的程序.但不仅局限于 ...

  4. 《CSS3实战》读书笔记 第三章:选择器:样式实现的标记

    第三章:选择器:样式实现的标记 选择器的魔力在于,让你完全实现对网页样式的掌控.不同的选择器可以用在不同的情况下使用.总之把握的原则是:规范的编码,根据合理地使用选择器,比去背选择器的定义有价值的多. ...

  5. 《linux内核设计与实现》读书笔记第三章

    第3章 进程管理 3.1 进程 1.进程 进程就是处于执行期的程序. 进程包括: 可执行程序代码 打开的文件 挂起的信号 内核内部数据 处理器状态 一个或多个具有内存映射的内存地址空间 一个或多个执行 ...

  6. C primer plus 读书笔记第十一章

    本章标题是字符串和字符串函数.主要是了解和字符串有关的函数. 1.字符串表示和字符串I/O 主要内容:字符串常量和字符串数组的初始化,对比了指针和字符串. 其中要注意的是,数组初始化是从静态存储区把一 ...

  7. 《R语言实战》读书笔记--第三章 图形初阶(二)

    3.4添加文本.自定义坐标轴和图例 很多作图函数可以设置坐标轴和文本标注.比如标题.副标题.坐标轴标签.坐标轴范围等.需要注意的是并不是所有的绘图函数都有上述的参数,需要进行验证.可以将一些默认的参数 ...

  8. C++ primer plus读书笔记——第17章 输入、输出和文件

    第17章 输入.输出和文件 1. 对键盘进行输入缓冲可以让用户在将输入传输给程序之前返回并更正.C++程序通常在用户按下回车键时刷新输入缓冲区. 2. 一些I/O类 streambuf类为缓冲区提供了 ...

  9. C++ primer plus读书笔记——第16章 string类和标准模板库

    第16章 string类和标准模板库 1. string容易被忽略的构造函数: string(size_type n, char c)长度为n,每个字母都为c string(const string ...

随机推荐

  1. DNX概述

    1. 什么是.NET执行环境 ? .NET Execution Environment(DNX) 是一个SDK 和运行时环境,它包含所有的你需要创建和运行.net应用程序的组件.它提供一个主机进程,C ...

  2. Android打开系统的Document文档图片选择

    打开Document UI 过滤图片 private void startAcitivty() { Intent intent = new Intent(); intent.setAction(&qu ...

  3. Mac 安装maven3.3.9

    只记录一部分自己出错的内容 maven 3 与 jdk 版本的关系 之前安装的jdk是1.8 安装完maven(包括配置环境变量)之后,输入mvn -version 显示版本错误 ,百度之后发现是ma ...

  4. 利用TOAD实现把EXCEL数据导入oracle数据库

    利用TOAD实现把EXCEL数据导入oracle数据库 工具:   Toad11.7z(百度搜索,直接下载) 1.将Excel文件中某些字段导入到Oracle数据库的对应表 连接想要导入的数据库 ,然 ...

  5. 141 Linked List Cycle(判断链表是否有环Medium)

    题目意思:链表有环,返回true,否则返回false 思路:两个指针,一快一慢,能相遇则有环,为空了没环 ps:很多链表的题目:都可以采用这种思路 /** * Definition for singl ...

  6. sizeof(int *) 和 sizeof(int)型的大小问题

    小问题,暂时记录注意一下   printf("sizeof(int): %d\n", (int)sizeof(int));     printf("sizeof(int ...

  7. python:open/文件操作

    open/文件操作f=open('/tmp/hello','w') #open(路径+文件名,读写模式) #读写模式:r只读,r+读写,w新建(会覆盖原有文件),a追加,b二进制文件.常用模式 如:' ...

  8. TCP回射服务器程序:str_echo函数

    str_echo函数执行处理每个客户的服务: 从客户读入数据,并把它们回射给客户 读入缓冲区并回射其中内容: read函数从套接字读入数据,writen函数把其中内容回射给客户 如果客户关闭连接,那么 ...

  9. Scheme是什么、怎么自定义Scheme、JLRoutes的使用-备

    转到移动端开发后居然现在才用到Scheme真是惭愧惭愧. URL Scheme是什么 相信大家都知道URL. http://www.apple.com就是一个URL. 而://之前的部分就称为Sche ...

  10. ExtJS5_MVVM特性的简单说明

    下面我们来看一下自动生成的代码中的MVVM架构的关系.Main是一个可视的控件,MainController是这个控件的控制类,MainModel是这个控件的模型类. 在上面的图片中,左边是Main. ...