1、表达式和表达式类别
实例2.1:
将有理数65储存到计算机系统缓存中,并输入。
运转结论:
65
聊著:比python麻烦事哦,还得先表述再取走再输入。
auth内部空间挤占4二进制,容许存放在a中的统计数据为:-2147483648~2147483647范围内的有理数。
实例2.2:int
写作上面流程的运转结论,想来表达式a的促进作用:
运转结论:
65
100
聊著:好神奇,我还以为第一个65会被覆盖住呢。。。
实际这是两次输入,第二次取走100的时候,的确覆盖住原来的表达式了。
2、C++的表达式名
命名规则:
1)表达式名只能出现字幕(A-Z,a-z)、数字(0-9)或下划线。【和Python一样】
2)第一个字符不能是数字
3)不能是C++关键字:
聊著:friend竟然是个关键字。。。神奇
4)区分大小写,1A和1a是两个不同的表达式
3、表达式的表述
表达式表述的促进作用是,在缓存开辟一个类别标识符指定类别的内部空间,用表达式名标识。
取走表达式前,首先要表述表达式,
格式:
类别标识符 表达式名1,表达式名2,…,表达式名n;
实例2.4:float
将实数65。5储存到计算机系统缓存表达式a中,并且输入:
运转结论:
65.5
浮点型内部空间挤占4二进制,容许存放在a中的统计数据为:-3.4E+38~3.4E+38(7位有效数字)范围内的实数。
实例2.5:char
将字符“A”储存到计算机系统缓存表达式a中,并输入:
运转结论:
A
字符型内部空间挤占1二进制,容许存放在a中的统计数据是编码为-128~127范围内对应的字符,但一般情况,我们更多使用字符类别存放键盘字符。
实例2.6:
求长为7.5cm,宽为10.6cm的矩形面积,要求先将矩形长和宽统计数据分别储存到表达式x、y中。
运转结论:
长方形面积为79.5平方厘米
书中给的实例代码:
运转结论:
Area of a rectangle:79.5
附录B中的短auth长auth啥的看哭了,咋这么多基本统计数据类别,都很常用么? P57
作业:
1、表达式名哪些合法,哪些不合法,说明原因:
3zh 不合法,数字不能放开头
ant 可以
_3cq 可以
my 可以
friend 关键字,不可以
Mycar 可以
my_car 可以
all 可以
55a 不可以,数字不能放开头
a_abc 可以
while 不可以,关键字不能做表达式名
daf-32 不可以
x.13 不可以,字母数字下划线,点不可以
Var(3) 不可以,括号不可以
maxn 可以
max&min 不可以,&特殊符号不可以
4、表达式句子和数学表达式
实例2.7:
求半径为7cm的圆面积:
运转结论:
Circular area = 153.938
表达式运算符用于对表达式进行表达式,分为简单表达式(=)、复合算术表达式(+=、-=、*=、/=、%=)和复合位运算表达式(&=、|=、^=、>>=、<<=)三类共11种。
实例2.8:
写作上面流程,理解表达式句子:
运转结论:
5
7
12
聊著:这点和python挺像的
实例2.9:
写作上面流程,想来复合算术表达式的功能:
运转结论:
6
3
实例2.10:
编程实现两个表达式x、y之间值的交换。
运转结论:
7
3
书上给出的实例代码:
运转结论:
10.5 30.6
30.6 10.5
-2020.8.19-
5、表达式的自增和自减
auth和浮点型表达式的值加1可以使用自增运算符“++”
【这里和python还是有区别的,python用的是一个加号】
用法:
1)表达式名++;
2)++表达式名;
注意,这两种都可以使表达式的值加1,但是是有差异的。
实例2.11:
写作流程和流程运转结论,想来,表达式自增两种用法的共同点和它们的区别。
运转结论:
n2=6
n2=7
n1=7 n2=8
n1=9 n2=9
单独使用自增的时候,n2++ 和 ++n2无差异,结论是一样的;
但是在表达式句子中,
第11行,n1=n2++; 先将n2表达式给n1,然后n2再加1,所以n1是直接被表达式的结论——7,n2是7自增1后的结论,8;
第13行,n1=++n2; n2先加1后表达式给n1,执行后n1和n2的值相同,都是8+1=9.
整型或浮点型表达式的值减1可以使用自减运算符“–”,其用法与自增类似。
6、流程中的数学表达式
数学表达式 由统计数据、表达式、运算符、数学函数、括号组成,流程中的数学表达式需要用语言能后接受的运算符和数学函数表示。
实例2.12:
已知a=5.5 b=6.7 c=9.3,编程求式子 (-b+4ac)/2a
运转结论:
结论等于17.9909
书上的实例代码:
运转结论:
结论等于17.9909
实例2.13:
为了激励员工稳定工作,小红所在的公司每年都在元月一次性提高员工的当年的月工资。小红2012年的月工资为4000,在2014年时他的月工资增加到5290元,她在2015年的月工资按2012到2014年的月工资的平均增长率继续增长,那么小红2015年的月工资是多少?
做错了!!!
运转结论:
2015年工资是5290元
错误原因应该是中间值是float 但没标注就默认int,数值上有偏差了,要分布来,注意统计数据类别
修改后:又错了!!!
运转结论:
2015年工资是5290元
这里错的原因是,注意到了x和y的浮点型,但是忘记了如果想要按照实数计算,那算式中至少要有一个数是实数,也就是,5290或4000 至少一个我得写成 5290.0或4000.0
这次修改对了!一定要注意细节!
运转结论:
2015年工资是6083.5元
ps:好激动啊,终于自己掉了个坑自己又爬出来了,开心~
实验:删除上述流程中的头文件#include <cmath> ,编译运转流程看到什么错误?说明头文件的促进作用。
这就和Python中调用库都要import一样,import numpy as np 才可以使用np.blablabla…
删除后会出现这样的报错,它是找不到sqrt的, 因此啊,与数学函数相关的,要记的cmath。
实例2.14:
一列火车在某地时的速度是v0=40km/h,现以加速度a=0.15m/s²行驶,求2min后的速度v和距开始点的距离s。
vt=v0+at
s=v0t+1/2 *at²
运转结论:
2分钟后的速度是29.1111m/s
距开始点的距离是2413.33m
7、常量定义
常量的值在流程中不能变化,这就不管是数学还是计算机系统,python还是C++,都这么讲,没啥特殊的。
格式:
<类别说明符>const<常量名> eg: int const X=2;
const<类别说明符><常量名> eg: const int X=2;
π用常量表述后,上面的流程可以写为:
可修改为:
使用常量的好处:
1、修改方便 2、可读性强 3、为了区别常量和表达式,通常流程中常量名用大写字母表示
作业:
1、假定上面每个表达式中auth表达式x的值均为10,求x和y的值。
表达式值表达式值++x11x++11–x9x–9y=x++x=11 y=10y=5*x++x=11 y=50y=–xx=9 y=9y=x–*2+3x=9 y=21
最后一个y错了:
运转结论:
9
23
符号在前,就是先加减,符号在后就是后加减
就是x–或者x++表达式给y,都是直接将x表达式给y,然后x自身增减
2、查阅附录C,写作下列流程写出运转结论后运转流程验证,分析
ceil函数、floor函数、pow函数、sqrt函数的促进作用以及ceil函数和floor函数的区别。
运转结论:
ceil(3.14)=4floor(3.14)=3
4^3.0=64
sqrt(9)=3
ceil函数:小数取上整
floor函数:小数取下整
pow函数:a的b次幂
sqrt函数的促进作用:开方
以及ceil函数和floor函数的区别:一个取上整一个取下整
3、540棵树苗分给五、六年级同学去种,五年级有120人,六年级有150人,如果按照人数进行分配,每个年级各应分得多少棵树苗,用流程实现。
运转结论:
五年级要分240棵树苗
六年级要分300棵树苗