2020-09-29

c++编程语言四个基本准则及其具体表现

1.最高准则:无二义性
解释:二义性指一个东西在一种环境下出现两种及以上的含义。
具体表现:
(1) 运算符的优先级和结合性
当出现a=2*(3+4)此类表达式时,为避免不知是先算3+4还是23,所以规定了优先级,当出现a=b=1同级运算时,,为避免不知是先算a=b,还是b+1,所以出现了结合性。
优先级(个人理解,可能不准确):初级运算符((),[]…)>单目运算符(++,–,…)>算术运算符(+,-,
,/…)>位运算符(^,&,|…)>关系运算符(>=,<=,!=…)>逻辑运算符(&&,||…)>条件运算符(?..)>赋值运算符(=)>逗号运算符(,)
结合性:运算级一样才有结合性,其中单目运算符,条件运算符和赋值运算符结合性都是从右到左,其余为从左到右。
(2)标识符不能以数字开头
为避免与纯数字出现混淆二义,如98,它可能是用户自定义的标志符,也有可能是一个纯数字,所以有此规则。
(3)不能重名(否则要么被覆盖,要么报错)
例如定义一个局部变量int a;又定义一个全局变量int a;
在局部变量a的作用域内,全局变量a会被覆盖,但是出了局部变量作用域,全局变量就会覆盖局部变量的值。同理,也不能定义两个函数名一样的函数,否则会报错。
(4)命名空间
人类可用的单词太少了,为避免名字冲突违反无二义准则,将变量分门别类,如整型,实型,字符型,或者在前面加std,如std::cin>>r。

2.第二高准则:高效性
(1)数组下标0索引
定义一个数组a[10],其数组元素是a[0]到a[9],因为 如果是从一开始索引,那么&a[i]=&a[i]+(i-1)sizeof(a[0])
如果从零开始索引,那么&a[i]=&a[i]+i
sizeof(a[0]),减少了计算量,更高效。
(2)逻辑短路
逻辑短路规则为对于表达式a&&b,a为假时,不会进行b运算,对于a||b,a为真是,也不会进入b。

3.第三准则:合乎日常习惯
(1)类型名,如int是integer(整数整型)的缩写 const int a字面意思就是固定的整型变量。
(2)基本语句如a=3,可以理解为a的值是3.

4。补充准则:相似相同规则
解释:c++中,如果有两个不同对象A或B,A具有行为a,B具有行为b,如果a与b两种行为在逻辑上具有相似性,则c++会为对象A额外增加一个行为b,也会为对象B额外增加一个行为a。
c++是按照这几个准则来的,如在数组0索引上c++选择了高效性,而没有选择日常一般人的习惯从一开始计数,诸如此类,还有很多,这里就不一一举例了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值