找回密码
 立即注册
  • QQ空间
  • 回复
  • 收藏

C/C++每日一问--标识符

admin 2020-7-13 05:42 91人围观 C++相关






C/C++每日一问







特别设置【每日一问】专栏,对专业课--C/C++的复习的学习成果进行实践检验以及知识拓展,裂变自己接触和学习过的知识及技巧;主要是理论和实践相结合,以基础知识为主,实践操作为辅,保证学习效果,和大家一起回顾知识,共同进步,加油!

特别提示:【每日一问】栏目包括但不限于【今日主题】、【实践演练】、【知识裂变】等模块,内容比较基础,适合新手学习以及熟手进行知识回顾,大神勿喷,请自动绕道,谢谢!



1

今日主题



下面哪项是合法的自定义标识符?(  )

A、3aa

B、float

C、_88

D、-much

正确答案:C

解析:A:以数字开头;B:关键字:D:有“-”;全部错误

2

知识裂变



一、什么叫标识符?

用来标识变量、符号常量、函数、数组、类型等实体名字的有效字符序列称为标识符。

标识符分为三类:关键字,预定义标识符,用户自定义标识符 。

二、标识符构成规则:

1、以大写字符、小写字母或下划线(_)开始

2、可以由大写字母小写字母或下划线(_)或数字0~9组成

3、大写字母小写字母代表不同的标识符

4、 不能是C++关键字或操作符

三、命名注意事项:

变量名也是表示符的一种,命名必须遵循标识符的命名规则。

在我们定义变量名、函数名、数组名等等标识符时,我们应该注意哪些问题,通常用什么方法或准则去进行定义?

一般规则:

1、命名应当直观且可以拼读,可望文知意,便于记忆和阅读。
标识符最好采用英文单词或其组合,不允许使用拼音。程序中的英文单词一般不要太复杂,用词应当准确 。

2、命名的长度应当符合“min-length && max-information”原则
命名要简洁的,如变量名MaxVal就比MaxValueUntilOverflow好用。标识符的长度一般不要过长,较长的单词可通过去掉“元音”形成缩写。

3、尽量避免名字中出现数字编号,如 Value1,Value2 等,除非逻辑上的确需要编号。比如驱动开发时为管脚命名,非编号名字反而不好。

4、对在多个文件之间共同使用的全局变量或函数要加范围限定符(建议使用模块名(缩写)作为范围限定符),这样定义的位置一目了然。

命名规则:

5、标识符名分为两部分:规范标识符前缀(后缀) + 含义标识 。非全局变量可以不用使用范围限定符前缀。



6、作用域前缀命名规则



7、所有宏定义、枚举常数、只读变量全用大写字母命名,用下划线分割单词。

例如:
const int MAX_LENGTH = 100; //这不是常量,而是一个只读变量,具体请往后看
#define FILE_PATH “/usr/tmp”

8、考虑到习惯性问题,局部变量中可采用通用的命名方式,仅限于n、i、j 等作为循环变量使用。

9、定义变量的同时千万千万别忘了初始化。定义变量时编译器并不一定清空了,这块内存,它的值可能是无效的数据。

10、不同类型数据之间的运算要注意精度扩展问题,一般低精度数据将向高精度数据扩展。

11、程序中不得出现仅靠大小写区分的相似的标识符。

例如:int x, X; 变量 x 与 X 容易混淆
void foo(int x); 函数 foo 与 FOO 容易混淆

特别注意:1(数字 1)和 l(小写字母 l)之间,0(数字 0)和o
(小写字母 o)之间的区别。

and so on...

注:摘自陈正冲《C语言深度剖析》,更多知识,需要的朋友留言分享链接 

通常我们变量命名遵守一般原则,命名法方法通常是:

1、匈牙利变量命名法:变量前加字符表示变量类型,如iCount,表示这是一个整形变量。

2、骆驼表示法:开头小写,中间单词开头大写,表示另一单词的开始,如:studentName。

3、使用单词组成变量名,下划线链接,如:number_of_student。

用什么命名方法并无规定,由程序员自己决定,不过作为一名优秀的程序员,一定要做到规范易懂。

猜你喜欢:

C/C++每日一问--进制转换

C/C++每日一问--运算符

C/C++每日一问--判断素数



扫描二维码关注我

置顶/星标公众号,和我一起学习吧

----------------------------------------------------------------------------------------------------------------------
我们尊重原创,也注重分享,文章来源于微信公众号:嵌入式龙憨憨,建议关注公众号查看原文。如若侵权请联系qter@qter.org。
----------------------------------------------------------------------------------------------------------------------

鲜花

握手

雷人

路过

鸡蛋

yafeilinux和他的朋友们微信公众号二维码

微信公众号

专注于Qt嵌入式Linux开发等。扫一扫立即关注。

Qt开源社区官方QQ群二维码

QQ交流群

欢迎加入QQ群大家庭,一起讨论学习!

我有话说......