算法笔记——第一章与第二章:C/C++基本语法

第一章:没有内容

第二章:C/C++基本语法

1:int类型

取值范围:-2^31——2^31 - 1;

大致范围:-2x10^9 ~ 2x10^9;

注意:int + int 以及 int * int 这两种运算是容易超过int范围的。

2:long long类型

取值范围:-2^63——2^63 - 1;

大致范围:-9x10^18 ~ 9x10^18;

注意:如果对long long 类型的变量赋值大于2^31 - 1,则需要在常量后面加上LL(例如: 999999999999999LL),否者编译错误

scanf:%lld;printf:%lld

3:float类型

范围:-2^128 ——  2^128;

实际精度:6~7位

4:double类型 

范围:-2^1024 —— 2^1024:

实际精度:15~16位

scanf:%lf;printf:%f

经验:一般碰到浮点数就使用 double 类型, 不推荐使用 float

5:符号常量和const常量

#define 标识符 常量                             // 这是符号常量,就是宏定义

const 数据类型 变量名 = 常量;          // 这是const的常量,也叫作常变量

经验:define的宏定义用处很多,例如:#define ADD(a, b) ((a)+(b))

6:位运算

<<:左移;     >>:右移;    &:位与;     |:位或;     ^:位异或;       ~:位取反

7:scanf

7.1:除了 %c 以外,其他的输入格式会以空白符(空格、换行等)为结束标志;下次继续输入时会自动跳过空白符

7.2:根据7.1,%s 也是以空白符为结束标志的

7.3:%c 是可以读入空白和换行的

7.4:如果想输入一行的话:

         使用 gets 输入 或者 使用  char str[100]  cin.getline(str, 100):这是针对字符数组

         如果是string类型,则可以string str str.getline()

         上面的 gets / cin.getline() 以及 str.getline() 都是识别换行符为结束标志的,所以如果在此之前有使用scanf或者cin                     输入,这里再使用整行输入之前,应该先使用getchar()将前面的换行符给吃掉

7.5:%lld     %lf

8:printf

8.1:%md 可以使不足m位的int型变量以 m 位输出,进行右对齐,其中高位不足的地方用空格补齐;如果超过m位,保持原长度

8.2:%0md 和上面一样,只是这里面使用 0 进行补齐操作

8.3:%.mf 可以保留 m 位小数,四舍五入

9:getchar()和putchar()

有时使用scanf 和 printf 输入和输出单个字符不是很方便,所以使用这两个函数,有时会比较方便

10:typedef

能给复杂的数据类型起一个别名:typedef long long LL

11:math中常用的函数

fabs(double x);floor(double x);ceil(double x);pow(double x, double p);sqrt(double x)

log(double x):这是自然对数;sin(double x);cos(double x);tan(double x)

asin(double x);acos(double x);atan(double x);round(double x)

12:memset

memset(数组名, 值, sizeof(数组名)):包含在 cstring 头文件里面

注意:memset是按位赋值,所以只能赋值 0 或者 -1      想赋值其他值,一般使用 algorithm 中的 fill 函数

13:cstring 中的常用函数

strlen();strcmp():函数返回的是 小于0的某一个数 或者是 大于0的某一个数 或者是 0

strcpy();strcat();sscanf();sprintf()

14:结构体的初始化

可以对结构体中的元素逐一赋值

更好的一种方式是写构造函数

注意:自己写构造函数的时候,也一定要再写一下默认构造函数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值