算法初步(一)——C++基础语法

1.cin判断EOF

有两种写法

int n;
while(cin>>n)
{
	
}

或者

int n;
while(scanf("%d",&n)==1)
{

}

如果要输入一对数据的话就要用while(cin>>n>>m)了,不能用scanf("%d %d",&n,&m)在比赛中为了快速签到,会用到cin,但是cin的速度比scanf满了不少,1e5以上的数据写入可能会超时,此时建议使用scanf

2.输出小数

习惯用printf,会更加方便一点,C++格式输出要用到 < iomanip >头文件,用cout.setprecistion(int digit)修饰精度,比较麻烦

3.bool类型

C++添加了新的基本类型bool,有true和false两个值
逻辑中用true来代替非0,false来代替0可以有效提高代码可读性

4.引用

C++中用&来创建引用,可以把引用当成一个不能改变对象的指针,也就是给变量取一个小名,在函数里面传参时用到

void NumSwap(int& x,int& y)
{
	int c=a;
	a=b;
	b=c;
}
5.函数重载

在C++中,函数是以函数名+参数列表来进行区分的,也就是两个函数的名字可以一样,但参数列表和返回值可以不一样

int Add(int a,int b)
{
	return a+b;
}
int Add(int a)
{
	return a;
}
int main()
{
	cout<<Add(1,2)<<endl; //3
	cout<<Add(1)<<endl;  //1
}

函数的部分参数可以缺省,没有提供参数的时候就是用参数的初始化值代替(用于dfs进入条件是固定的情况)

int Add(int a,int b=10)
{
	return a+b;
}
int main()
{
	cout<<Add(1)<<endl;  //11
	cout<<Add(1,2)<<endl; //3
}
7.struct
struct Member
{
	int a;
	Member(int aa=5)
	{
		a=aa;
	}
};
int main()
{
	Member n1=Member();
	Member n2=Member(1);
	cout<<n1.a<<endl; //5
	cout<<n2.a<<endl; //1
}

在构造函数那边可以使用this指针:this指针的作用和用法

6.动态开辟内存(很少用)

C++中用new来动态开辟内存,new写起来更加简明一些。写题目不用释放内存,delete都不用。
但是C++不支持变长数组的,但是可以使用vector解决

int *arr=new int[10];
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值