- 1、本文档共56页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ChC运算符和表达式
常用数据类型的字节数 数据类型 占用字节数 Char 1 Char * 4 Short 2 Int 4 Long 4 Float 4 Double 8 * * 条件运算符 格式:操作数1 ? 操作数2 : 操作数3 cout (A=ch ch=Z)? (a+ch-A):ch int m = 1, n = 2;int min = (m n ? m : n); int m = 1, n = 2, p =3;int min = (m n ? (m p ? m : p) : (n p ? n : p)); int a=10,b=20,c=30;int min=(a=b ?) (b=c ? b: c): (a=c ? a : c) * * 逗号运算符 逗号运算符带两个操作数,返回值是右操作数。逗号表达式的一般形式如下: 表达式1,表达式2,……,表达式n 例: int m, n, min;int mCount = 0, nCount = 0;// ...min = (m n ? mCount++, m : nCount++, n); a=10,11,12 * * 其他运算符 类型 运算符 例子 全局变量或全局函数 : :(全局) : : GetSystemDirectory 类中的域变量或函数 : :(类域) CWnd::FromHandle 括号及函数调用 ( ) (a+b)*(a-b) 指针指向的结构或类种的域变量 - (CWnd *wnd)- FromHandle 结构或类中的域变量 . (CWnd wnd). FromHandle 数组下标运算符 [] nYearsMonthsDays[10][12][366] 内存分配运算符 new new CWnd 内存释放运算符 delete delete (CWnd *wnd) * * 优先级和结合性 * * C++运算符的优先级和结合性 * * 优先级和结合性举例 a = b + c * d a = b += c c = a + b * a – b 不同类型的运算符混合使用时,即使实现优先级与实际需要相符,最好也使用括号隔离之,以便代码更加清晰。 * * 类型转换 * * C++数据类型的转换 条件 转换 较高级别操作数的类型为long double 另一个操作数被转换为 long double 较高级别操作数的类型为 double 另一个操作数被转换为 double 较高级别操作数的类型为 float 另一个操作数被转换为 float 较高级别操作数的类型为 unsigned long 另一个操作数被转换为 unsigned long 较高级别操作数的类型为 long 另一个操作数被转换为 long 较高级别操作数的类型为 unsigned int 另一个操作数被转换为 unsigned int 两个操作数为char, unsigned char, signed char,short, unsigned short类型 均转换为 int * * 自动类型转换 char ch=c;int a,b=13;float x=2.0;double y;a=ch+5; x=b/2/x; x=b/x/2; y=x/b; double d = 1; int i = 10.5; i = i + d; * * 强制类型转换 举例: (int) 3.14 // 3.14 转换成整型数3(long) 3.14 // 3.14转换成长整型数3L(double) 2 // 2转换成双精度数2.0(char) 122 // 122转换成Unicode码为122的字符(unsigned short) 3.14 // 3.14转换成无符号整型数3 * * 强制类型转换 类型标识符能被用于类型运算符。类型运算符是单目运算符,并位于其操作数的左边的圆括号里,称之显式类型转换,或强制类型转换。显式类型转换的一般形式为: (类型名)(表达式) * * 强制类型转换 例子 转换前类型 转换后类型 结果 (int) 3.5 双精度浮点型double 整型int 3 (long) -3.5 双精度浮点型double 长整型 long -4 (double)2 整型int 双精度浮点型double 2.0 (char)122 整型int 字符型char 0x7A (float) 2 整型int 单精度浮点型 float 2.0F (unsigned short)3.5 双精度浮点型double 无符号短整型 unsigned short 3 int (3.5) 双精度浮点型double 整型int 3 * * 混合运算中的隐式类型转换 举例: d
文档评论(0)