上学期进行了C语言的学习,但在深入的了解了程序及其算法以后,我发现仅用原本的知识是不足以解决更多复杂的问题,因此现在开启C++的学习,作为对C的一个补充。
——第一个C++程序,输出一串字符
#include<iostream>
using namespace std;
int main()
{
cout<< "Hello,world." << endl;
system("pause");
return 0;
}
与C当中使用printf函数输出不同,C++里面似乎更加直接,使用cout即可
——创建第一个变量
#include<iostream>
using namespace std;
int main()
{
int a = 10;
cout << "a = " << a << endl;
system("pause");
return 0;
}
注意到,同样和C当中不同,输出变量时,不需要再声明他的类型,直接写上变量名即可。
——创建一个常变量
#include<iostream>
#define day 7//宏定义
using namespace std;
int main()
{
const int a = 7;
cout << "一周一共有" << day << "天" << endl;
cout << "一周一共有" << a << "天" << endl;
/*
当对day和a变量赋值时,运行程序将会出错。
*/
system("pause");
return 0;
}
——typedef定义
#include<iostream>
using namespace std; //告诉编译器使用 std 命名空间。命名空间是 C++ 中一个相对新的概念。
int main()
{
typedef int love;//typedf为int 取了一个“外号”,即love。
love a = 1;
int b = 1;
cout << "a=" << a << "b=" << b << endl;
system("pause");
return 0;
}
———枚举类型实例
#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream>
using namespace std;
int main() {
enum days { one, two=2, three }day;
day = one;
switch (day) {
case one:
cout << "one" << endl;
break;
case two:
cout << "two" << endl;
break;
default:
cout << "three" << endl;
break;
}
cout << "one=" << one << endl;
cout << "two=" << two << endl;
cout << "three=" << three << endl;
return 0;
}
——变量作用域
-
在函数或一个代码块内部声明的变量,称为局部变量。
-
在函数参数的定义中声明的变量,称为形式参数。
-
在所有函数外部声明的变量,称为全局变量。
在函数或一个代码块内部声明的变量,称为局部变量。它们只能被函数内部或者代码块内部的语句使用(包括主函数内部)。
在所有函数外部定义的变量(通常是在程序的头部),称为全局变量。全局变量的值在程序的整个生命周期内都是有效的。
全局变量可以被任何函数访问。也就是说,全局变量一旦声明,在整个程序中都是可用的。
#include<iostream>
using namespace std;
int b = 10;
int main()
{
{
int a = 5;
cout << "a=" << a << endl;
}
cout << "b=" << b << endl;
return 0;
}
改为
#include<iostream>
using namespace std;
int b = 10;
int main()
{
{
int a = 5;
cout << "a=" << a << endl;
}
cout << "a=" << a << endl;
return 0;
}
发现编译不通过,问题出现在,在main函数里调用了区块内定义的a,而这个变量的生命周期在执行完区块内语句后,就结束了,main里面调用的是一个NULL。