C++编程语言的四个基本准则
- 最高准则:无二义性
对这个准则的理解:无二义性准则不仅仅是c++的准则,也是所有编程语言的最高准则。或许在人类语言中一个句子可以有多种解读,听者可以根据说话人的语气、表情来判断其含义。但机器不同于人类,它无法思考与判断,只能执行,如果在我们编程过程中出现有二义性的句子,会让计算机无法判断,最终导致崩溃。
准则的具体体现:
(1)运算符的优先性与结合性优先级是为了消除诸如3+4*5的表达式是应该被当作(3+4)5还是3+(45)的二义性而设定的规则。运算符的优先规则
运算符的结合方向
在表达式中,优先级较高的先于优先级较低的进行运算。 而在一个运算量两侧的运算符优先级相同时, 则按运算符的结合性所规定的结合方向处理。 C语言中各运算符的结合性分为两种,即左结合性(自左至右)和右结合性(自右至左)。例如算术运算符的结合性是自左至右,即先左后右。如有表达式x-y+z则y应先与“-”号结合, 执行x-y运算,然后再执行+z的运算。这种自左至右的结合方向就称为“左结合性”。而自右至左的结合方向称为“右结合性”。 最典型的右结合性运算符是赋值运算符。如x=y=z,由于“=”的右结合性,应先执行y=z再执行x=(y=z)运算。(2)标识符不能以数字开头如果以数字开头的话,那么语法分析器在解析一个全部为数字的字串的时候,就无法判断它是一个数字常量还是一个变量名了(3)贪心规则每个符号应该包含尽可能多的字符,也就是说,我们的编译器将程序分解成符号的方法是,从左到右一个一个字符的读入,如果该字符可能组成一个符号,那么再读入下一个字符,然后在判断已经读入的两个字符是否有可能是一个符号或者一个符号的组成部分,如果可能则继续读入下一个字符,然后重复整个过程,直到读入的字符组成的字符串已不再可能组成有意义的符号
2. 第二高准则:高效性
(1)数组下标0索引数组下标说成是从0开始的是因为如果从1开始编号,每次随机访问数组元素都多了一次减法运算,对于cpu来说,就是多了一次减法指令,所以会使计算机编译效率降低。(2)逻辑短路裸机短路规则为对于表达式a&&b,当a为假时,b不会计算。(3)注意代码书写规范了解一些常用的代码注释、命名等规范。
3. 合乎日常习惯
注意运算的优先级与数组的行列数合乎程序员日常编程习惯。
4. 相似相同原则
指的是在c++中,如果有两个不同的对象A与B,A有行为a,B有行为b。如果a与b两种行为在逻辑上具有相似性,则c++会为A额外增加一个b,同理,B也将增加一个行为a。(1)数组的初始化在对数组进行初始化时,计算机会自动将剩下的未输入数字初始化为0
0
(2)自定义变量的初始化在对自定义变量进行初始化时,有多种初始化方式,如int a=1、int a{1}等等。