\r回到起始位置,其后会覆盖其前面的东西。

\r \n \t 空格:这四个是不可见的字符。

多个相同名称的变量,访问的是上层最近的变量。

全局变量初始值为0;局部变量初始值为随机值。


两个函数名相同并不影响正常使用。

函数参数的默认值:

等价于上图。

 

第14行不知道调用哪一个plus,所以会报错。



Plus中的2不确定对应b还是c,所以会报错。
那么我们应该把有默认值的变量放到没有默认值的变量后面。



第11行的a和第5行的a不是一个a;
所以四个a输出的值分别为:1 1 2 1。



加一个“&”使得第5行和第11行的a同一个a。
所以输出的四个a就变为:1 1 2 2。


所有在局部变量中开的数组,都会放入栈空间中。


Char的范围:-128到127;
0-127是ASCII码;
-128到0是其他字符。



Cmath库中的
Pow(5,3)的结果应该为125.0(实数)。


类型转换:从较低级类型转化为较高级类型。


double;long long;int;char;bool;:从高到低的等级类型。


强制转换:

比如 用“1ll*”强制转换成long long 形式中。



结构体 构造函数。
函数名必须和结构体名相同。
要想写有参数的构造函数必须先写无参数的构造函数。
调用函数的时候,函数参数的类型不能是数组。而结构体可以作为函数的参数。

数组在结构体里面被函数调用。&会使得速度更快。


重载运算符:


使得:jgt c=a+b变成正确的。

 

Printf(“8.lf”):保留小数点前8位。

 


long long int:scanf和printf中的占位符如上图。


如果是WIN32位的系统,用“LL”代替“%I64d”;
如果不是,用“LL”代替“%lld”。



8d前有空格,意思是:如果输出前不满8位,用空格补齐。


Cout换行用“\n”比endl快很多。


Scanf输入,cout<<”\n”输出快。嗯嗯。


读的更快,‘0;’后面的‘.’去掉。


fread读得比这个还快。。。。

 

位运算符:& | ^ << >>
&:只有当两边都是1的时候,得到的结果才是1.否则为0.
如9=1001,12=1100.
9&12=1000=8.
|:易知。9&12=1101=13。
^(异或):如果左边的数和右边的数不同的话,则是1.否则为0。
如:9^12=1001^1100=0101.
<<(左移):0110左移后变成1100. 1<<j=2^j
左移运算符:在没有溢出int的情况下,左移y位,相当于x×2^y。
>>:右移 同理:右移y位,相当于x|2^y。


运算符中最快的是 !.
其次是&& 和||。
再次> < >= <= == != & ! ^ << >>
然后 + -.
继续 *
最后 ÷和%。

例子.。。。

 

posted on 2019-07-15 11:31  Allen_lml  阅读(137)  评论(0编辑  收藏  举报