1.C++的输入输入
cout:标准输出(插入运算符)
cin:标准输入(提取运算符)
例1.1(cout):
for(i=1;i<=3;i++)
cout<<"count="<<i<<endl;
输出结果为:
count=1
count=2
count=3
例1.2(cin):
#include<iostream>
using namespace std;
int main(){
cout<<"please enter your name and age:"<<endl;
char name[10];
int age;
cin>>name;
cin>>age;
cout<<"your name is"<<name<<endl;
cout<<"your age is"<<age<<endl;
return 0;
}
运行结果:
please enter your name and age:
Wang-Li⬅
19⬅
your name is Wang-Li
your age is 19
2.定义常变量
C++提供了const定义常变量的方法。
例2.1(const):
const float PI=3.14159;
3.函数原型声明
int max (int x,int y); //max函数原型声明
int max(); //不列出max函数的参数表
max(); //若max是整形函数,则可以省略函数类型
int max(int,int); //参数表只含有数据类型,不包含参数名
当然,一般不建议第二,第三种写法。
函数声明时可给出默认值,如:
float area (float r=6);
即此函数r的默认值为6,若在调用时不给出r的值,即:
area(); //相当于area(6)
若调用时不想使用该默认值,则通过实参正常给出。如:
area(7); //形参得到的r值为7,而非6.5
需注意,指定默认值的参数必须放在形参列表的最右端,即放在所有未指定默认值形参的右边,否则按照实参与形参从左到右的结合顺序会出错。
4.函数模板及函数重载
比如求三个数的最大值,数值类型可以有int,float,double等等,可以通过函数重载来使同一个函数名max用于以上各种不同场合,也可以用函数模板写一个通用函数。
//template <typename T>
//通用函数定义
//或者
//template <class T>
#include<iostream>
using namespace std;
template <typename T>
Tmax(T a,T b,T c)
{
if(b>a)a=b;
if(c>a)a=c;
return a;
}
int main(){
int i1=8,i2=5,i3=6,i;
double d1=56.9,d2=90.765,d3=43.1,d;
i=max(i1,i2,i3);
d=max(d1,d2,d3);
cout<<"i_max="<<i<<endl;
cout<<"d_max="<<d<<endl;
return 0;
5.变量的引用
int a;
int &b=a; //声明变量b是a的引用,即a的别名。
在声明一个引用时,必须对其进行初始化。
引用指使用同一存储单元,为该变量的别名,即该例中a与b为相同地址。
当声明一个变量的引用后,在函数生命周期内,该引用一直与其代表的变量相联系,不能再作为其他变量的别名。
6.内置函数(内联函数)
只需在函数首行的左端加关键字inline即可。
内置函数会将调用函数的代码直接嵌入到主调函数中,省去了调用函数需要花费的时间,但增加了代码的长度。因此,对于规模较小但频繁使用的函数,可以使用内置函数大大增加运行速度。
7.作用域运算符
每一个变量都有其有效作用域,只能在其领域中使用该变量。C++提供作用域运算符“::”,它能指定所需要的作用域。
float a=5.5;
int main(){
int a=5;
cout<<a<<endl;
cout<<::a<<endl;
}
此时,第一行输出的a值为5,局部变量的值;
第二行输出的值为5.5,全局变量的值。
::不能用于访问函数中的局部变量。
8.new和delete
new用于开辟一片内存,delete则用于撤销已经开辟的内存空间。
new int; //开辟一个存放整数的空间,返回一个整型指针
new int(100); //开辟一个存放整数的空间,
//返回一个整型指针,并指定其初值为100
new cahr *pt=char[10]; //开辟一个存放字符数组的空间,该数组有十个元素,
//返回一个指向字符数据的指针将其赋给pt
new int[5][4]; //开辟一个存放二维数组的空间,数组大小为5*4
float *p=new float(3.14159);
//开辟一个存放实数的空间,
//并指定初值,将返回的指向实数类型的指针赋给p
delete p; //撤销例五开辟的空间
delete []pt; //撤销例三开辟的空间,加方括号代表对数组操作