编程语言的四个基本准则

本文详细探讨了编程语言的四个基本准则:无二义性、高效性、合乎日常习惯和相似相同原则。从运算符优先级、标识符命名、作用域到内联函数和变量初始化,逐一剖析了每个准则在C++中的体现和意义,旨在帮助程序员更好地理解和使用编程语言。
摘要由CSDN通过智能技术生成

1.最高准则—无二义性

  1.1基本理解

   即一串代码只可有一种执行方式,在语义上和逻辑上不能有歧义,这同时也是所有编程语言所要遵守的最高准则。

  1.2具体体现

     1.2.1运算符的优先级与结合性

      - 优先级是为了解决语句运算中运算符使用的先后问题。
     如: int i = 3 + 4 * 5; 是(3+4)×5还是3+(4×5) .

      - 结合性是为了解决当运算符优先级相同时操作数的结合性时从右向左还是从左向右的问题。
     如: int j = 120 / 4 * 5; 是(120/4)×5还是120/(4×5).
                     一些常见运算符优先级

运算符 结合律
() 从左往右
+ - (一元) 从右往左
* / 从左往右
+ - (二元) 从左往右
= 从右往左

     1.2.2 标识符命名规则

      不能用关键字当作标识符(如变量名),否则,编译器将视之为语法错误。
      不可以用数字作为名称开头。因为这样将无法判断像10e3是变量名还是数字常量,违反了无二义准则;且若以数字开头,则要遍历后续字符,才可判断是否为数字常量,降低了编译的速度,也违反了高效性的原则。

      且尽量避免以下划线-开头,因为操作系统和库常使用以一个或两个下划线字符开始的标识符,进而导致名称冲突

     1.2.3 贪心规则

      每个符号应该包含尽可能多的字符,也就是说,我们的编译器将程序分解成符号的方法是从左向右一个一个字符的读入,如果该字符可以组成一个符号那么再读入下一个字符,然后在判断已经读入的两个字符是否有可能是一个符号或者一个字符的组成部分,如果可能则继续读入下一个字符,然后重复整个过程。

    如:

	int i = 10;
	int j = 20;
	int k = i+++j;

    分析得,先使用i的值后给i+1,所以i = 11; j = 20; k = (i++) + j = 10 + 20 = 30; 在分析符号时,编译器会尽可能多的结合有效的符号。

     1.2.4 作用域

  •        作用域是指程序中可访问标识符的区域,可分为文件作用域,块作用域,函数作用域,函数原型作用域,变量只在其对应的作用域中可见。
  •        使用::可以访问全局变量。
  •        内作用域同名变量定义会暂时隐藏外层变量定义。
# include <iostream>
void oil(int x);

int main()
{
   
	using namespace std;

	int texas = 31;

	cout << "In main(), texas = " << texas << ", &texas = ";
	cout << &texas << endl;
	oil(texas);
	cout << "In main(), texas = "
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值