总结一些初学者不明白的问题

总结一些初学者不明白的问题:
1.常量:①整型常量②实型常量③字符常量④字符串常量⑤ 符号常量
2.变量
3.常变量
4.标识符
5.补码
注意一:不要把符号常量误认为变量,区分符号常量和变量,符号常量不占内存,只是一个临时符号,代表一个值,在预编译后这个符号就不存在了,故不能对符号常量赋新值。
例如:
在这里插入图片描述
在这里插入图片描述
在#define PI 3.14后程序中所有PI被带入3.14的值,而且这个PI也不可以再被当成是变量赋予其他的数值了,而且符号常量一般是使用生活常量,比如圆周率啥的。符号常量有如下优点:①含义清楚 ②能做到“一改全改”。变量与符号常量有如下不同点:①变量是先定义后使用(在定义时要做到指定该变量的名字和类型)②在程序运行期间变量的值是可以改变的。
注意二:区分变量名和变量值这两个不同的概念。变量名实际上是以一个名字代表的一个存储地址。从变量中取值,实际上是通过变量名找到相应的内存地址,从该存储单元中读取数据。
注意三:符号常量和常变量的区别。例如:符号常量Pi和常变量pi都代表3.1415926,在程序中都能使用,但是两者的性质不同:定义符号常量用#define指令,它是预编译指令,他只是用符号常量代表一个字符串,在预编译时仅进行字符替换,在预编译后,符号常量就不存在了(全置换成3.1415926了),对符号常量的名字是不分配存储单位的。而常变量要占用存储单位,有变量值,只是该值不改变而已,从使用的角度看,常变量具有符号常量的优点,而且使用更方便。有了常变量以后,可以不必多用符号常量。
注意四:标识符的规定:①只能由字母,数字和下画线3种字符组成。②第一个字符必须为字母或下画线。③编译系统认为大写字母和小写字母是两个不同的字符 ,例如:sum和Sum,class和Class都是不同的变量名。④一般而言,变量名用小写字母表示,与人们日常习惯一直,以提高可读性。
注意五:在将一个变量定义为无符号整型后,不应向它赋予一个负值,否则会得到错误的结果。
在这里插入图片描述
在这里插入图片描述
结果会这样是因为:系统对-1先转换成补码形式,就是全部二进位都是1,然后把它存入变量price中。由于,price是无符号短整型变量,其左边第一位不代表符号,按“%d”格式输出,就是65535。(在程序中经常会对各种类型的数据进行操作,使用c语言编程时应当对数据在计算机内部的存储情况有一些基本的了解。否则对运行时出现的问题会感到莫名其妙,无从分析。)

猜你喜欢

转载自blog.csdn.net/qq_43642831/article/details/84198117