本章的标题是数据和C,主要内容是介绍数据类型中的整数类型和浮点数类型。

本章的第一段代码

  1. #include <stdio.h>
  2. int main(void)
  3. {
  4. float weight; /*用户的体重*/
  5. float value; /*相等重量的铑的价值*/
  6. printf ("Are you worth your weight in rhodium?\n");
  7. printf ("Let's check it out.\n");
  8. printf ("Please enter your weight in pounds: ");
  9.  
  10. /*从用户处获得输入*/
  11. scanf("%f", &weight);
  12. /*假设铑每盎司770美元,14.5833把常衡制的英镑转化为金衡制的盎司*/
  13. value = 770 * weight * 14.5833;
  14. printf ("Your weight in rhodium is worth $%.2f.\n", value);
  15. printf ("You are easily worth that! If rhodium prices drop.\n");
  16. printf ("eat more to maintain your value.\n");
  17. return 0;
  18. }

重点看看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. Phonegap 安卓的自动升级与更新。当版本为4.0的时候

    清单文件中: <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="14"/> ...

  2. 【转】自动布局之autoresizingMask使用详解(Storyboard&Code)

    原文:http://www.cocoachina.com/ios/20141216/10652.html 自动布局Autolayoutstoryboard 前言:现在已经不像以前那样只有一个尺寸,现在 ...

  3. iOS微信支付

    SDK接入 服务器签名版本 官方已经是建议使用服务器签名来接入微信支付,实际上从安全上考虑,确实是每个客户端不应该知道RAS密钥,也不需要每个客户端都写一遍签名的算法. 服务端接入流程文档:https ...

  4. centos 6.X 安装node

    1.源码安装 Source Code yum -y install gcc make gcc-c++ openssl-devel wget //yum下载相关的依赖包 wget http://node ...

  5. SqlParameter的用法和好处

    关于Sql注入的基本概念,相信不需要多说,大家都清楚,经典的注入语句是' or 1=1--单引号而截断字符串,"or 1=1"的永真式的出现使得表的一些信息被暴露出来,如果sql语 ...

  6. 基于daridus认证的openvpn部署

    基于daridus认证的openvpn部署 安装openvpn 1.安装openvpn依赖包 #yum -y install gcc gcc-c++ #yum -y install openssl o ...

  7. 原生JS 选项卡代码实现

    可实现同页面多个选项卡 效果图: 代码实现: HTML部分 <div class="main" id="tabs"> <div class=& ...

  8. 解决WebService本地访问正常,远程无法访问的问题

    发布webservice后部署到自己的服务器上,然后本机,外网远程访问都没事,在用户服务器上部署后只能本机访问,远端访问不了,通过网络搜索到下面方法,但改后仍然不行.原来在自己服务器部署时是在默认网站 ...

  9. php回调函数callback函数实例

    <?php // 将文本中的年份增加一年. $text = "April fools day is 04/01/2002\n"; $text.= "Last chr ...

  10. sublime text3 下搭建python IDE环境 --Anaconda插件篇

    近来在园区发现大家使用ST3(Sublime text 3)工具进行python学习.然后自己也跟风了一把. 1.ST3下载地址: http://www.sublimetext.com/3 2.安装S ...