字符串的结束标志是:'\0' '\0'-> 转义字符-0 0 ->数字0 '0' ->48 EOF - end of file-文件结束标志是: -1

int main()
{
	int arr[] = { 1,2,3,4,5,6 };//6*4=24  -->int[6]
	printf("%d\n", sizeof(arr));//计算数组大小,单位是字节
	printf("%d\n", sizeof(arr)/sizeof(arr[0]));//6

	return 0;
}

//原码,反码,补码 // ~ --按位取反

int main()
{
	int a = 10;
	int b = a++;//后置++,先使用,再++
	//int b = ++a;//前置++,先++,再使用
	//int b = a--;//后置--,先使用,再--
	//int b = --a;//前置--,先--,再使用
	printf("a = %d b = %d\n", a, b);

	return 0;
}

// &&逻辑与 // ||逻辑或

关键字

auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while

1.typedef-类型定义-类型重定义

2.static

//1. static 修饰局部变量 //局部变量的生命周期变长 //2. static 修饰全局变量 //改变了变量的作用域 - 让静态的全局变量只能在自己所在的源文件内部使用 //出了源文件就没法再使用了 //3. static修饰函数 //也是改变了函数的作用域--不准确 //static修饰函数改变了函数的链接属性 //外部链接属性 -> 内部链接属性

static int a = 1;//a 是一个静态的局部变量

3.extern -声明外部函数

4.define

//#define 定义标识符常量 //#define MAX 100 //#define 可以定义宏-带参数

结构体

//. 结构体变量.成员 //-> 结构体指针->成员

语句

//if... //if... else... //多分支 if... else if... else...

 int main()
 {
 	int num = 4;
 	if(5 == num) //常量变量比较时,常量放到变量左边
 	{
 		printf("hehe\n");
 	}
 	//if(num = 5)// = 赋值, == 判断相等
 	//{
 	//	printf("呵呵\n");
 	//}
 
 	return 0;
 }

//while

//switch(a) //()必须是常量/常量表达式

//for

//建议: //不可在for循环体内修改循环变量,防止for循环失去控制 //建议for语句的循环控制变量的取值采用“前闭后开区间”写法

//for循环的初始化、调整、判断 都可以省略 //但是:for循环的判断部分 如果被省略,那判断条件就是:恒为真

int sz = sizeof(arr) / sizeof(arr[0]);//计算元素个数

//折半查找算法/二分查找算法

int main()
{
	int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
	int k = 7;//要查找的数字
	int sz = sizeof(arr) / sizeof(arr[0]);//计算元素个数
	int left = 0;//左下标
	int right = sz - 1;//右下标

	while (left<=right)
	{
		int mid = (left + right) / 2;
		if (arr[mid] > k)
		{
			right = mid - 1;
		}
		else if (arr[mid] < k)
		{
			left = mid + 1;
		}
		else
		{
			printf("找到了,下标为:%d\n", mid);
			break;
		}
	}
	if (left > right)
	{
		printf("找不到\n");
	}
	return 0;
}