b=(++a)+(++a)+(++a)怎么运算

 我来答
不咩a
2019-07-02 · TA获得超过1.2万个赞
知道答主
回答量:6
采纳率:0%
帮助的人:1389
展开全部

首先要明确一点: ++a这个表达式的计算结果就是+1之后的a, 而不是a+1的结果数值

b=(++a)+(++a)+(++a)

依据从左向右的顺序, 相当于b=((++a)+(++a))+(++a)

所以它的计算过程如下(这里就是"脱括号"的过程了, a=0)

b=(a+(++a))+(++a),           第一次脱括号的结果, 这时a=1

b=(a+a)+(++a),                  第二次脱括号的结果. 这时a=2

b=(2+2)+(++a),  

b=4+(++a)                         第三次脱括号的结果, 这时a=2

b=4+a                                第四次脱括号的结果, 这时a=3

b=4+3=7

C语言是一门面向过程的计算机编程语言,与C++、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

C语言描述问题比汇编语言迅速,工作量小、可读性好,易于调试、修改和移植,而代码质量与汇编语言相当。C语言一般只比汇编语言代码生成的目标程序效率低10%~20%。因此,C语言可以编写系统软件。


扩展资料

语法结构

1、顺序结构

顺序结构的程序设计是最简单的,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行。

例如:a = 3,b = 5,现交换a,b的值,这个问题就好像交换两个杯子水,这当然要用到第三个杯子,假如第三个杯子是c,那么正确的程序为:c = a; a = b; b = c;执行结果是a = 5,b = c = 3如果改变其顺序,写成:a = b; c = a; b =c;

则执行结果就变成a = b = c = 5,不能达到预期的目的,初学者最容易犯这种错误。

顺序结构可以独立使用构成一个简单的完整程序,常见的输入、计算,输出三步曲的程序就是顺序结构,例如计算圆的面积,其程序的语句顺序就是输入圆的半径r,计算s = 3.14159*r*r,输出圆的面积s。

不过大多数情况下顺序结构都是作为程序的一部分,与其它结构一起构成一个复杂的程序,例如分支结构中的复合语句、循环结构中的循环体等。

2、选择结构

顺序结构的程序虽然能解决计算、输出等问题,但不能做判断再选择。对于要先做判断再选择的问题就要使用选择结构。选择结构的执行是依据一定的条件选择执行路径,而不是严格按照语句出现的物理顺序。

选择结构的程序设计方法的关键在于构造合适的分支条件和分析程序流程,根据不同的程序流程选择适当的选择语句。

选择结构适合于带有逻辑或关系比较等条件判断的计算,设计这类程序时往往都要先绘制其程序流程图,然后根据程序流程写出源程序,这样做把程序设计分析与语言分开,使得问题简单化,易于理解。程序流程图是根据解题分析所绘制的程序执行流程图。

参考资料来源:百度百科-c语言

ziyang64
推荐于2018-02-11 · TA获得超过962个赞
知道小有建树答主
回答量:529
采纳率:0%
帮助的人:814万
展开全部
这种问题出现过很多次了,要说b=(++a)+(++a)+(++a)怎么运算?那是取决于编译程序的。因为C语言标准没有明确的规定,其结果是未定义(undefined)。
可以放在程序里去运行看。
假如a的初值是1,用VC编译运算的结果 b=12,而用gcc编译则 b=10。结果与上面的分析没有相同的。
int main()
{
int a = 0;
int b;
b=(++a)+(++a)+(++a);

printf( "%d %d\n", a, b );
}

所以说这种代码没有意义。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
国华优诺软件
2019-01-31
知道答主
回答量:14
采纳率:0%
帮助的人:5386
展开全部

首先要明确一点: ++a这个表达式的计算结果就是+1之后的a, 而不是a+1的结果数值

b=(++a)+(++a)+(++a)

依据从左向右的顺序, 相当于b=((++a)+(++a))+(++a)

所以它的计算过程如下(这里就是"脱括号"的过程了, a=0)

b=(a+(++a))+(++a),           第一次脱括号的结果, 这时a=1

b=(a+a)+(++a),                  第二次脱括号的结果. 这时a=2

b=(2+2)+(++a),  

b=4+(++a)                         第三次脱括号的结果, 这时a=2

b=4+a                                第四次脱括号的结果, 这时a=3

b=4+3=7

题外话:++a 在c++中是左值表达式, 但在c中不是左值表达式

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
pt0j56ag6a
2011-02-22 · TA获得超过532个赞
知道小有建树答主
回答量:812
采纳率:0%
帮助的人:177万
展开全部
a*sinA+b*cosB=[根号(a^2+b^2)]sin(A+B)
( 令cosB=a/[根号(a^2+b^2)],sinB=b/[根号(a^2+b^2)] )

这是公式,往里套就行。

比如sinA+cosB=根号2[(根号2/2)*sinA+(根号2/2)*cosA]=根号2[sinAcos45`+cosAsin45`]=根号2*sin(A+45`)

直接套上面的公式也可:
[根号(a^2+b^2)]sin(A+B)=根号2*sin(A+B)
令cosB=根号2/2,sinB=根号2/2,满足这个式子的角最常见的就是45`
所以:根号2*sin(A+45`)

参考资料: 百度一下

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
紫舞玥汐
2011-02-22 · TA获得超过139个赞
知道小有建树答主
回答量:113
采纳率:0%
帮助的人:87.9万
展开全部
举例子说,设a=0
分解式子b=x+y+z
从左到右计算,其中x=++a,先算++a,得到x=1,a=1
然后计算第二个++a时,得到y=2,a=2
最后第三个++a,得到z=3,a=3
最后将x+y+z =6,得到b的值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(9)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式