个人各种出现过的易错易忘知识集锦

1.定义在for循环语句中的变量属于局部变量

2.一个大于1的整数,如果除了1和它自己之外,再也没有其它的因子,这个整数就叫做质数;0与1不是质数

3.条件语句中使用 '^'符号带上你的小括号!(不然比个球球)
实质上是‘= =’的优先级高于位运算符(&,|,^,>>,<<,~)

4.ll(long long)定义了一个变量,当它等于几个int型变量运算结果时,即使数据未超过ll范围,也可能爆掉,解决方法:强制转换或者更改使数据类型一致。不仅仅是ll,当一个变量等于一个等式时,等式左右涉及的变量范围和类型如果不一致也一样可能会出错。

5.输入数据有多组的字符数组的时候,如果以断行结束,可以通过判断数组长度是否为0来判断。

6.排序时求最小交换次数即为求逆序数对数

7.unique的作用是“去掉”容器中相邻元素的重复元素

8.lower_bound( begin,end,num):从数组的begin位置到end-1位置二分查找第一个大于或等于num的数字,找到返回该数字的地址,不存在则返回end。通过返回的地址减去起始地址begin,得到找到数字在数组中的下标。

upper_bound( begin,end,num):从数组的begin位置到end-1位置二分查找第一个大于num的数字,找到返回该数字的地址,不存在则返回end。通过返回的地址减去起始地址begin,得到找到数字在数组中的下标。

9 一定注意数据范围

10 对于scanf("%d %c"…) 中的‘ ’(空格符号)
可以启到分隔字符型数据与整形数据的作用
类似输入时间日期时的‘ : ’ , 输入分数时的’ / ’

11 所谓加权求和,用的是乘以权重再求和(阿西吧!!!!)

12 模拟题就一步步来,规律画图题就对比数据特征

13 %输出方法:%%

14 整形数组输入必须有空格隔开

15 小心关键字(例index)

16 0,1不是素数

17 longlong 输入一定用%lld,不然乱码

18 右对齐:%xd
左对齐:%-xd

19 多组数据,并且用%s输出时,需要清空数组,如果前一组数据太长,会把末尾遗留给后面的数据

20 进制准换
十进制转R进制,不停用十进制的数对R进行取模再自除R
M进制转R进制,M——>10——>R
R转10进制:直接展开

21 输入包含字符和换行,利用好getchar()吸收字符

22 * 的作用
在scanf中使用,则添加了 * 的部分会被忽略,不会被参数获取%*d,%s
在printf,以
作为变量控制输出格式:

%Ns  ( "%* s",N,a ):   至少输N位字符串,超长不截断,不足右对齐
%-Ns :                至少输N位字符串,超长不截断,不足左对齐
%N.Ms:("%*.*s",N,M,a) 至少输N位字符串,超M截断  ,不足右对齐
%-N.Ms:               至少输N位字符串,超M截断 ,不足左对齐
* 代替变量

23 字符数组b[M],令b[M]=0,可以截断输出,等价于b[M]=’\0’

24 判段1/n是否是无限循环小数
若:n的因子只有1,2和5,那么1/n不是,反之n如果有其他因子

25 c语言的全局变量在没有赋值前默认为0

26 对存在负数取模结果最好:(x+mod)%mod

27 n个人选m种不同方案,共m^n 种情况数

28 c语言取整方法:

1、直接赋值给整数变量。如:    int i = 2.5; 或 i = (int) 2.5;    这种方法采用的是舍去小数部分。    
    
2、C/C++中的整数除法运算符"/"本身就有取整功能(int / int),而下面介绍的取整函数返回值是double。
    整数除法对正数的取整是舍去小数部分,但是整数除法对负数的取整结果和使用的C编译器有关。      

3、使用floor函数。floor(x)返回的是x的整数部分。如:    floor(2.5) = 2    floor(-2.5) = -3    

4、使用ceil函数。ceil(x)返回的是不大于x的最小整数。如:    ceil(2.5) = 2    ceil(-2.5) = -2    
    floor和ceil对于正数没有区别,但是对于负数结果不同。
    floor()是向负无穷大舍入,floor(-2.5) = -3ceil()是向正无穷大舍入,ceil(-2.5) = -25round(x)返回x的四舍五入整数值。(int型)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值