内容正文:
第2章 数据类型、运算符与表达式
常量与变量
2.1
基本数据类型
2.2
运算符与表达式
2.3
计算机处理的对象是数据,而数据是以某种特定的形式存在的,例如,姓名可以用一个字符数据表示,年龄可以用一个整数表示,各种商品的价格可以用实数表示等。为了能准确、方便地用数据描述生活中的各种信息,C语言将数据划分为不同的类型。当然,我们的最终目的是对各种数据进行处理,C语言特定的运算符和表达式能完成各种数据的处理。本章学习C语言的基础知识:数据类型、运算符与表达式。
【学习目标】
· 了解常量与变量的含义
· 掌握数据类型及类型间的混合运算
· 掌握运算符与表达式及其优先级和结合性
2.1 常量与变量
常量和变量是C语言中的两种重要的数据组织形式。在日常生活中,常常使用各种容器来盛放物品,例如,使用酒瓶和酒杯来盛放酒。但是,使用酒瓶和酒杯来盛放酒是有所区别的一般来说,一个酒瓶在未开启前里面盛放的是一种固定不变的酒,而一个酒杯随时盛放不同种类的酒。由此可以引出C语言里面常量和变量的概念。
在C语言中,各类数据是计算机处理的主要对象,这些数据在计算机处理过程中,也需要使用一个类似“容器”的东西加以表达和储存,这通常是由常量和变量来完成的。
· 常量:用来表达在程序运行过程中其值保持恒定的数据。
· 变量:用来表达在程序运行过程中其值可以根据需要经常更新的数据。
想一想:常量中的数据是如何存入的?当变量中的数据更新后,它原来的值到哪儿去了?
2.1.1常量
在程序的运行过程中,其值不发生改变的量称为常量。C语言中的常量包括普通常量和由#define所定义的符号常量。
普通常量:普通常量又可分为整型常量、字符常量、字符串常量和实型常量。普通常量从其字面形式即可判断。
符号常量:也可以用一个标识符代表一个常量,这种用标识符代表的常量称为符号常量,此时,符号就像是常量的别名。
(1)定义格式
符号常量由宏定义命令#define语句进行定义,它的一般形式为
#define 标识符 字符串
(2)符号常量用途
在程序中使用符号常量,具有以下优点。
· 含义清楚。在定义符号常量时,可以按“见名知义”的原则为符号常量命名。如用PRICE代表价格,用PI代表圆周率等。
· 修改方便,在需要改变一个常量的值时,只要在符号常量的定义位置修改即可,其值在整个程序中都将发生改变。例如当某种商品的价格改变时,只需改变宏定义处的字符串,就能使整个程序中用到此价格的地方全部改变。
2.2.1变量
在程序运行过程中,其值可以改变的量称为变量。变量可分为整型变量、字符变量、实型变量等
(1)变量的基本要素
每一个变量都具有以下4个基本要素。
· 变量名:用于区分不同变量的标识符号。
· 变量值:变量内存放的数据,变量使用其值参与各种运算,变量值可以在程序运行过程中不断被修改。
· 变量对应的内存空间:变量将其最新值存放在系统为其分配的内存空间中。当系统需要读取一个变量的值时,访问该变量的存储空间并取出变量值;当系统需要改写一个变量的值时,访问该变量的存储空间并将新值写入该存储空间。
· 变量的数据类型:变量在定义时,根据数据类型的不同占据不同长度的存储空间。
(2)变量名
为了区分不同的变量,每个变量都有一个名称。在对变量命名时,应遵循C语言的规定。C语言规定变量名只能由字母、数字和下划线3种字符组成,且第1个字符必须为字符或下划线。例如:
hi,_day,sum,month,s23,567,average,football,Student,zhang-yang,QB和PRICE都是合法的变量名;Sun.day,$500,@yahoo和a<=b均为不合法的变量名。
(3)变量的定义
· 变量定义的实质
定义一种数据类型变量的实质,就是在内存中为该变量分配一定大小的存储空间。此时变量名作为访问该存储空间的标识符。在程序中对该变量进行读写操作时,都要访问该变量对应的存储空间进行数据读写。
· 变量定义的方法
变量定义的一般形式为
<类型名> <变量名>
例如:
int a,b,c; /*定义变量a,b,c为整型*/
float f; /*定义变量f为实型*/
char c; /*定义变量c为字符型*/
(4)变量的值
任何变量必须具有确定的数值才能参加运算和操作,否则将会引发潜在的错误。变量定义后其赋值的过程称为变量的初始化,变量初始化的方法有以下几种。
· 可以在定义变量的同时为其赋初值:
int age=10;
· 也可以在定义变量后再为其赋初值:
int age;
· age=10;此处的“=”为赋值运算符。
还可以同时定义多个变量并为其赋初值:
int a=6,b=3,c=7;
一个变量在某一