- 1
- 0
- 约4.28千字
- 约 39页
- 2018-03-04 发布于浙江
- 举报
[计算机软件及应用]第3章数据类型、运算符和表达式
第3章 数据类型、运算符和表达式 3.1 C语言数据类型 合适的方法存放数据和处理数据 3.2 常量 整型常量 字符常量 实型常量 字符串常量 符号常量 整型常量 三种表示 十进制表示:11,-1,123, 0 八进制表示:013,05,0777 十六进制表示:0x0b, 0xff 整型常量(2字节) =65535 长整型常量(4字节):10L, -1L, 655360 实型常量 带小数(15位有效数字) : 一般表示:12.3 , -0.34 指数表示: 1.2e2, 123E-5(123*10-5) 字符常量 用单引号表示的数据(单字节) 例:‘a’, ‘\n’,’\0’ 存放为ASCII:97,10,0)p317 例:用转义字符表示的常量 ‘\41’, \041’ - 33 ‘!’ ‘\x41’ - 65 ‘A’ 可以看作整数 如: ‘a’ - 97 P318 ASCII 问:1,’1’和‘\1’的存储相同吗? 字符串常量 用双引号刮起的字符序列表示 例:“good morning” 最后字符为‘\0’,字符串结束符号,所以实际字符长度比字符串长度多1字节。 “abc” 长度3字节,存储4字节 “a\”b” 长度3字节,存储4字节 “\\\\” 长度2字节,存储3字节 ‘a’ 与“a”不同 符号常量 用标识符定义的常量 例: #define PI 3.14159 例: #define PI 3.14 #define R 15 main() { printf(“%f\n”, PI*R*R); } 宏定义 符号替换 (p24 例:3-2,3-3,3-4) 函数内部定义常量 const char c=‘Y’, c1=‘N’; 3.3 变量 内存的一个区域,按变量名存取内存值 分 整型变量 单精度变量 双精度变量 字符型变量 整型变量分类 整型变量例 int i,j,k=0; long large; unsigned n; unsigned long largest; 变量在定义时可以赋初值 整型变量存储 整型变量的溢出 例: int i=32767; i=i+2; i值是 -32767 实型变量分类 实型变量例 float f1,f2=0.0; double d1,d2; 字符型变量 一个字符型变量只能放一个字符 存储占1个字节,值 为ASCII码 可以看作整数 例: char c=‘a’; c = c + 1; -’b’ 变量赋初值(初始化) 例: int i=0,j=0; (int i,j; i=0;j=0;) long ln=21L; float f1=1.2, f2=123e-2; double d1=12.3; 没有赋初值的变量不能参加计算 有问题的赋初值语句 char c1; c1 = c1 + 1; c1无初值 int i,j=i=0; Turboc c通不过 实例 main(){ int a=32767; unsigned b=65535; long c=1234567; printf(decimal: %d, octal: %o, hexadecimal: %x\n,97,97,97); printf(%d, %d, %ld\n,a,b,c); printf(%f, %e\n,1.234567,123456.7); printf(%c, %c, %d\n,97,a,a); } 3.4 运算符和表达式 单目,双目,三目 -k (自右向左结合) 12 *k (自左向右结合) ab?1:2 优先级 p318 结合性 表达式:有确定值 算术运算符和算术表达式 算术运算符:+ - * / % 5/3 - 1 :二个整数相除,结果为整数 9 %5 -4 :求余数 算术表达式 例:a*b/c-1.5+’a’ 例:5/3.0 (1.666667) 例:’a’-’A’ (32) 例:3+’0’ (‘3’) 计算中的数据类型转换 精度低的数据自动向精度高转换 运算中转换 结果自动强制转换成变量类型存储 赋值时转换 强制转换表达式 ( int)(2*3.14*r) 各类数值数据混合运算 实型数转化为双精度型 字节少的类型转化为字节多的类型 例 已知:int a=2; float f=3.0; char c=‘a’;求表达式:(a+c)/f 值 解:33.0 已知:int a=2; float f=3.9; char c=‘a’;求表达式:a=f+c 值 解
原创力文档

文档评论(0)