“你要不要买一本第一行代码?”
“?”
“买 一 本”
(滑稽保命)
常用的预处理命令包括对头函数的引用#include和宏定义#define。
头函数通常全部放在代码开端。通常我们只写代码用的函数,如果不太确定代码里的函数属于哪个库,可以直接堆几个常用库,毕竟只是扔一个库的引用,占用的时间空间并不多~~,而且适当数量的库可以增加气势~~ 。
一、宏命令#include
是C++中引用头文件的操作,其后只能跟一个头文件名,不能写其它任何东西,否则会疯狂CE(compile error,编译错误)。
<>用于系统自带的头文件,""用于用户自己写的头文件。
二、常用头文件
#include<bits/stdc++.h> 万能头,几乎包含所有库里的函数,但是考试大多数情况下禁用,而且总是使用万能头也难对函数有系统的组织。
#include<cstdio> /*输入输出函数。C表示输入输出流,定义输入输出。
常用函数为scanf,printf,freopen。*/
#include <cmath> /*数学函数,常用函数为abs,log,pow等。*/
#include <cstring> /*字符串处理
常用函数为strlen,strpy等字符串处理相关的函数及数组初始化函数memset。*/
#include<iostream> /*数据流输入输出。常用函数:cin,cout。*/
#include<algorithm> /*STL通用算法
常用函数为sort等。*/
#include <cctype>/*字符处理
常用函数为isdigit。*/
#include<cfloat>/*浮点数处理*/
#include<ctime>/*定义时间函数*/
#include<map>/*STL映射容器*/
#include<vector>/*STL动态数组*/
#include<stack>/*STL预处理容器*/
#include<cstdlib>/*C语言通用工具,常用函数为system()。
如system("pause")起暂停作用(过去很多IDE跑完程序
不会自动暂停,就需要编程者手写一个暂停函数实现程序跑
完后停留在屏幕上来查看运行结果)。*/
注意:1. #include <>和#include“”的区别: <>:引用的是现成的可以直接调用的头文件; “”:引用的是自己写的头文件,
自己写头文件这种奇妙而高级的操作日后会讲到。
2.C和C++对头文件的引用风格区别举例:
#include<stdio.h>//C旧式风格,以h结尾;C和C++通用
#include<iostream.h>//C++旧式风格,以h结尾,C++使用
#include <cstsio>//转换后的C,加前缀c,无扩展名,C++使用
#include<iostream>//C++新式风格,需要namespace
三、文件使用方式
我们常用于freopen。
"r"打开文字文件只读
"w"创建文字文件只写
"a"增补,如果文件不存在则创建一个
"r+"打开一个文字文件读/写
"w+"创建一个文字文件读/写
"a+"打开或创建一个文件增补
“b” 二进制文件(可以和上面每一项合用)
“t” 文本文件(默认项,可以省略)
四、#define预处理指令
目前我们多用于定义不变的量,这些量在使用过程中在根据需要改动时只需"一改全改",极为方便。
例
#define MAXN 1005//定义MAXN的值为1005,不需声明它的数据类型,引用时注意数据溢出问题即可。
也可用const代替
const int MAXN=1005;
注意分号的区别
以及 #define和const的区别
#define rep(a,b,c) for(int i=a,i<=b;i++)
五、名称空间
是C++的特性,用于编写大型程序时组织源代码。
1.using namespace std;
一般习惯于在写完所有头函数之后直接这么来一句。例如:
#include<cstdio>
#include<cmath>
#include<cstring>
#include<iostream>
using namespace std;
int main(){
int a,b,c;
cin<<a<<b;
c=a+b;
cout<<c;
return 0;
}
2.
#include<cstdio>
#include<cmath>
#include<cstring>
#include<iostream>
//这里没有代码哦
int main(){
int a,b,c;
cin<<a<<b;
c=a+b;
std::cout<<c;//①
//或者将①替换为
//using std:cout<<c;
return 0;
}
OK,本节结束。