C语言 第二章 数据及存储及运算
第二章 数据的存储与运算 目标 熟悉C语言中常用的数据类型 理解变量和常量的含义,了解符号常量 掌握各种基本数据类型相关内容:变量的声明和初始化,存储特点,其他特点 使用算术运算符 理解类型转换 数据在计算机中的存储 计算机程序处理的是什么? 计算机处理的数据有哪些? (数值,字符,图片,音频,视频) 数据在计算机中怎么存储的? (以二进制形式存储) 关于几个数据存储的概念—位,字节和地址 位(bit),又称比特,存储信息的最小单位。值为0或1 字节(byte),又称拜特,存储器容量大,直接用bit来表示和管理不方便,1byte=8bit,byte是最常用的存储单位,常用来表示一个存储单元。后来又出现了kb,mb,gb,tb等(以1024/1000倍增)。 地址,存储器包含许多存储单元,使用的时候通过地址进行查找,这里的地址是指存储单元在存储器里的编号 基本数据类型 数据的表现方式常量和变量 常量是指在程序运行过程中,其值不能被改变的量 例如16,18.789都属于常量,不会改变 变量是指在程序运行过程中其值可以改变的量 变量 变量引入的意义 为什么要引入变量? 程序中很多数据是在程序运行过程中通过运算获得的 通用功能函数的需要。如求两个数中最大者max 很多数据在程序运行过程中不断变化 变量相当于一个宾馆,为程序中使用的数据提供临时的存储单元(房间),需要用的时候就进行赋值(check in),不用的时候就释放空间(check out) 声明和使用变量 变量代表内存中具有特定属性的一个存储单元,它用来存放数据,也就是变量的值,在程序运行期间,这些值是可以改变的。变量必须先定义后使用。 声明变量: Datatype variablename; 定义时初始化变量: Datatype variablename = value; 定义后初始化变量: variablename = value; 变量命名 变量的命名规则: 变量名可以由字母、数字和 _(下划线)组合而成 变量名不能包含除 _ 以外的任何特殊字符,如:%、# 、逗号、空格等 变量名必须以字母或 _(下划线)开头 变量名不能包含空白字符(换行符、空格和制表符称为空白字符) C 语言中的某些词(例如 int 和 float 等)称为保留字,具有特殊意义,不能用作变量名 C 语言区分大小写,因此变量 price 与变量 PRICE 是两个不同的变量 变量名的长度不是无限的。不同的编译系统有自己的规定 变量名尽可能简单易记,见名之意;即选有含意的英文单词 (或其缩写)作变量名。 整型数据 -- 分类 整型数据 -- 存储 Int型:根据编译器不同占用的存储单元数量有所不同,VC用4个字节表示一个int型整数 例如整数10,存储在计算机中就负数怎么存储?最高位是符号位,1表示负,0为正;采用补码方式存储。原码取反加1 4个字节中未使用的高位怎么办?用0补齐 Short int:一般占2个字节 Long int: 一般占4个字节,在vc环境下long int 和int 通用,有些早期的编译器里int占2个字节,long int 占4个字节。 整型数据 -- 使用 整型变量声明: int page_number; long int population; unsigned int age; 可按如下方式初始化: page_number=0; int max_marks = 100; 整型数据 -- 实例 整型数据运算程序的举例和分析 例2.1 鸡兔同笼,鸡和兔的头总数是16,脚总数是40,计算鸡和兔各有多少只? 整型数据 -- 实例 用计算机解题,必须由人们事先分析题目要求,找出解决问题的思路和具体步骤,然后指定计算机一步步去做。计算机完全是根据人们事先规定的指令进行工作的。程序是告诉计算机要做什么,先做什么,后做什么。 计算机不是万能的,不存在把方程式输入给计算机,计算机就会自动解出方程,得出结果的事情。 实型数据 -- 分类 实型数据 -- 存储 实数:采用指数形式存储,通常占4个字节,计算机将实数分为前后两部分存储,前面是数值(前3个字节),后面是指数(后1个字节)。 例如123.456表示为0.123456×103,则在计算机中存储为 Float型在vc下占4个字节 Double型在vc下占8个字节 Long double在vc下占8个字节 各种数据类型所占长度与编译器有关,可以使用sizeof(long double)查看 实型数据 -- 使用单精度浮点型 声明: float selling_price; 初始化: float selling_price = 11.3; selling_price