1、输出输入使用“cout<<”和“cin>>”
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
int a;
char ss[100];
cout << "Input your name:\n";
cin >> ss;
cout << "Input your age:" << endl; //endl就相当于换行
cin >> a;
cout << "Hello, " << ss << "!Your are " << a << " old.";
}
同时,需要包含的库文件是iostream,io代表输入输出,所以iostream就是输入输出流,其中还包含一些其他很基础的输入输出函数:
cin:标准输入istream类对象,cin使我们可以从设备读如数据。
cout;标准输出(standard output)的ostream类对象,cout使我们可以向设备输出或者写数据。
cerr:标准错误(standard error)的osttream类对象,cerr是导出程序错误消息的地方,它只能允许向屏幕设备写数据。
2、访问外部变量
在C++中,即使内部变量和外部变量同名,外部变量仍然能够被访问到,只要在变量名前冠以作用域分辨符“::”:
#include <iostream>
using namespace std;
int a = 111;
int main(int argc, char* argv[])
{
int a = 314;
cout << "Local a= " << a << endl;
cout << "Global a= " << ::a << endl;
}
3、从指针到引用
在C++中,可以使用“&”运算符来声明引用另外一个变量,相当于给另个变量起了一个别名(化名)。
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
double a = 1.23456;
double &b = a; //给变量a取一个化名(别名)为b,然后就可以通过修改b来修改a的值了
b = 99.9;
cout << "a的值为:" << a << endl;
}
对于这样的引用,我们可以把它想象成一个形式上比较漂亮的指针,它的好处在于我们不用担心指针是否被初始化,也不用担心如何获取它的值。
4、引用与指针的比较
(1)在C++用别名(引用)
#include <iostream>
using namespace std;
void change(double &a, double b)
{
a= 1314;
b= 520;
}
int main(int argc, char* argv[])
{
double x=1.11, y=2.22;
change(x, y);
cout << "x的值:" << x << endl;
cout << "y的值:" << y << endl;
}
(2)在C++用指针
#include <iostream>
using namespace std;
void change2(double *a, double b)
{
*a= 1314; //改变指针所指向地址的数
b= 520;
}
int main(int argc, char* argv[])
{
double x=1.11, y=2.22;
change2(&x, y); //指针传入值需要取址
cout << "x的值:" << x << endl;
cout << "y的值:" << y << endl;
}
其结果是与使用引用一样的。
5、返回引用类型的函数
#include <iostream>
using namespace std;
int &biggest(int &a, int &b)
{
if(a > b)
return a;
else
return b;
}
int main(int argc, char* argv[])
{
int k=2, m=9, res;
res= biggest(k, m);
cout << "The biggest is:" << res << endl;
}
在判断最大值的函数中返回的是引用类型的数据,因此需要用&来定义函数 。
若此时若返回的是一个具体的数字而不是某引用类型数据,那编译器必然就会报错 ,因为返回值和函数类型不对应。
biggest函数若用C语言格式写,则是如下:
int *biggest(int *a, int *b)
{
if(*a > *b)
return a;
else
return b;
}