Day3
C语言中常用到的命令:printf(打印函数)、scanf(输入函数)、getchar、putchar。
运算符:算术运算符(+、-、*、/、%),自增自减运算符(学会区分++a和a++)关系运算符(比较大小),逻辑运算符(与或非),逗号运算符,赋值运算符(把b的值付给a:a=b)、(a+=b即为把a+b的值赋给a),sizeof(他不是函数是运算符!)(只求内存大小),条件运算符(三目运算符:表达式1?表达式2:表达式3),位运算符。
C语言中的语法结构:顺序结构、分支结构、循环结构
分支结构:if 、if else 、嵌套if;switch…case(要用到break来跳出)
循环结构:while循环、do…while循环、for循环、goto(他是用来跳转,自身不是循环,可以用来实现循环)
辅助控制关键字:break(用于跳出一个循环体或者完全结束一个循环)、continue(跳过本次循环体中剩下尚未执行的语句,立即进行下一次的循环条件判定)
数组:一维数组、二维数组、冒泡排序、数组的逆置
String函数族:
Strlen:求字符串真实的长度,不包括'\0';
strcpy ----->字符串拷贝;把src字符串拷贝到dest字符串中,覆盖原有的内容,dest字符串必须足够长
strcat---->字符串拼接;实现两个字符串的拼接,把src的每一位,拼接到dest后面,dest需要足够大。
strcmp---->字符串比较函数;int strcmp(const char *s1, const char *s2); 从两个字符串中的第一个字符开始比较,如果两个字符相等,就一直向下比较,如果碰到不等的两个字符,就返回s1-s2的差值,结束函数
bzero----->置0;void *s:要置0的空间的地址,现阶段理解为字符数组的名 size_t n:要给多少个字节置0
memset---->内存置位;void *memset(void *s, int c, size_t n);void *s:要置位空间的首地址;int c:要置为什么数;size_t n:置多少个字节
指针:
日常说的指针,指的是:保存地址的变量/指针变量
地址:内存地址;指针:指针变量
*:只有在定义指针变量时,表示定义的是一个指针变量其他时候,都表示取地址中的内容,解引用 (*前面是否有数据类型)
&:用于取变量的内存地址,按位与运算。
指针和一维数组相结合:
int arr[6]; //定义了一个能存6个整形数据的数组arr
int *p; //定义了一个指向整形数据的指针p,没有给p指向
//如果想让一级指针指向一维数组,需要保证数组的数据类型和指针数据类型一致
p = arr; //让指针p指向数组arr