c++基础语法(适合初学者)

c++兼容c的一切语法,下文会有一些c和c++的对比。

头文件

观察上图,c++的基础头文件为<iostream>,  有了iostream才能进行输入和输出的操作。。

讲得严谨一点就是,iostream是 Input Output Stream ,翻译过来就是输入输出流。它定义了标准的输入输出对象。。

平时写c++代码的时候一定要写上这个头文件

#include<iostream>

输入和输出

在c中输入和输出较为麻烦,

int a = 0;
scanf("%d", &a);
printf("%d\n", a);

如上图,a是int类型,输入和输出都需要%d这个格式说明符,

但是c++不需要。

int a = 0;
std::cin >> a;
std::cout << a << std::endl;

输入就用std::cin,后面紧跟>>,加上变量名

输出用std::cout, 后面紧跟<<,加上变量名;

endl是换行符,意为end line.

std::cin和std::cout可以连续输入和输出多组数据。

(std::是什么下文会有解释)

命名空间namespace

顾名思义,命名空间就是可以自己命名然后拿来使用的空间。

命名空间可以有好多个,不同的命名空间里可以使用同名变量。

命名空间的存在解决了命名冲突的问题。

下面介绍命名空间的语法,举例让大家理解一下。

namespace study
{
	int a = 10;
}

语法就是 

namesapce + 名字 +{ },

其中名字任你取,只要是英文字母就行,可以加上这个符号“_”;

{ }花括号里面写内容。

观察下面代码,看如何访问命名空间中的东西,以及命名空间是如何解决变量同名问题的。

访问命名空间中的a,语法是名字::变量,如上面代码的study::a.

访问全局变量中的a,语法是::变量,如上面代码的::a.

访问main函数中的a,就是正常打印就好。

C++标准库都放在⼀个叫std(standard)的命名空间中。
可以在写代码时添加 using namespace std 这句话,方便我们平时写代码。

如std::cin就可以写成cin,std::cout就可以写成cout,std::endl就可以写成endl,

我们自己的命名空间也可以使用 using namespace + 命名空间的名字

#include<iostream>
using namespace std;
//using namespace study;//这句话放在这里会报错

namespace study
{
	int a = 10;
}
using namespace study;//这句话必须放在命名空间之后,不然会报错

int main()
{
 
	cout << a << endl;//此时的a是命名空间的a
	return 0;
}

但是需要小心的是,当变量重名时,系统会优先打印main函数中的变量

缺省参数

举个例子理解一下

全缺省参数

看上图的function1函数,形参有3个,分别为a, b, c,都给它们赋值,此时a、b、c都有了初始值,这就叫全缺省参数

在main函数调用function1的时候,可以什么参数都不传,也可以传1/2/3个参数。传的参数不够时,剩下的参数就会用初始值,如:

只有a有传参,b,c都用初始值。

半缺省参数

如function3就是半缺省参数,如上图,只有a没有初始值,因此调用function3时,至少要赋一个值,不然会报错。

下面是正确示例

错误的缺省参数

function2是错误示例,因为形参的赋值顺序不对。

c++规定缺省的赋值必须从右到左,但是在function2中,却从左到右,先给a赋值,所以会报错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值