全球旧事资料 分类
第5章
运算符和类型强制转换
前几章介绍了使用C编写程序所需要的大部分知识。本章将首先讨论基本语言元素,接着论述C语言的扩展功能。本章的主要内容如下:●C中的可用运算符●处理引用类型和值类型时相等的含义●基本数据类型之间的数据转换●使用装箱技术把值类型转换为引用类型●通过强制转换技术在引用类型之间转换●重载标准的运算符,以支持对定制类型的操作●给定制类型添加强制转换运算符,以支持无缝的数据类型转换
51
运算符
C和C开发人员应很熟悉大多数C运算符,这里为新程序员和VB开发人员介绍最重要的运算符,并介绍C中的一些新变化。C支持表51所示的运算符,其中有4个运算符sizeof、、、只能用于不安全的代码这些代码绕过了C类型安全性的检查,这些不安全的代码见第7章的讨论。
表类算术运算符逻辑运算符字符串连接运算符增量和减量运算符移位运算符比较运算符赋值运算符成员访问运算符用于对象和结构索引运算符用于数组和索引器数据类型转换运算符条件运算符三元运算符对象创建运算符类型信息运算符溢出异常控制运算符间接寻址运算符别
ewsizeof只用于不安全的代码istypeofascheckedu
checked只用于不安全代码51运算符

f116
C高级编程第3版
使用C运算符的一个最大缺点是,与C风格的语言一样,赋值和比较运算使用不同的运算符。下述语句表示“x等于3”:
x3
如果要比较x和另一个值,就需要使用两个等号:
ifx3
C非常严格的类型安全规则防止出现常见的C错误,也就是在逻辑语句中使用赋值运算符代替比较运算符。在C中,下述语句会产生一个编译错误:
ifx3
习惯使用宏字符来连接字符串的VB程序员必须改变这个习惯。在C中,使用加号连接字符串,而表示两个不同整数值的按位AND运算。则在两个整数之间执行按位OR运算。VB程序员可能还没有使用过%取模运算符,它返回除运算的余数,例如,如果x等于7,则x%5会返回2。在C中很少会用到指针,因此也很少会用到间接寻址运算符。使用它们的惟一场合是在不安全代码块中,因为只有在此C才允许使用指针。
511
运算符的简化操作
表52列出了C中的全部简化赋值运算符。
表运算符的简化操作xxxxxyxyxyxyxyxyxyxyxyxyxx1xx1xxyxxyxxyxxyxxyxxyxxyxxyxxr
好听全球资料 返回顶部