c primer plus 第三章 数据和C (知识点总结)

1. 大纲

在这里插入图片描述

2. getchar()

  • getchar()函数读取下一个输入字符,因此程序会等待用户输入。
  • 用于在程序输出屏幕一闪而过的情况下。
  • 使用几个getchar()根据实际程序来进行调整。

3. 程序中新元素

3.1 两种变量声明

  • 整型(int)
  • 浮点数类型 (float)
printf("%.2f",num);

.2用于精度控制输出,指定输出的浮点数只显示小数点后两位。

3.2 scanf()函数和printf()函数

scanf("%f",&a);

scanf()函数读取用户从键盘输入的浮点数,&a告诉scanf()函数把输入的值赋给名为a的变量。
scanf()函数使用&符号表明找到a变量的地址。

printf("%d",a);

printf()函数读取程序中的数据,并把数据显示在屏幕上。

4. 变量与常量数据

有些数据类型在程序使用之前已经预先设定好了,在整个程序的运行过程中没有变化,这些称为常量(constant)。其他数据类型在程序运行期间可能会改变或被赋值,这些称为变量(variable)。

5. 数据:数据类型关键字

在c语言中,用int关键字来表示基本的整数类型,longshortunsigned和c90新增的signed用于提供基本整数类型的变式,比如insigned short intlong long int

char关键字用于指定字母和其他字符(如#、¥、%、*)。另外cha也可以表示较小的整数。

floatdoublelong double表示带小数点的数。

_Bool类型表示布尔值(true或false)
ComplexImaginary分别表示复数和虚数。

通过这些关键字创建的类型,按计算机的存储方式可分为两大基本类型:整数类型浮点数类型

5.1 位、字节和字

位、字节和字是描述计算机数据单元或存储单元的术语。这里主要指存储单元。

  1. 最小的存储单元是位(bit),可以存储0或1。位是计算机内存的基本构建块。
  2. 字节(byte)是常用的计算机存储单位,对于几乎所有的机器,1字节均为8位。
  3. 字(word)是设计计算机时给定的自然存储单位。对于8位的微型计算机,1个字长只有8位,计算机字长越大,其数据转移越快,允许的内存访问也更多。

5.2 整数和浮点数

对于我们而言,整数和浮点数的区别是它们的书写方式不同。对计算机而言,他们的区别是存储方式不用。

  1. 整数
    整数是没有小数部分的数。计算机以二进制数字存储整数。
    在这里插入图片描述
    整数7的二进制数是111,在8位字节中存储该数字,要把前五位都设置成0,后三位设置成1。

  2. 浮点数
    一个值后面加上小数点就成为一个浮点数。

计算机把浮点数分成小数部分和指数部分来表示,而且分开存储这两部分,7.00和7在数值上相同,但是存储方式不同。

  1. 整数和浮点数的差别
  • 整数没有小数部分,浮点数有小数部分。
  • 浮点数可以表示的范围比整数大。
    在这里插入图片描述
  • 对于一些算数运算(两个很大的数相加减),浮点数损失的精度更多。
  • 在任何区间内(如1.0-2.0之间),都存在无穷多个实数,所以计算机的浮点数不能表示区间内所有的值。浮点数通常只是实际值的近似值。
  • 过去,浮点数运算比整数运算慢。不过,现在有许多cpu包含浮点数处理器,缩小了舒服上的差距。

6. C语言的基本数据类型

6.1 int 类型

C语言中的整数类型可表示不同的取值范围和正负值。一般情况使用int类型即可,但是为满足特定任务和机器的要求,还可以选择其他类型。

int类型是有符号整型,即int类型的值必须是整数,可以是正整数、负整数或零。其取值范围依计算机系统而异。一般而言,存储一个int要占用一个机器字长。因此,早期的16位IBM PC兼容机使用16位来存储一个int值,其取值范围(即int值的取值范围)是-32768~32767。

ISO C规定in

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值