C++从入门到成仙——3.代码框架

(如果没有账户而不能复制代码,请在上方地址栏前面加上“read:”打开阅读器模式)

“哎呀!C++的代码框架真的是太难了!我要去学Python”,如果你曾说过这句话,很遗憾,你并没有十足的耐心来去学框架,作者从刚学C++时并不知道框架代表什么,就是死记硬背,但是现在,我给你们整理了一份框架的名单,快来看看:

1、预处理

以“#”开头的就是预处理,也就是在编译时做的处理,其中最常用的就是“#include”了,这就是引入头文件的意思,头文件分千千万万种,比如<iostream>、<iomanip>、<cstdlib>……但是,其中有一个头文件应该是竞赛者的狂欢:<bits/stdc++.h>!

这个头文件的布局很特殊,它不是叫“bits/stdc++.h”,而是一个在文件目录“bits”下的一个文件“stdc++.h”,这个头文件集成了所有的C++头文件,可以让竞赛者在竞赛时偷懒,但是,如果在生产环境上,还是老老实实一个一个引入吧!因为引入<bits/stdc++.h>会让你被开除(这个东西特别拖编译时间,而且极其累赘!)

其实引入头文件的方式很简单,看看吧:

#include<iostream>
#include<iomanip>
#include<cstdlib>
#include<...> //其它的头文件

其实,你们初学的时候,背<iostream>就行了,其它头文件到后来学,你也可以只背<bits/stdc++.h>,虽然它不能在生产环境中使用,但是在竞赛时,对你很有帮助!

2、引入命名空间

引入命名空间是一个较长的代码段,但没关系,这就是最硬的骨头,后面都很简单。

首先我们得知道什么叫命名空间:

命名空间(Namespace)是C++中用于解决标识符命名冲突的封装机制,它通过将全局作用域划分为不同的命名域来实现逻辑隔离。

而using就是指引入什么什么东西,“using namespace”就是引用命名空间,而“std”就是命名空间,来封装cout、cin和endl……

所以,该这么引入命名空间:

using namespace std;

但是作者不推荐你这么做,因为这会导致全局污染,容易与自定义变量冲突!不过作者也不是强迫你不做,你想做就做,后果自负~(并且现在的代码都用这个框架!)

#include<bits/stdc++.h>
using namespace std; //全局污染!
int count=10; //声明并定义变量count
int main(){
	cout<<count<<endl; //输出count
	return 0;
}

就比如说,上面的代码会出现编译错误,因为有一个count属于std::count,而你定义的count就和std::count冲突了,会出现编译错误,所以作者推荐你这么做:

(1)不引入命名空间,也就是说在需要的时候加上std::,例如,下面输出语句这么写也能过编译

#include<bits/stdc++.h>
int count=10; //声明并定义count
int main(){
	std::cout<<count<<std::endl; //输出count,这时候,cout和endl前面加std::
	return 0;
}

(2)引入需要的命名空间,例如:using std::cout,下面输出语句也能过编译

#include<bits/stdc++.h>
using std::cout; //引入std::cout
using std::endl; //引入std::endl
int count=10; //声明并定义count
int main(){
	cout<<count<<endl; //输出count
	return 0;
}

这块硬骨头可以分成3段,第一段“using”,也就是“use”的-ing形式,第二段“namespace”,如果你背过“name”,那么就可以只背“space”来减轻负担,第三段“std”,这个如果你背不掉,建议你看看你的脑子。

注意:因为是一个代码,后面要加“;”以表示程序段结束。

3、main()函数

C++程序运行需要一个主函数入口,而“main()”函数就是主函数入口,格式是这么写的:

int main(){

}

如果只写这个,程序也能过编译!因为这个程序不做任何事情!别忘了main后面有对小括号,小括号后面还有花括号,花括号就是专门括住程序的。

4、返回

现在,就只差返回了,C++程序运行完后需要返回0以表示程序运行正常,而返回的英文是“return”,又要反悔0,所以就变成了“return 0;”,这也是一个语句,需要加“;”以表示程序段结束!

return 0;

注意,“return 0;”在括号内部,所以需要缩进以表示程序的位置。

5、总结

好好看看下面代码,尤其是注释,并背掉代码:

#include<iostream> //引入头文件<iostream>
using namespace std; //使用命名空间“std” (不推荐)
int main(){ //创建main()函数(主函数)
    //一些代码……
    return 0; //返回0,表示程序结束
} //花括号括住程序

6、习题

下面一共有3个选择题+2个判断题,每题20分,合计100分。

(1)下面头文件引用正确的一项是(     )

A、#include<iostream>;     B、include<iostream>     C、#include<iostream>

(2)下面命名空间引用正确的一项是(     )

A、using std;     B、using namespace std;     C、namespace using std;

(3 拓展积累)下面(     )标识符不属于“std”命名库的

A、cout     B、vector     C、string     D、全部都是

(4)下面代码会发生编译错误(     )

#include<iostream>
using namespace std;
int count=5;
int main(){
    cout<<count<<endl;
    return 0;
}

(5)C++主函数入口是main()(     )

7、答案(写完前不要看)

(1)C (2)B (3)D (4)正确 (5)正确

希望本篇文章对小白有帮助,如果有错误,欢迎大佬来纠错!

如果作者写得好,收藏一下吧,未免以后用得着呢?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值