c primer读书笔记

一些总结性的东西,放到这里算是个备忘吧~

一、基础知识

RISC CISC

CPU从存储器取值并执行

定义程序目标---设计程序---编写代码---编译---运行程序---测试、调试---维护升级

             源代码---目标文件----可执行程序

二、C语言概述

         注释方法: //  /* */ 

         预处理器指令

         函数

三、数据格式

         Long short char    float double  signed unsigned

         实际应用中,往往会使用一个头文件进行数据类型的定义,

         溢出:超出数据类型的表示范围

四、字符串与格式化输入输出

         字符串:以空字符‘null’结尾

         常量的两种定义方法:#define  const  ,往往使用大写名称

         Printf()返回打印字符的个数,可以用来检测程序是否运行正确?

         Scanf()返回成功获取的字符个数,

         对于printf()而言,当打印浮点数据时,在参数传递时,float类型会自动转换为double型,所以只需要一种数据说明符%f    %Lf代表long double

         对于scanf()而言,说明符只需要和后面的变量保持一致即可,%f用于float %lf用于double

 

 

五、运算符,表达式,语句

         操作数,左值,右值;

实参,传递给函数的具体值

形参,函数定义中的参量,本身并没有具体值

 

函数声明  函数调用  函数定义

        

六、控制语句循环

         While

         For

        

 

七、分支和跳转

         If

         Switch

        

八、字符输入\输出

                  Getchar()  putchar()

                   输入输出重定向

         九、函数

                   指针作为函数参数

                      函数定义:func(int* u, int * v )  函数使用:func(&a,&b)

                   递归的一个用处:反序问题

         十、数组,指针

                   数组的初始化

                   指针在未初始化时,指向一个未知的位置,此时不能使用

       指针加一是对该指针增加一个存储单元的值。

 

                          

                   函数中对数组的调用,  变长数组。  函数对数组的处理实际上是通过指针。

                  

多维数组的概念,  指针的指针

                   多文件编译时头文件的写法。

         十一、字符串和字符串函数

                   字符串是以’/0’结尾的字符数组,处理方式是利用指针

                   Gets()  puts() fgets()  fputs()

                   字符串处理函数string.h    strlen() strcat()  strcmp()   strcpy() 

                   字符串转换为数字stdlib.h  stoi()

                   带参数的main函数

         十二、存储类、链接和内存管理

                  Scop linkage  storage duration

                  五种存储类

                   Malloc()free() calloc()

                   Constvolatile restrict

         十三、文件输入、输出

                   主要是介绍了一些标准输入/输出函数,以及一些对文件的操作函数。

                   fopen(char*filename, “mode”)     fclose(file *fp)

                   fprintf(file*fp, char *ch,var )      fscanf(file *fp,“”,)

                   fseek(file*fp, long offsetSEEK_SET/SEEK_CUR/SEEK_END)         ftell(file*fp)

                   fwrite(constvoid *restrict ptr,size_t size, size_t nmemb,FILE *restrict  fp)

                   fread(constvoid *restrict ptr,size_t size, size_t nmemb,FILE *restrict  fp)

                   intsetvbuf(FILE * restrict fp, char * restrict buf, int mode(_IOFBF/_IOLBF/IONBF),size_t size);

                  

         十四、结构变量

                   结构声明structstr{}  变量声明structstr var  结构变量使用:var.mem1;

                   结构数组

                   嵌套结构

                   结构指针运算符->  (结构指针不能直接初始化,需要指向一个已经定义了的结

构变量?) 

                   函数指针可以调用结构,可以调用结构指针,也可以返回结构,结构指针

                   malloc()在结构定义中的使用

                   伸缩型数组成员

                   Freadfwrite 读写结构型变量

                   Unionemun

                    typedef

                   函数指针,函数作为参数

 

         十五、位操作

                   C语言提供对每一位的操作手段,主要是两种,位运算和位字段,主要用途是控制

硬件寄存器

                   前者是利用位运算符完成操作,后者是定义一种结构。结构成员占用以位为单位的

                            空间,通过访问结构成员来完成对位的控制。(Cunsign int 作为为字段的存

储单元,即32位。)具体细节暂不深入

                  

         十六、C预处理器和C

                   预处理器指令

                  

 

                   一些常用函数

                   内联函数

                   可变参数的函数

         十七、高级数据结构

                   链表队列二叉树

                   使用结构来表示数据。

                   ADTAbstact datytypes

                   用法:用抽象化、一般化的语言区描述一种类型;设计函数接口;写细节代码。

                                     面向对象语言使用ADT较为方便。

 

                   一种思想:构建不透明的接口,(黑盒子)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值