C语言大总结

来源:互联网 发布:守望先锋先锋大神数据 编辑:程序博客网 时间:2024/06/07 11:13

基本语法:关键字、数据类型

C语言的关键字有很多,有ANSI标准定义的关键字有32个,分别是:

auto 局部变量(自动储存)
break无条件退出程序最内层循环
case switch语句中选择项
char单字节整型数据
const定义不可更改的常量值
continue中断本次循环,并转向下一次循环
default switch语句中的默认选择项
do 用于构成do…..while循环语句
double定义双精度浮点型数据
else构成if…..else选择程序结构
enum枚举
extern在其它程序模块中说明了全局变量
float定义单精度浮点型数据
for构成for循环语句
goto构成goto转移结构
if构成if….else选择结构
int基本整型数据
long长整型数据
registerCPU内部寄存的变量
return用于返回函数的返回值
short短整型数据
signed有符号数
sizoef计算表达式或数据类型的占用字节数
static定义静态变量
struct定义结构类型数据
switch构成switch选择结构
typedef重新定义数据类型
union联合类型数据
unsigned定义无符号数据
void定义无类型数据
volatile该变量在程序中执行中可被隐含地改变
while用于构成do…while或while循环结构

基本语句:循环、选择语句

说到循环,我们会想到for、while等,不过这两个有什么联系与区别呢?
以前,我是不太在意这些内容的,因为学的内容简单,一个小小的函数,用两个都能实现,所以就没太注意,不过随着知识面的增加,这个就成了必须掌握的内容了。
当循环次数知道的时候,我们可以使用for循环,这样可以更加清晰的表现出循环的执行过程。
例如:

for(i=0;i<n;i++){……}

这里的n是已知数,循环n次的时候,循环结束。
当循环次数不知道的时候可以使用while

while(i<n){}

当循环满足的时候可以一直执行循环体,不知道总共执行了几次。
不过,一般情况下,可以使用for循环的都可以使用while,不过,为了让循环结构更加清晰还是for好。

数组:概念、多维数组、strlen、sizeof、杨氏矩阵

关于数组所需掌握的很多,数组的初始化,数组作为函数参数,以及数组指针和指针数组的区别等,这些以前都总结过,这里只给出一个链接:
http://blog.csdn.net/jhcconan614/article/details/53034383

至于多维数组,那么可以当成一维数组来看,这样简单而且,多维数组的存储方式,也是按照一维数组的方式来的。
例如二维数组传参会退化成一维数组,这个一维数组中的每一个元素都是一个一维数组。

strlen和sizeof的区别:
http://blog.csdn.net/jhcconan614/article/details/53538339

二维数组中有一个很奇妙的矩阵,就是杨氏矩阵,这个矩阵有一个特点,就是无论从上到下还是从左到右都是递增的,这种情况用来查找某个数最好了,牛客上好像就有关于杨氏矩阵查找的题目:
http://blog.csdn.net/jhcconan614/article/details/53325676

函数:声明、定义、栈帧、库函数

函数的声明和定义:
函数声明表示有这么个函数了,函数定义就是具体实现了。
举个例子:
函数声明:
int fun(int a, int b);

函数定义:

int  fun(int a,int b){      int  c;     c=a+b;     return c; }

栈帧:用逻辑上讲,栈帧就是一个函数执行的环境:函数参数、函数的局部变量、函数执行完后返回到哪里等等。
http://blog.csdn.net/jhcconan614/article/details/53206081

库函数:模拟实现strcpy //strncpy //strcat //strncat //strcmp //strncmp //memcpy //memmove
http://blog.csdn.net/jhcconan614/article/details/53244320

指针总结:

http://blog.csdn.net/jhcconan614/article/details/53230905

预处理:宏定义替换,宏函数,条件编译

http://blog.csdn.net/jhcconan614/article/details/53011071

结构体总结:

http://blog.csdn.net/jhcconan614/article/details/53444634

内存管理:malloc……栈、堆

http://blog.csdn.net/jhcconan614/article/details/53517479

0 0
原创粉丝点击