第2章 C语言基础.ppt
文本预览下载声明
字符串连接运算符 + + 除用于算术加法运算外,还可用于对字符串进行连接操作 int i = 300 +5; string s = hello, + world!; +运算符两侧的操作数中只要有一个是字符串(String)类型,系统会自动将另一个操作数转换为字符串然后再进行连接 string s = hello, +300 + 5 + 号; //输出:hello, 3005号 逻辑运算符(1) 逻辑运算符功能 !-- 逻辑非 -- 逻辑与 | -- 逻辑或 ^ -- 逻辑异或 -- 短路与 || -- 短路或 逻辑运算符功能说明: a b !a ab a|b a^b ab a||b true true false true true false true true true false false false true true false true false true true false true true false true false false true false false false false false 逻辑运算符(2) 短路(short-circuit)逻辑运算符应用 -- 第一个操作数为假则不判断第二个操作数 || -- 第一个操作数为真则不判断第二个操作数 MyDate d; if ((d!=null) (d.day 31)) { //do something with d } if(i 0 || i 31 ) { //(非法赋值); } 位运算符 位运算符功能 ~ -- 取反 -- 按位与 | -- 按位或 ^ -- 按位异或 左移 右移 位运算符功能说明: 0 1 0 0 1 1 1 1 ~ 1 0 1 1 0 0 0 0 0 1 1 0 1 1 0 1 0 1 0 0 1 0 0 1 1 1 0 0 1 0 1 1 0 1 1 0 1 1 0 1 | 1 1 1 0 1 1 1 1 1 1 0 0 1 0 1 1 0 1 1 0 1 1 0 1 ^ 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 1 赋值运算符(1) 赋值运算符= 当“=”两侧的数据类型不一致时,可以适用默认类型转换或强制类型转换(casting)原则进行处理 long l = 100; int i = (int)l; 特例:可以将整型常量直接赋值给byte, short, char等类型变量,而不需要进行强制类型转换,只要不超出其表数范围 byte b = 12; //合法 byte b = 4096; //非法 赋值运算符(2) 扩展赋值运算符 运算符 用法举例 等效的表达式 += a += b a = a+b -= a -= b a = a-b *= a *= b a = a*b /= a /= b a = a/b %= a %= b a = a%b = a = b a = ab |= a |= b a = a|b ^= a ^= b a = a^b = a = b a = ab = a = b a = ab 字符串连接运算符 + + 除用于算术加法运算外,还可用于对字符串进行连接操作 int i = 300 +5; String s = hello, + world!; +运算符两侧的操作数中只要有一个是字符串(String)类型,系统会自动将另一个操作数转换为字符串然后再进行连接 int i = 300 +5; String s = hello, + i + 号; //输出:hello, 305号 编程提示: 字符串与C语言中的字符串有很大的不同 表达式 表达式是符合一定语法规则的运算符和操作数的序列 a 5.0 + a (a-b)*c-4 i30 i%10!=0 表达式的类型和值 对表达式中操作数进行运算得到的结果称为表达式的值 表达式的值的数据类型即为表达式的类型 表达式的运算顺序 首先应按照运算符的优先级从高到低的顺序进行 优先级相同的运算符按照事先约定的结合方向进行 表达式中的类型转换 当有不同种类的混合运算时: int?long?float?double (所有的
显示全部