c语言常用语句
gets() \\输入字符串,直到遇到回车(不读入回车)
puts() \\输出字符串,直到遇到回车(不读入回车)
getchar() \\输入单个字符串,等待回车结束
putchar() \\输出单个字符,等待回车结束
strlen(p) \\从内存的某个位置(p所指的位置)开始读取,直到遇到'\0'
strlen 是一个函数,不读取结束字符
sizeof 是一个单目运算符,包括结束字符
exit() 用于在程序运行时随时结束程序,参数返回给OS
exit(1) 异常退出, exit(0) 正常退出
return \\语言级别,是一个函数,表示调用堆栈的返回
exit \\是系统级别,是一个函数,表示一个进程的技术
数组
int a[][4]={0,0}
二维数组初始化时第一维可省略,第二位不可省略,该二维数组的行数为列数(4)除初始值个数(2)的商向上取整,即2%4=1
对于数组 int a[m][n]
a 表示 a[0]的值
a+i 表示 a[i]的地址
*(a+i) 表示 a[i]的值
*(a+i)+j 表示 a[i][j]的地址
((a+i)+j) 表示 a[i][j]的值
接口
接口是只包含纯虚函数的抽象类,接口的作用是创建派生类
虚函数是定义在基类中的函数,没有函数体,只供子类覆盖调用(无论是通过指针调用还是直接调用)
Virtual void test()
纯虚函数没有函数体,定义的时候要加上"=0"
Virtual Void test()=0
包含纯虚函数的类称为抽象类,抽象类无法实例化对象,对于抽象类的子类来说,只有把抽象类中的纯虚函数全部实现之后,这个子类才能实例化对象
容器
容器分为顺序容器:Vector、List 和deque(双向队列)和关联容器: set,multiset,map和multimap
顺序容器中元素按顺序存放
关联容器中元素按key排序
set(集合),有红黑树实现,其内部元素依据其值自动排序,每个元素只能出现一次
multiset 和set相同,但是允许重复的元素
map 元素是键对应实值得组合,每个元素都有一个键,每个键只出现一次,主要用于资料一对一映射的情况
容器适配器:使容器有各种表现方式
stack 后进先出
queue 先进先出
priority_queue自己定义元素的优先权
常识
全局变量或静态标量未初始化时自动为0
局部变量未初始化时为随机数
printf打印需求的数据类型
printf("%-30.4f",x)\\表示左对齐30个字符,4位精度,浮点型数据
\\%f以浮点型输出,%以指数形式输出实数
A%B A和B都要是整数
free()和malloc()函数配对使用
free(p),如果p是NULL指针,无论free几次都没事,如果p不是NULL指针,连续两次free会报错
野指针指向一个已删除的对象或未申请的访问受限内存区域的指针
数据存放方式
大端模式:数据低位放在内存高位
小端模式:数据低位放在内存低位
数据 高<------低
内存 低------->高