C语言知识整理

  1. 编码:

Float编码:高8位存阶码,低24位存尾数

        Int编码:用补码

                                     正数的原码,反码,补码相同

                            例如:7=(0111)

                                     负数的原码-7=(1111)

                                               反码(1000)除了第一个符号位不变,其他取反

                                               补码(1001)反码加一

                   其中,负数的符号位为1,整数为0.

  1. 三目操作符:(a>b)?a:b

式1成立则去式2,否则取式3

  1. switch()

{

           Case 式1:                                         //式1是常量表达式

                    语句序列1;

                    Break;

           Case 式2:                                         //式2是常量表达式

                    语句序列2;

                    Break;

           Default:

语句;                                                                     

}

  1. 递归
  1. 保护现场,把所有信息压栈
  2. 执行,返回

 

递推比递归运行更快。

  1. strcpy 字符串复制

strcmp比较字符串大小

         strlen(“china”)=5;

sizeof(“china”)=6;      //字符串结尾处有\0

8.循环语句

for

while

do while

 

9.指针

  1. 指针存储的是首地址
  2. Int  *pi=NULL;     //指针的初始化
  3. 指针的加减

Pi+1的值与类型有关,int型+4,char型+1

一般用于数组,否则会出现野指针。

10.数组

         对于一个数组a

                   a[el]与(a+el)等价;

         对于指针变量p

                   *(p+el)与p[el]等价

  1. 数组变量a的右值为数组首元素的地址(&a[0])

11.一维数组作为形参会:丢失长度;退化为指针

12.选择排序

13.冒泡排序

14.malloc函数常用方式:

   int *pi=(int *)malloc(2*sizeof(int));

15.链表

  1. 数据域
  2. 指针域
  3. 头指针

16.函数形参出现指针的原因:

  1. 指针指向结构体,提高传参效率
  2. 修改对应实参的值

17.栈:

  1. 只有顶栈可以操作
  2. 先进后出

18.队列:

  1. 队头:允许删除
  2. 队尾:允许插入
  3. 先进先出

19.完全二叉树

  1. N个结点的完全二叉树的深度为:K=|log2 (n)|+1
  2. N个结点的完全二叉树,按层序编号:

i=1,结点i是二叉树的根,无双亲

i>1,其双亲结点[i/2]

如果2i>n,结点i无左孩子,否则其左孩子为2i

如果2i+1>n,结点i无右孩子,否则其右孩子为2i+1

20.前序遍历

21.中序遍历

22.后序遍历

23.堆调整

24.时间复杂度

25.二叉树的深度(N个结点)

         [log2(n)]+1

26.内核空间从内到外:内核,系统调用

   用户空间从内到外:shell/公用函数库,应用程序    (shell和公用函数库在同一层)

  从用户空间跨到内核空间有较大的系统开销

27.文件编程

  文件IO:系统调用次数多,开销大

标准IO:带有缓冲机制

28.网络编程基础

  1. 服务器的IP地址和端口号必须是固定值

29.数据库

         建立和打开数据库:sqlite3 stu.db

         在数据库里建表:>create table student(

                                               >id integer primary key,

                                               >name text,

                                               >sex integer);

         以及其他的插入,查看等操作

30.窗口操作(ncurses)

  1. 创建子窗口
  2. 清空子窗口
  3. 销毁子窗口

猜你喜欢

转载自blog.csdn.net/ShiHongYu_/article/details/81227604
今日推荐