C语言中常量变量和表达式
<
字符常量
❖定义:用单引号括起来的单个普通字符或转义字符. ❖字符常量的值:该字符的ASCII码值
转义字符及其含义:
转义字符
\n
\v
\r
<
\a \‘
含义 换行 垂直制表 回车 响铃 单引号
转义字符 \t \b \f \\ \“
\ddd 3位8进制数代表的字符 \xhh
含义 水平制表
退格 换页 反斜线 双引号 2位16进制数代表的字符
2字节
…...
分c配ocu指ot定<u<t字<“节<“d的a内dtaa存=ta单”=元”<<<d<adtaa;ta;
< > }}
内存
随机数
整型变量
❖占字节数随机器不同而不同,一般占一个机器字 ❖short≤int≤long ❖可用sizeof(类型标识符)测量
实型变量
❖float:占4字节,提供7位有效数字 ❖double:占8字节,提供15~16位有效数字
地址
char ch=‘A’;
sfl地yo变可ma址量tb执ino定gb行l ‘p义语osiii句ntnnatttte-ixxn3n==tf1y’u,=ynz=ic=n1t1i,ofz;un=2n1字mc;t节iaoinn
ma
编译da程dta序a=t根a(a=据+(a变b+)量*b1定)*.义21;.为2其; c
-2147483648~2147483647
16
0~65535
无 unsigned short
16
0~65535
unsigned long来自320~4294967295
实有 型有
字有
符 型
无
float double char unsigned char
32
3.4e-38~3.4e38
64
1.7e-308~1.7e308
<>
}
整型常量(整常数)
❖三种形式:
十进制整数:由数字0~9和正负号表示.如 123,-456,0 八进制整数:由数字0开头,后跟数字0~7表示.如0123,011 十六进制整数:由0x开头,后跟0~9,a~f,A~F表示.
如0x123,0Xff
❖整型常量的类型
根据其值所在范围确定其数据类型 在整常量后加字母l或L,认为它是long int 型常量
<
变量
❖概念:其值可以改变的量 ❖变量名与变量值
Ch2_005.c
❖变量定义的一般格式:
数据类型 变量1[,变量2,…,变量n];
❖❖❖变变变决和定数量量量分的初的定配表始使义字示化用位节范:置:数围定:先义例定一时:if义般nl赋ota,放初at合,后在bd值法,ac使函t;标a地;用数识址符开头例int:inat =a1=,2b,b=,c-3=,4c;;
…...
例例12isnftlctao=daaset%tnm{uatbd=,m{ab;e1i,ainnfa9cnli=t(;;o/inaf;t)/n1lIa=(olt;)alt1e/a,/;gUabtd,a=anbdlt2d=aae;ut2;afs;i;neeodf
a floa1t data=3.672字; 节
8
-128~127
8
0~255
说明:数据类型所占字节数随机器硬件不同而不同,上表以IBM PC机为例:
<>
§2.2 常量与变量
标识符
❖定义:用来标识变量、常量、函数等的字符序列 ❖组成:
只能由字母、数字、下划线组成,且第一个字母必须是字母或下 划线
大小写敏感 不能使用关键字
❖长度:最长32个字符 ❖命名原则例::判断下列标识符号合法性
<
字符串常量
❖定义:用双引号(“”)括起来的字符序列
❖存储:每个字符串尾自动加一个 ‘\0’ 作为字 符串结束标志
例 字符串“hello”在内存中
h e l l o \0
例 空串 “”
\0
❖字符常量与字符串常量不同
例 ‘a’ a
“a” a \0
例例:: cchhaarr cchh;; cchh==“‘AA”’;;
见名知s意um Sum M.D.John day Date 3days 不宜混s淆tud如enl与t_In,aom与e0 #33 lotus_1_2_3
char a>b _above $123
<>
常量
❖定义:程序运行时其值不能改变的量(即常数)
❖分类:
符号常量:用标识符代表常量
定义格式: #define 符号常量 常量
第二节 常量,变量和表达式
数据类型 常量与变量 不同类型数据间的转换 运算符和表达式
基本数据类型
类型 符号
关键字
所占位数
数的表示范围
(signed)int 有 (signed)short
16
-32768~32767
16
-32768~32767
整
(signed)long
型
unsigned int
32
一般用大写字母 例 符号常量举例(ch2_1.c) 是如宏定义#预d处ef理ine命令P,R不IC是EC语句30
直接常量:
整型常量 > 实型常量 > 字符常量 > 字符串常量 >
#define PRICE 30
main() {
运行结果:total=300
int num,total;
num=10;
total=num*PRICE; cout<<"total=”<<total;
字符例型flo变at量a;
❖字ad=o符u11b变1le1量11b存.;11放1;字符A/*SCaI=I1码11111.1*/ ❖cbh=a1r1与11i1n1t.1数11据; 间可/*进b=行11算11术11运.1算11*/
没有例字符ax串==‘‘变DA’’量;+,5;用字//**符a数=x6=组86;5存+5*;放/ */
<
实型常量(实数或浮点数)
❖表示形式:
十进制数形式:(必须有小数点) 如0.123, .123, 123.0, 0.0, 123.
指数形式:(e或E之前必须有数字;指数必须为整数) 如12.3e3 ,123E2, 1.23e4 , e-5 , 1.2E-3.5
❖实型常量的类型
默认double型 在实型常量后加字母f或F,认为它是float 型
<>
s=‘!’+‘G’ /* s=33+71; */ Ch2_006.c
例 /*ch2_003.c*/ #define PRICE 12.5 main() { int num=3; float total; char ch1,ch2=‘D’;
宏定义 变量定义
total=num*PRICE; ch1=ch2-‘A’+‘a’;