本节大意
讲述了如何定义并使用一个变量,变量的命名规范,初始化的方法,变量的声明与定义,变量的作用域。
细节摘录
1. 变量定义:可以操作的有名字的存储区。
2. 区分两种初始化方法 -- 复制初始化和直接初始化。
3. 定义用于给变量分配空间,声明向程序表明变量的名字和类型。定义一定是声明,但声明不一定是定义(仅当声明式有右值它同时具有定义效果)。在多个文件中使用的变量,其定义和声明是分开的,往往是一个定义+N个声明。
4. 把变量定义在第一次使用它的地方是个不错的注意。噢,给每个变量都初始化也是的。
5. 声明的本质是说,变量将在其他地方或者声明处定义。
课后习题
1.
3. 比如数组元素求和,就需要有个左值来进行统计。
4. 这些都是不规范的写法,不用死抠。
5. 不同。上行右值是10进制,下行是8进制。
6. b错,ival未定义;c错,input_value未定义;e错,函数和变量名冲突。
7. 第一个为空,第二个为0,第三个未定义,第四个为空。这题重在掌握内置类型和类类型的默认初始化规律。
8. 第一个声明name为string类型,第二个第三个都是定义字符串。第三个的extern其实是多余的。
9. 100
10. 100,for里面的i只有语句作用域,外面那个有局部作用域。
11. 不合法,最后一句中,i的值无法获取到。
讲述了如何定义并使用一个变量,变量的命名规范,初始化的方法,变量的声明与定义,变量的作用域。
细节摘录
1. 变量定义:可以操作的有名字的存储区。
2. 区分两种初始化方法 -- 复制初始化和直接初始化。
3. 定义用于给变量分配空间,声明向程序表明变量的名字和类型。定义一定是声明,但声明不一定是定义(仅当声明式有右值它同时具有定义效果)。在多个文件中使用的变量,其定义和声明是分开的,往往是一个定义+N个声明。
4. 把变量定义在第一次使用它的地方是个不错的注意。噢,给每个变量都初始化也是的。
5. 声明的本质是说,变量将在其他地方或者声明处定义。
课后习题
1.
#include <iostream>
using namespace std;
int main()
{
double b;
cout << "Base: " << endl;
cin >> b;
double e;
cout << "exponent: " << endl;
cin >> e;
double r=1;
for (int i=0; i<e; i++)
r *= b;
cout << endl << r << endl;
return 0;
}
2. 从现象看,放在左边的肯定是左值,放在右边的如果不能放在左边,那么是右值,否则还是左值。本质上看,左值可以被赋值,右值不可以。举例的话变量就是左值,常量就是右值(好吧,我这么认为是不严谨的,但我是初学者,有犯错的权利)。
3. 比如数组元素求和,就需要有个左值来进行统计。
4. 这些都是不规范的写法,不用死抠。
5. 不同。上行右值是10进制,下行是8进制。
6. b错,ival未定义;c错,input_value未定义;e错,函数和变量名冲突。
7. 第一个为空,第二个为0,第三个未定义,第四个为空。这题重在掌握内置类型和类类型的默认初始化规律。
8. 第一个声明name为string类型,第二个第三个都是定义字符串。第三个的extern其实是多余的。
9. 100
10. 100,for里面的i只有语句作用域,外面那个有局部作用域。
11. 不合法,最后一句中,i的值无法获取到。