C语言:理论知识点
1. && 左边表达式为0,则最后结果为0,右边的表达式不用计算 2. | 左边表达式为1,则最后结果为1,右边的表达式不用计算 3. unsigned 无符号整型 4. int a=4; //二进制: 原码 反码 补码:00000000 00000000 0000000000000100 int a=-4; //二进制: 原码:1000000 00000000 0000000000000100 反码:1111111 11111111 1111111111111011 补码:1111111 11111111 1111111111111100 5.类型强制转化: (类型标志符)被转化的表达式或变量或常数 如:(int)12.34 6.字符型:单引号限制的一个字符:'a' 被转义的三位8进制 '\121' 被转义的二位16进制'\x61' 常见转义:'\0','\n','\t','\b','\f','\\','\'','\"' 标志:%c 长度:1 7.字符型数组==字符串: 多个字符型数据组成,以'\0'字符为结束标志 标志:%s 最短的字符串"\0" 字符型数组保存的是包括第一个结束标志('\0')及左边的字符 8.赋值号=左边只能是变量,不能是表达式或常数 9.标志:字符型 %c 整型int 无符号整型:unsigned int 或unsign 浮点型:%f 双精度浮点型:double 浮点的科学计数法:%e 字符串:%s 8进制:%o 16进制:%x 短整型:%hd (%ho 8进制短整型;%hd 10进制短整型 %hx 16进制短整型) 长整型:%ld (%lo 8进制长整型;%ld 10进制长整型 %lx 16进制长整型) 10.标识符:宏名 变量名 数组名 结构体名 函数名 标识符名称要求:由字母 数字 下划线组成,第一个字符不能是数字,不能与保留字相同 11. switch(表达式){ case 常数1: case 常数2: default: } 表达式只能是整型或字符型, 常数1 或常数2只能为整型或字符型,不能为浮点型等其他类型,不能是变量或表达式 当表达式的值不是常数1或2时,执行default相应的语句;不管选择哪个分支直到遇到break或分支末尾才结束
1.函数原型形式即为函数声明,指明是否有返回值或返回值类型 函数名称 参数个数及类型 分号,对于参数可以只指定类型,不确定参数名称 函数定义,指明是否有返回值或返回值类型 函数名称 参数个数 分别的类型及名称,没有分号,后面是{},括号内是具体功能实现的源代码
#include <stdio.h> main() { int x,y,z; x=0;y=z=-1; x+=-z---y;//z--最优先,左结合:-1,-z:1,1-y=1-(-1)=2; x=0+2=2 printf("x=%d",x); getchar(); }
1.数组名即为数组的首地址,即第一个下标变量的地址 2.转义\右边没有x则为转义8进制数,最多三位,只能由0-7组成 转义\x(X)右边两位16进制数,由0-F 0-f组成 3.常数:015:8进制,0x5:16进制 浮点数的科学计数法表示形式:2.5e-3 2.5E-3 字母e(E)左边必须有数字,右边必须是整数 4.赋值运算符结合性:右结合(有多个时从右向左依次运算) 条件运算符也是右结合,其他是左结合 复合赋值运算:a+=10; 表示:a=a+10; 5.循环体为;可理解为循环,但至少循环占用运算时间 6.do{}while(表达式);至少循环一次,能不能进入第二次循环关键看表达式是否成立 7.条件运算符:条件成立时结果为冒号左边的值,不成立结果为冒号右边的 值 8.函数的递归:自己调用自己,最终有特殊情况能得到具体值; 全局变量:声明在函数的外的变量 静态变量:static (应用上,全局变量与静态变量相同) 自动变量:函数每调用一次,变量即重新初始化一次 函数内部优先使用本函数内声明的局部变量(自动变量)
1.static 全局变量的使用方法相类似,程序运行过程中只初始化一次 自动变量 :当前函数每次使用则相应变量的声明会重新初始化相应的变量 2 case后面只能是常数:整型或字符型 3.continue提前结束本次循环,循环体后面的部分不执行 循环变量增量,再根据条件是否成立来确定是否进入下次循环