chap5 数据类型和表达式 - 浙江大学计算机辅助设计 .ppt

chap5 数据类型和表达式 - 浙江大学计算机辅助设计 .ppt

chap5 数据类型和表达式 - 浙江大学计算机辅助设计

逻辑表达式 用逻辑运算符将关系表达式或逻辑量连接起来的式子 哪些是逻辑表达式? a b a || b c !a b a || 3+10 2 !(x == 2) !x == 2 ch || b char ch = w; int a = 2, b = 0, c = 0; float x = 3.0; 0 1 0 1 1 0 1 exp1 exp2 先算exp1,若其值为0,STOP exp1 || exp2 先算exp1,若其值为1,STOP * 例6-7写出满足要求的逻辑表达式 x 为零 关系表达式 x == 0 逻辑表达式 !x x 不为零 x != 0 x x 和 y 不同时为零 !(x == 0 y==0) x != 0 || y!=0 x || y x取0 !x 真 x取非0 !x 假 x取0 x==0 真 x取非0 x==0 假 等价 * 6.5.5 条件表达式 exp1 ? exp2 : exp3 非0 0 exp1 y = (x0) ? x+2 : x*x; int n; (n0) ? 2.9 : 1 n = 10 n = -10 2.9 1.0 if ( x0 ) y=x+2; else y=x*x; x+2 x0 y = x2 x=0 z = (ab) ? a : b; if ( ab ) z = a; else z = b; * 6.5.6 逗号表达式 表达式1, 表达式2, ……, 表达式n 先计算表达式1,然后计算表达式2,……,最后计算表达式n的值,并将表达式n的值作为逗号表达式的值. int a, b, c; (a=2), (b=3), (c=a+b); 逗号运算符的优先级最低,左结合 a=2, b=3, c=a+b * sum = 0; for(i = 0; i = 100; i++) sum = sum + i; 逗号表达式的用途 for(i = 0, sum = 0; i = 100; i++) sum = sum + i; for(i = 0, sum = 0; i = 100; i++) sum += i; * 6.5.7 位运算 位逻辑运算 ~ 按位取反 单目 右结合 按位与 ^ 按位异或:相同取0,不同取1 | 按位或 移位运算 对操作数左移给出的位数 对操作数右移给出的位数 复合位赋值运算 * 位逻辑运算 x=0 y=3 x y x | y x ^ y 1010 ^ 0101 =1111 注意区分: 和 | 和 || ~ 按位取反 按位与 ^ 按位异或:相同取0,不同取1 | 按位或 x y得 0 x || y得 1 * 位移位运算 对操作数左移给出的位数 对操作数右移给出的位数 x3 将x向左移3位,空出的位用零填补 3 x3 将x向右移3位 3 * 复合位赋值运算符 = |= ^= = = a = b 相当于 a = a b a = 2 相当于 a = a 2 * 6.5.8 其他运算 长度运算符 sizeof 单目运算符,计算变量或数据类型的字节长度 int a; sizeof(a) 求整型变量 a 的长度,值为4(bytes) sizeof(int) 求整型的长度,值为4 (bytes) sizeof(double) 求双精度浮点型的长度,值为8 (bytes) * 运算符的优先级和结合性 ( ) ! - + ++ -- (类型名)sizeof * / % + - = = == != || ? : = += -= *= /= %= , * 6.5.9 程序解析-大小写字母转换 #include stdio.h int main(void) { char ch; ? printf(input characters: ); ch = g

文档评论(0)

1亿VIP精品文档

相关文档