C++里有哪几种数据类型?
答:常见的数据的类型如下
这是常见的数据的类型,第一栏为名称,第二栏是在C++代码中声明的类型说明符,第三栏数据内存大小,最后数的范围为该数据类型表达信息的范围。
整型有哪几种形式?各种形式有什么区别?
答:表示整数,字符和布尔值的算术类型和称为整型,整型根据修饰符细分为13种形式,
他们的区分主要体现在类型名,长度和表示范围几个方面。
c++中有哪些常量?
答:常量是不可以改变的数据,常量按照数据类型主要分为整型常量、浮点型常量、字符型常量、
字符串型常量、转义字符、地址常量6种。
常量和变量有哪些出别?
答:常量是不可以改变的量,而变量是可以改变的量。常量在定义是必须初始化,而变量在定义时可以
不初始化。常量不可以寻址,它的地址不允许赋给非常量指针,而变量可以寻址。常量有相对较高的编
译执行效率。
操作符有哪些分类?
答:表达式由操作符、操作数以及标点符号组成的序列,它的目的是为了说明一个计算过程,操作符说明了
表达式的主要目的,并且计算返回结果。按照功能区分操作符分为:算术操作符、关系操作符、逻辑操作符、位操作符、赋值操作符、自增操作符和自减操作符、箭头操作符、条件操作符、sizeof操作符、逗号操作符等10种操作符。按照操作数区分分为:一元操作符、二元操作符和三元操作符。
操作符优先级对运算符有什么影响?
答:优先级规定操作数的结合方式。
举个例子:
6+3*4+2
如果直接按照从左到右的计算次序得到的结果是:38,但是在C/C++中它的值为20。
因为乘法运算符的优先级高于加法的优先级,因此3是和4分组到一起的,并不是6与3进行分组。这就是运算符优先级的含义。
逻辑操作与其他操作的关系。
答:逻辑或操作符和逻辑在使用时,总是先计算它的左操作数,然后再计算右操作数,只有在靠左操作数的值
无法确定该逻辑表达式的结果时,才会求解右操作数。这种求值称为“短路求值”。
逻辑操作只会返回true或者false两种值,他们可以用来做判断条件。逻辑操作符不会改变操作数的值。
自增自减前操作和后操作的区别?
答:前自增自减操作符的优先级大于赋值运算符,而后自增自减操作符的优先级小于赋值操作符,后自增自减操作
后表达式的值不会发生变化。
指针自增自减有什么不同?
答:变量的自增自减是修改变量的值,指针的自增自减是修改指针指向的地址。
什么是左值和右值?
答:变量是左值,可以出现在赋值语句的左边。数字字面值是右值,不能被赋值。
什么是变量
答:变量是指在程序的运行过程中随时可以发生变化的量,变量是在电脑内存里修改的,存在值的命名空间。
变量有哪几种初始化方式?
答:变量初始化指创建变量并同时给它赋初始值,而赋值则是擦除对象的当前
值并用新值代替。其中,直接初始化的语法更加灵活而且执行效率比复制初
始化更高。
变量默认初始化有什么规则?
答:内置类型变量是否自动初始化取决于变量定义的位置。在函数体外定义的变量都
初始化为0,在函数体里定义的内置类型变量不进行自动初始化。除了用作赋值
操作符的左操作数,位初始化变量用作任何其他用途都是没有定义的。
类自身定义了该类型的对象可以怎样初始化。类通过定义一个或多个构造函数来
控制类对象的初始化。如果定义某个类的变量时没有提供初始化式,这个类
也可以定义初始化时的操作,它是通过定义一个特殊的构造函数即,默认构造函数来实现的。
系统有时候会自动帮编程者初始化未初始化的变量。使用未初始化的变量
是常见的程序错误,但通常也是很难发现的错误,有时候会导致编程者在程
序运行时发生的问题原因上出现判断错误。所以建议每个内置类型的对象都要
初始化。虽然这样并不是完全必需的,但是会让程序容易和安全。