请人来回答下面的C++问题啊,本人刚学,不太懂啊?

来源:百度知道 编辑:UC知道 时间:2024/06/16 19:07:38
判断题
1.自动类变量与内部静态类变量的作用域和寿命是相同的 ()
2.自动类变量可以定义在函数体外,这时应加说明符 AUTO ()
3.外部类变量与外部静态类变量的作用域是相同的 ()
4.C++程序中,通常使用CONST来定义符号常量,定义时必须指出类型 ()
5.增1和减1运算符以及赋值运算符都具有副作用 ()
6.变量的类型高低是指它被存放在内存的地址大小 ()
7.在C++语言中,非保值转换应该用强制类型转换 ()
8.在C++程序中,变量值是可以改变的,变量的地址值是不能改变的 ()

1.错:作用域相同,寿命不同
2.错:定义在函数体外的变量是全局变量,属静态存储类型
3.错:外部静态变量只能用于本模块,而外部非静态变量可被所有文件引用
4.对
5.错:赋值运算符没有副作用
6.错:类型高低指自动转换的提升规则,如double的类型高于int,因为int可以自动转换为double而不出现误差
7.对
8.错

1错
2错
3对
4对
5对
6错
7对
8错
我也才学,5和7题不太保证,别的题,
1、自动类变量的作用域应该是函数,他在哪个函数定义的变量,作用域就是从定义开始,到此函数结束,而静态的,则是从定义开始,一直到程序结束或exit。
2、auto是可以省略的,不一定非要用这个说明符,默认的。
3、外部的也就是相当于全局对象。也是从定义开始,到主函数结束,或是exit。
4、const声明常变量,我看的书上介绍也是说,在c++中,用这个。比宏定义有一定的优势,就比如宏定义只是做简单的替换,而常变量,不止是这样,是先进行了数值运算的,比如#define s(a) a*a这个宏定义,如果在程序里写的时候,写成a=12+13;s(a)则算的时候,就按12+13*12+13,显然不是开发者本意,而用const则是先将二个值之和计算了,再做相乘,这是好处之一。因为C++中用const来定义常变量,在一定的程度上能取代符号常量了。
5、
6、不太了解你这个类型的高低是什么意思,不过,如果是像数值运算吧,比如,整型和实型,那样会自动转化为实型,也就是实型比整型的要高吧,但是,存的地址是不一定的,有可能把整型的地址放在实型变量地址的后面也说不定啊。
7、不太明白什么叫保值转换。
8、我学的时间比较短,没涉及到变量地址变化的例子,但是,自我感觉,应该是可以变的吧。
以上只供参考,由于我学的也有限,如果答错的,请见谅,
如果下面有高手对我的进行修正或补充,正好小弟也顺道学一下了!~