本章的标题是数据和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. (转)ThinkPHP3.0 使用分组后路径访问无效的解决方法!

    注意,清除Runtime,就是清除缓存,很重要,妹的,调试了一下午,总是加上Home目录分组就找不到页面,直接放到action下就行,原来是缓存搞得鬼,另外要在入口文件开启‘APP_DEBUG’ 在T ...

  2. 哥的第一个Jquery程序

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs& ...

  3. centos6 x86 安装 oracle 11g2r 日志

    一.安装centos 6.5 二.安装ora所需的库 三.修改centos内核 四.建用户组和目录结构等 五.安装ora11g2r 六.安装sqlplus的翻页程序和help补丁 七.自启动脚本 八. ...

  4. 统计机器翻译(SMT)步骤总结

    本文是在Niutrans论坛中的系列教程中总结出来的. 1.语料预处理 预处理的结果是生成双语分词之后的文件,该步需要注意的是对规则短语,比如数字.日期.网址等,进行泛化处理.可以用正则方法或者其它方 ...

  5. iOS8中添加的extensions总结(一)——今日扩展

    通知栏中的今日扩展 分享扩展 Action扩展 图片编辑扩展 文件管理扩展 第三方键盘扩展 注:此教程来源于http://www.raywenderlich.com的<iOS8 by Tutor ...

  6. 局部线性嵌入(LLE)原理总结

    局部线性嵌入(Locally Linear Embedding,以下简称LLE)也是非常重要的降维方法.和传统的PCA,LDA等关注样本方差的降维方法相比,LLE关注于降维时保持样本局部的线性特征,由 ...

  7. indexedDB bootstrap angularjs 前端 MVC Demo

    前端之MVC应用 1.indexedDB(Model): 数据层,前端浏览器 HTML5 API 面向对象数据库,一般现在用的数据库都是关系型数据库. 那么indexeddb有什么特点呢: 首先,从字 ...

  8. java 每天一练(二)

    public static void main(String[] args) {    for (int i = 2; i <1000; i++) {        int sum=0;     ...

  9. thinkphp中ajax用户名校验

    ajax实在是太神奇了,刚刚接触,不足之处,请大家指正. 采用Ajax方式进行页面无刷新提示,来检测用户名是否存在. 搭建一个thinkphp的环境,在index.html中,ajax代码如下: &l ...

  10. 初涉JavaScript模式 (8) : 函数 【概述】

    什么是函数 函数,是一个大型程序中的某部份代码,由一个或多个语句块组成.它负责完成某项特定任务,而且相较于其他代码,具备相对的独立性.(维基百科) 函数的特点 第一类对象 在JavaScript世界中 ...