第二章 类和对象的特性
https://blog.csdn.net/weixin_43312470/article/details/108045896?spm=1001.2014.3001.5502
2.1C++的数据类型
1.基本类型
①整型
·短整型(short int)
·整型(int)
·长整型(long int)
②字符型(char)
③浮点型
·单精度型(float)
·双精度型(double)
·长双精度型(long double)
④布尔型(bool)
2.派生类型
①指针类型(*)
②枚举类型(enum)
③数组类型([ ])
④结构体类型(struct)
⑤共用体类型(union)
⑥类类型(class)
变量定义:
unsigned:无符号,数值没有符号,无+、-。
signed:有符号,数值以补码形式存放,存储单元中的最高位bit用来表示数据符号。
2的十五次方是整型能保存的最大数字32768
标识符:用来表示变量、符号常量、函数、数组、类型等实体名字的有效字符序列称为标识符)
C++规定标识符只能由字母、下划线、数字来组成且第一个字符必须为字母或者下划线
要求:
1.凡未被先定义的不难做变量名
2.每一个变量被指定为一个确定类型
3.指定每一变量属于一个特定类型,这就便于在编译时,据此检查该变量所进行的算法是否合法。例如,整型变量a和b,可以进行求余运算:
常变量
常变量:加上关键字const,变量的值再程序运行期间不能改变,称为常变量。
1.const定义的是常变量,#define定义的是符号常量,
2.物理上const定义的常变量是存在的,定义了一个数据类型存在,存储单元存在的变量,可以使用sizeof测量出长度等进行变量操作。只是变量的内容无法在运行期间内改变,而物理上宏变量则不存在符号常量命名的存储单元,没有数据类型。
3.在调用时,前者即变量的调用,在编译运行时期使用,而宏变量是在预编译时进行用一个符号将一个字符串替换,所以const定义的变量可以进行安全检查、可以进行调试,但后者无法进行,容易产生意料不到的错误。
局部变量与全局变量
局部变量
- 在一个函数内部定义的变量,它只在本函数或复合语句范围内有效
- 形参也是局部变量
- 在函数原型声明中出现的参数名,只在原型声明中的括号范围内有效
全局变量
- 在函数外定义的变量是外部变量,称为全局变量,其有效范围为从定义变量的位置开始到本源文件结束
- 如果在一个函数中改变了全局变量的值,就能影响到其他函数,使其他函数中引用的同名变量也同时改变
- 建议不在必要时不要使用全局变量(占用存储单元、函数通用性降低)
最优先的是算数其次是关系最后是逻辑,位运算后面是赋值!逗号运算符最低,其次是?:
什么是逗号表达式:all表达式用逗号隔开,结果是最后一个表达式的值
习题:
1.形参和实参的区别与联系
3.
1.const定义的是常变量,#define定义的是符号常量,
2.物理上const定义的常变量是存在的,定义了一个数据类型存在,存储单元存在的变量,可以使用sizeof测量出长度等进行变量操作。只是变量的内容无法在运行期间内改变,而物理上宏变量则不存在符号常量命名的存储单元,没有数据类型。
3.在调用时,前者即变量的调用,在编译运行时期使用,而宏变量是在预编译时进行用一个符号将一个字符串替换,所以const定义的变量可以进行安全检查、可以进行调试,但后者无法进行,容易产生意料不到的错误。
4.
————————————————
版权声明:本文为CSDN博主「zdh1995」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zdh1995/article/details/78215863
————————————————
版权声明:本文为CSDN博主「袁健峰-Yonny Jofen」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44343008/article/details/107129022
————————————————
版权声明:本文为CSDN博主「于十二JAC」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_59312484/article/details/120159542