9的右上角乘法表:
if语句:
布尔变量与零值比较
整型变量与零值比较
浮点变量与零值比较(精度)
指针变量与零值比较(Null)
switch语句中:
每个case语句的结尾加break否则将多分支重叠;
处理完case语句后最后处理default语句(如果在case之后),如果不在case之后就直接退出switch语句
int n=100;
int a[n];这是一种错误的写法,因为n=100只有在程序运行的时候才会赋值,否则里面只有垃圾值。a[n]的长度就成了垃圾值
当需要多重循环从最内层跳到最外层的时候用goto语句
位运算:
1.按位与 :&
格式:x&y
规则:对应位均为1时才为1,否则为0
用途:取(或保留)一个数的某位,其余位置0(清零的作用)
2.按位或:|
格式:x|y
规则:对应位均为0时才为0,否则为1
用途:将1个数的某位置1,其余不变(可以通过按位与来设置多个灯的暗灭问题,保持灯的状况不变为0,想改变就为1)
3.按位异或:^
格式:x^y
规则:相同为0,不同为1
用途:使1个位的某位翻转,其余不变(当掩码为1时,输出原码的反数,为0时输出原码)
4.按位取反:~
格式:~x
规则:各位翻转
用途:间接地构造一个数,增强数据的可移植性
5.按位左移:<<(低位补0,高位溢出)
格式:5<<2
6.按位右移:>>
规则:低位舍弃,高位:对无符号或者有符号正数补0,有符号负数补1
主函数main可带参数
#include <stdarg.h> 定义相关方法
控制函数:
va_list ap;定义变量并初始化
void va_start(ap,last);开始使变量指向可变参数表的第一个参数
type va_arg(ap,type);获取参数,调用函数,并自动指向下一个变量位置
变量作为函数参数单向传递
指针作为函数参数是双向传递
递归函数:直接递归,简介递归(递推,回归)可解决迭代不能解决的问题