**写在前面:**这篇博文是为接下来九推的笔面试做准备的,用来记录自己模糊易错的知识点,会不断整理,删掉掌握的,增加不熟悉的,一直更到保研结束为止。
- 当除运算的时候,如英国要保留两位小数的,记得把被除数
*1.0
不然除出来时整数的printf("%.2f\n",1.0*sum/k);
- c语言的输入与输出
scanf("%d%d",&c,&d); //C语言输入流控制,声明输入类型
常用类型:
%d 整型
%ld 长整型
%c 字符
%s 字符串
%f 单精度浮点型
%lf 双精度浮点型
printf("c+d=%d\n",c+d); //C语言输出流控制,输出需要声明类型%d,其它的原封输出
转义字符:
\n 换行,当前位置移到下一行开头
\a 响铃
\t 水平制表符
\b 退格
\r 回车,当前位置移到本行开头
\f 换页,当前位置移到下一页开头
\0 空字符!!字符串用来表示串尾
printf("%.8f",c+d);//保留8为小数输出
printf("%d",a);//输出整数a.
printf("%5d",a);//整数a按5个字符的宽度显示。
printf("%*d",len,a);//将整数a按len个字符的宽度显示。
*号告诉printf待打印字符的显示宽度从后面的参数列表中提取,指定是多少就按多少个字符宽度显示。
c保留两位小数输出
#include <stdio.h>
int main(){
printf("%0.2f",3.1415926);
}
c++保留两位小数输出
#include <iostream>
#include <iomanip>
using namespace std;
int main(){
cout<<fixed<<setprecision(2)<<3.1415926<<endl;
return 0;
}
- 定义二维数组并赋初值时,可以省略第一维大小,但是不能省略第二维大小。
- 函数模板的格式:
template <class 形参名,class 形参名,......> 返回类型 函数名(参数列表)
{
函数体
}
类模板的格式为:
template<class 形参名 ,class 形参名,…> class 类名
{
... };
-
vector基于数组,那么最糟糕要O(n),set查找,基于树,最糟糕要O(logN),hash_map用hash值映射,计算一次就ok,也就是O(1),deque队列,把尾部指针向next走一个就ok,O(1)
-
C语言常用的头文件
#include <assert.h> //设定插入点
#include <ctype.h> //字符处理
#include <errno.h> //定义错误码
#include <float.h> //浮点数处理
#include <fstream.h> //文件输入/输出
#include <iomanip.h> //参数化输入/输出
#include <iostream.h> //数据流输入/输出
#include <limits.h> //定义各种数据类型最值常量
#include <locale.h> //定义本地化函数
#include <math.h> //定义数学函数
#include <stdio.h> //定义输入/输出函数
#include <stdlib.h> //定义杂项函数及内存分配函数
#include <string.h> //字符串处理
#include <strstrea.h> //基于数组的输入/输出
#include <time.h> //定义关于时间的函数
#include <wchar.h> //宽字符处理及输入/输出
#include <wctype.h> //宽字符分类 -
C语言文件的相关操作
https://blog.csdn.net/paobo/article/details/637080 -
malloc()函数
如何使用?
动态内存分配函数,用来向系统请求分配内存空间。
当无法知道内存具体的位置时,想要绑定真正的内存空间,
就要用到malloc()函数。
因为malloc只管分配内存空间,并不能对分配的空间进行初始化,
所以申请到的内存中的值是随机的,
经常会使用memset()进行置0操作后再使用。
free(a)