循环结构:
while语句, 判断为真则执行下面语句
for(表达式1;表达式2;表达式3)
执行语句
表达式1:起始条件
表达式2:判断条件
表达式3:自处理语句
过程:先赋予起始条件,判断表达式2的条件,若符合则执行执行语句,接着条件自处理再判断表达式2的条件,符合则接着执行执行语句,知道符合表达式2的条件则退出循环。
tips:多重循环尽可能将长循环置于内层
数组:
tips:数组一旦被赋值,则未被赋值的数默认为0,若未被赋值,则所有数都为随机值
对于一维数组,a:数组首元素地址 &a:数组地址 *=[ ]
对于二维数组,a[0]=*(a+0) a[1]=*(a+1)
a:首行地址 +1则加一行
&a:数组的地址 +1则换走出数组换到下一个地址
a[0]:数组首元素地址 +1则为下一个元素地址
strcat(字符串1,字符串2) 将字符串2接在字符串1后面(字符串参数为地址)
strcpy(字符串1,字符串2) 将字符串2覆盖字符串1
strncpy(字符串1,字符串2,n) 将字符串2的前n个字符复制到字符串1上,逐个覆盖,若不能覆盖完则保留字符串1上未被覆盖的字符
对于字符数组例如:str[20],str=“china”是不合法的,str[20] ="china"才合法,地址不能赋值给地址
strcmp(字符串1,字符串2)比较字符串1与2,逐个比较,若大于则输出大于零的数,等于则输出0,小于则输出小于零的数
strlen 求字符串长度
函数:
自定义函数:
函数返回值类型 函数名(形参说明表)
执行函数步骤:
1.通过函数名找到函数入口
2.给形参分配空间
3.传值
4.执行函数体
5.返回(有的函数无返回值)
6.释放空间
存储空间:栈空间 栈空间分为:数据段、代码段、栈空间、堆空间
代码段:代码、常量
栈空间:局部变量
数据段:全局变量,static修饰的变量
数据修饰:
extern:声名外部变量,、在一个文件中声名另一个文件中的变量
static:修饰全局变量时,改变全局变量作用域,使其只能在本文件中使用
修饰函数时,函数只能在本文件中使用
修饰局部变量时,改变变量生命周期,直到程序结束才被释放空间
预处理:头文件展开
例如#include<stdio.h>或“stdio.h” ,尖括号指在系统指定目录下寻找文件,双引号指在当前目录下找文件