笔记
memset 对数组中每一个元素赋相同值 memset(数组名,值,sizeof(数组名));
sizeof()判断数组字节大小sscanf(str,”%d”,&n);
int n;
把字符数组str中的内容以%d的格式写到n中
可配合正则表达式
sprintf(str,”%d”,n);
int n = 233;
把n以%d的格式写到str字符数组中- 指针 p保存的是地址,*p是这个地址中存放的元素
#include<iostream> using namespace std;
- cin 输入/读入整数 >>
cin >> n;
同时读入多个不同类型的变量:cin >> n >> db >> c >> str;
读入一整行 getline函数cin.getline(str,100)
- cout 输出 <<
输出时中间没加空格,需要:cout << n << “haha” << db << c;
换行:\n,endl;
- cin 输入/读入整数 >>
- 浮点数:
eps 对误差进行修正
在等于=区间内,eps取10^-8,const double eps=le-8;
比较操作写成宏定义的形式:#define Equ(a,b) ((fabs((a)-(b)))<(eps))
大于区间:#define More(a,b) (((a)-(b))>(eps)) 小于区间:#define Less(a,b) (((a)-(b))<(-eps)) 大于等于:#define MoreEqu(a,b) (((a)-(b))>(-eps)) 小于等于:#define LessEqu(a,b) (((a)-(b))<(eps)) Π:const double pi=acos(-1.0);
- 读入文件:
While(scanf(“%d”,&n)!=EOF){
……
}
只要scanf的返回值不为eof,即文件中的数据没有读完,就反复读入n,执行while循环;
While(scanf(“%d%d”,&a,&b),a||b){
……
}
a||b ==【 a!=0||b!=0】
- C语言中“0”为假,“1”为真
Math.h头文件
- fabs(double x) 对double类型变量取绝对值
- floor(double x)和ceil(double x) double类型变量向下取整和向上取整
- pow(double r,double p) 返回r^p
- sqrt(double x) 返回double型变量的算术平方
- log(double x) 以自然对数为底的对数
- sin(double x),cos/tan 要求是弧度制的
const double pi = acos(-1.0)
此处把pi定义为精确值acos(-1.0) 因为cospi=-1
double db1 = sin(pi * 45 / 180);
- round(double x) 将double型变量x四舍五入
String.h头文件
- strlen() 字符数组中第一个\0前的字符的个数 strlen(str)
- strcmp() 返回两个字符串大小的比较结果 strcmp(str1,str2)
if(str1>str2) return 正整数
if(str1<str2) return 负整数
if(str1=str2) return 0
- strcpy() 把一个字符串复制给另一个字符串 strcpy(str1,str2)
- strcat() 把一个字符串str2接到另一个字符串str1后面 strcat(str1,str2)