符对应的ASCII代码值
字符串常量:是用两个双引号前后括住的零个或多个字符来表
示的。如:“abc”、“12345”、“abCDEF”
字符串长度:一个字符串常量中所包含的字符个数称为该字符串
的长度,其中每个转义字符只当一字符。如:“abc”、“abCDEF”、“\\\\ABCD\\\\”、“\\101\\”的长度分别为3、6、6、4见例chxu\\Name14,oo3
符号常量:符号常量是常量的另一种写法,在程序中为了明确看
出某些常量所表达的对象,可以用特定的标识符来表示这些常量。通常是在程序的开头先定义所有的符号常量,程序中凡有使用这些常量的地方都可以写成对应的标识符 如:#define PI 3.14159和#define R 10 则分别定义了符号常量PI和R 的值分别为3.14159 和10程序中使用符号常量有两点好处:一是修改程序方便,二是为了阅读方便
二、变量:是指在程序运行过程中其值可以发生改变的量。通常
是用来保存程序运行过程中的输入数据计算获得的中间结果各最终结果。
变量可以为任何一种数据类型。如:基本数据类型、数组型、结
构型、共用型等构造类型和指针型、枚举型。通常将具有某种类型的变量就叫做该类型的
21
变量。如:长整型变量、指针变量、字符型变量等,但是,字符串只能是常量,C语言中没有字符串变量。一个变量由一个名字来标识,此名字称为该变量的标识符,其取名规则同标识符,其中的英文字母常用小写,一般取名建议见名取意,以便让程序更加明了 变量在内存中占据一定的存储单元,该存储单元中存放变量的值。注意:变量名和变量值是两个不同的概念,变量名与内存中的某一存储单元相联系,而变量值是指存放在该存储单元中的数据的值,因此,同一个变量名对应的变量在不同的时刻可以有不同的值。当程序运行时,每个变量都要占用连续的若干个字节,所占用的字节数由变量的数据类型确定。其中第1个字节的地址称为变量的地址。C语言规定,程序中变量的地址用“&变量名”来表示的。数据在计算机中占用内存字节数如下:见例chxu\\size 各种变量数据所占字节数及数的范围 数据类型 Int Short Long
所占位数 2或(4) 2 4 数的范围 -32768~32767 -32768~32767 -2147483648~2147483647 22
Unsigned unsigned short unsigned long Float Double Char 2或(4) 2 4 4 8 1 0~65535 0~65535 0~4294967295 7 15 -128 ~ +127 变量的定义:每个变量在使用之前都必须定义,定义 的内容之一就是说明其数据类型;定义格式如下: <类型标识符> <变量名> {,<变量名>}; 其中用{ }括起来的内容可以重复零次或多次。变量说明实例如下: int i; short c,d,e; unsigned long p,g; float x,y; double z; char ch1,ch2; 上述变量被定义后,根据其类型的不同 ,拥有不同大小的存储单元,对变量进行时注意如下: 变量的定义可以放在函数之外,也可以放在函数体内或复合语句中,若放在函数体或复合语句中,则必须集中放在最前面. 见例chxu\\Name5,zhb
23
§3.3 运算符与表达式
一、运算符
用来表示各种运算的符号称为运算符:
按功能分为:算术运算符、赋值运算符、关系运符、逻运算符、
位运算符、递增/递减运算符、取地址运算符、逗号运算符、条件运算符、长度运算符、和专用运算符等;运算符必须有运算对象。
按运算对象数目来分:有单目运算符如正号(+)、负号(-)(前
缀单目运算符增(++1)减(--1)、后缀单目运算符增(1++)减(1--))、双目运算符加(+)减(-)乘(*)除(/)、模(%)和三目运算符(只有一个条件运算符(?:))
每个运算符都代表对运算对象的某种运算,都有自己的规则。每
个运算符运算的对象都规定了数据类型。因此把运算符也划分若干种类型
同级别的运算符还规定了结合性,若是自左向右遇谁谁先算的则
结合性称为自左向右的,若是自右向左遇谁谁先算的则结合性称为自右向左的。
运算符有优先级,当有多个运算符时,谁先必须遵守一定的规则。
24
这种执行的先后顺序,称为运算符的优先级,优先级高的先做,优先级低的后做。圆括号能够修改运算的执顺序,其内的运算优先级 各种类型运算符的优先级和结合性 运算符类型 基本 运算符 ()、[]、->。 15 优先级 结合性 自左向右 !、~、++、--、14 单目 +、-、*、&、sizeof 算术 移位 关系 *、/、% +、- <<、>> 13 12 11 自左向右 自左向右 自左向右 自左向右 自右向左 <、<=、>、>= 10 ==、!= & 9 8 7 6 5 4 3 位逻辑 ^ | 自左向右 逻辑 条件 赋值 && || ?: 自左向右 自右向左 自右向左 =、+=、-=、*=、2 25