1.二维数组
二维数组:数组里面的元素是数组(类似于矩阵)
数组行列定义和计算
2.按顺序打印数组每一位
除以十取模
num% 10;
num/10%10;
位数不确定:
while(temp!=0)
{
position=temp%1;
printf("%2d",position);
temp/10;
}
3.操作符小点:
字符串()结尾标识\0
字符串长度不包括\0;
计算字符串长度:
int strlen(char arr[])
{
int length,i=0;
while(arr[i]!='\0')
{
length++;
i++;
}
return length;
}
地址变量(*p)无论字符类型(int,float...) ,都只分配8个空间(在x64的格式里)、
易错辨析:
printf("%d",printf("123"));
因为 printf有返回值,长度为3,返回为3
输出结果1233
4.正数的原码,反码,补码一样,内存存的都是补码
负数:第一位为符号位(1)(代表负数);
0代表正数,
反码:符号位不变,其他位取反
补码:在反码基础上+1
按位与&:相同为1
异或:不同为1,相同为0
例题:统计二进制中1的个数
逗号表达式:从左至右依次进行,最后一个表达式为最终结果
函数可以互相嵌套调用,不能嵌套定义
结构体是一种自定义的数据类型,复杂数据类型
插入排序法:1.对入参进行判断
2.遍历待插入元素 (无序区)
3.与有序区元素进行比较
将数字转化字符串,用到函数sprintf
6.复杂表达式的求值:1.操作符的优先级
2.操作符的结合性
3.是否控制求值顺序
C语言标准规定长度:char <=short int <=int
整型提升:C的整型算术运算总是以缺省整型类型的精度来进行的。为了获得这个精度,表达式
中的字符和short操作数在使用之前被转换为普通整型
算数转换:如果某个操作符的各个操作数属于不同的类型,那么除非其中一个操作数转换为另一个操作数的类型,否则
操作就无法进行。