#include<iostream>
using namespace std;
int main(){
cout << "hello world";
return 0;
}
上面是C++的第一个程序 分析:
#include<iostream>
(1)为预处理命令,其中 <> 中的为头文件(提供输入/输出的所需要的一些信息)
using namespace std;
#include"std"
const 定义常变量
const float PI = 3.14159;
#define PI = 3.14159; 为字符置换,没有类型,不是变量,容易出错
函数的声明 在C++中,如果函数调用的位置在函数定义之前,则要求在函数调用之前必须进行声明 语法: 函数type name(形参);
#include<iostream>
using namespace std;
int max(int a,int b);
int main(){
cout << "hello world";
cout << "最大的数是:" << max(8,18);
return 0;
}
int max(int a,int b){
if(a > b){
return a;
}else{
return b;
}
}
函数重载 在同一作用域中用同一个函数名定义多个函数,但参数个数或参数类型,或者函数类型不同 有默认参数值的函数
#include<iostream>
using namespace std;
int getX(int x = 8);
int main(){
cout << "X的默认值:" << getX();
return 0;
}
int getX(int x){
return x;
}
注意: (1)指定默认值的参数定义须放在形参的最右边
int max(int a,int b = 4,int c,int d = 7)
int max(int a ,int c ,int b = 4,int d = 7);
(2)在函数调用之前需要对其声明,而默认值在声明的时候给出 (3)一个函数不能即作为重载函数,又作为有默认参数值的函数 变量的引用 : 为变量起别名
int a;
int &b = a;
注意:对一个变量声明一个引用,并不为其开辟新的存储单元
#include<iostream>
using namespace std;
int main(){
int a = 12;
int &b = a;
a = a * a;
cout << "a 的值:" << a;
b = b - 2;
cout << "b 的值 :" << b;
return 0;
}
上述代码输出的值是: a 144 ,b 142 可以总结出:a 的值变化,b的值也随之变化,同样,b 的值变化,a的值也随之变化 那么当看到&b 这样的形势怎么区别是声明引用还是取地址? 当&b前面有类型符号时,必是引用声明,反之是取地址
将引用作为函数参数 (1)将变量作为参数: 这时传给形参的是变量的值,但是当形参改变时,并不会传递给实参,此时形参和实参不是同一个存储单元,即传递是单向的
#include<iostream>
using namespace std;
void swap(int x,int y);
int main(){
int a = 5;
int b = 8;
swap(a,b);
cout << "a 的值:" << a;
cout << "b的值:" << b;
return 0;
}
void swap(int x,int y){
int temp;
temp = x;
x = y;
y = temp;
}
输出结果a,b 的数值并没有交换
为解决上述问题:可以传递是变量的地址
#include<iostream>
using namespace std;
void swap(int *x,int *y);
int main(){
int a = 5;
int b = 8;
swap(&a,&b);
cout << "a 的值:" << a;
cout << "b的值:" << b;
return 0;
}
void swap(int *x,int *y){
int temp;
temp = *x;
*x = *y;
*y = temp;
}
输出结果:a ,b的值交互 通过引用解决
#include<iostream>
using namespace std;
void swap(int &x,int &y);
int main(){
int a = 5;
int b = 8;
swap(a,b);
cout << "a 的值:" << a;
cout << "b的值:" << b;
return 0;
}
void swap(int &x,int &y){
int temp;
temp = x;
x = y;
y = temp;
}
注意: (1)不能建立void 类型的引用 (2)不能建立引用的数组
char c[3] = "abv";
char &rc[3] = c;
|