求C++编程的一些操作符而字的意义和用法列表和用法。。(全部)谢谢

详解C++编程中运算符的使用
投稿:goldensun
字体:[ ] 类型:转载 时间:
这篇文章主要介绍了详解C++编程中运算符的使用,是C++入门学习中的基础知识,需要的朋友可以参考下
C++的运算符十分丰富,使得C++的运算十分灵活方便。例如把赋值号(=)也作为运算符处理,这样,a=b=c=4就是合法的表达式,这是与其他语言不同的。C++提供了以下运算符:
算术运算符
+(加)& -(减)& *(乘)& /(除)& %(整除求余)& ++(自加)& --(自减)
关系运算符
&(大于)& &(小于)&& ==(等于)& &=(大于或等于)& &=(小于或等于)& !=(不等于)
逻辑运算符
&&(逻辑与)& ||(逻辑或)&& !(逻辑非)
&&(按位左移)& &&(按位右移)& &(按位与)& |(按位或)&& ^(按位异或)& ~(按位取反)
赋值运算符 (=及其扩展赋值运算符)
条件运算符 (?:)
逗号运算符 (,)
指针运算符 (*)
引用运算符和地址运算符 (&)
求字节数运算符(sizeof)
强制类型转换运算符( (类型) 或类型( ))
成员运算符 (.)
指向成员的运算符 (-&)
下标运算符 ([ ])
其他 (如函数调用运算符())
基本的算术运算符
在本章中主要介绍算术运算符与算术表达式,赋值运算符与赋值表达式,逗号运算符与逗号表达式,其他运算符将在以后各章中陆续介绍。
需要说明,两个整数相除的结果为整数,如5/3的结果值为1,舍去小数部分。但是,如果除数或被除数中有一个为负值,则舍入的方向是不固定的。例如,-5/3在有的C++系统上得到结果-1,有的C++系统则给出结果-2。多数编译系统采取“向零取整”的方法,即5/3的值等于1,-5/3的值等于-1,取整后向零靠拢。
如果参加+,& -,& *, / 运算的两个数中有一个数为float型数据,则运算的结果是double型,因为C++在运算时对所有float型数据都按double型数据处理。
算术表达式和运算符的优先级与结合性
用算术运算符和括号将运算对象(也称操作数)连接起来的、符合C++语法规则的式子,称C++算术表达式。运算对象包括常量、变量、函数等。例如,下面是一个合法的C++算术表达式:
a*b/c-1.5+'a'
C++语言规定了运算符的优先级和结合性。在求解表达式时,先按运算符的优先级别高低次序执行,例如先乘除后加减。如有表达式a-b*c,b的左侧为减号,右侧为乘号,而乘号优先于减号,因此,相当于a-(b*c)。如果在一个运算对象两侧的运算符的优先级别相同,如a-b+c,则按规定的“结合方向”处理。
C++规定了各种运算符的结合方向(结合性),算术运算符的结合方向为“自左至右”,即先左后右,因此b先与减号结合,执行a-b的运算,再执行加c的运算。“自左至右的结合方向”又称“左结合性”,即运算对象先与左面的运算符结合。以后可以看到有些运算符的结合方向为“自右至左”,即右结合性(例如赋值运算符)。关于“结合性”的概念在其他一些高级语言中是没有的,是C和C++的特点之一,希望能弄清楚。
表达式中各类数值型数据间的混合运算
在表达式中常遇到不同类型数据之间进行运算,如:
10+'a'+1.5-*'b'
在进行运算时,不同类型的数据要先转换成同一类型,然后进行运算。转换的规则按图所示。
假设已指定i为整型变量,f为float变量,d为double型变量,e为long型,有下面表达式:
10+'a'+i*f-d/e
运算次序为:
进行10+'a'的运算,先将'a'转换成整数97,运算结果为107。
进行i*f的运算。先将i与f都转换成double型,运算结果为double型。
整数107与i*f的积相加。先将整数107转换成双精度数(小数点后加若干个0,即107.000…00),结果为double型。
将变量e转换成double型,d/e结果为double型。
将10+'a'+i*f的结果与d/e的商相减,结果为double型。
上述的类型转换是由系统自动进行的。
C++自增和自减运算符(--和++)
在C和C++中,常在表达式中使用自增(++)和自减(--)运算符,他们的作用是使变量的值增1或减1,如:
++i(在使用i之前,先使i的值加1,如果i的原值为3,则执行j=++i后,j的值为4)
--i (在使用i之前,先使i的值减1,如果i的原值为3,则执行j=--i后,j的值为2)
i++ (在使用i之后,使i的值加1,如果i的原值为3,则执行j=i++后,j的值为3,然后i变为4)
i--(在使用i之后,使i的值减1,如果i的原值为3,则执行j=i--后,j的值为3,然后i变为2)
++i是先执行i=i+1后,再使用i的值;而i++是先使用i的值后,再执行i=i+1。
正确地使用++和--,可以使程序简洁?清晰?高效。请注意:
自增运算符(++)和自减运算符(--)只能用于变量,而不能用于常量或表达式。
++和--的结合方向是“自右至左”。
自增运算符(++)和自减运算符(--)使用十分灵活,但在很多情况下可能出现歧义性,产生“意想不到”的副作用。
自增(减)运算符在C++程序中是经常见到的,常用于循环语句中,使循环变量自动加1。也用于指针变量,使指针指向下一个地址。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具君,已阅读到文档的结尾了呢~~
c语言编程软件 c语言编程 c语言经典编程282例 c专家编程 c语言编程软件下载 linux c编程 c语言高级编程 c编程
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
C++编程答疑
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口酷勤网 C 程序员的那点事!
当前位置: >
浏览次数:次
空格只在恰当的时候使用。不要在行尾出现任何空格。
【空格使用的普通场景】
我们直接通过代码后的注释来和大家介绍:
void f(bool b) {
int i = 0;
int x[] = { 0 };
class Foo : public Bar {
Foo(int b) : Bar(), baz_(b) {}
void Reset() { baz_ = 0; }
【在循环和条件语句中如何使用空格】
while (test) {}
switch (i) {
for (int i = 0; i & 5; ++i) {
switch ( i ) {
if ( test ) {
for ( int i = 0; i & 5; ++i ) {
for ( ; i & 5 ; ++i) {
for (auto x : counts) {
switch (i) {
【在操作符的附近如何使用空格】
if (x && !y)
v = w * x + y /
v = w*x + y/z;
v = w * (x + z);
【模板和类型转换时如何使用空格】
vector&string&
y = static_cast&char*&(x);
vector&char *&
set&list&string&&
set&list&string& &
set& list&string& &
& 相关主题:
本文来源:

我要回帖

更多关于 而字的意义和用法 的文章

 

随机推荐