一、C语言结构概述
如下就是一个最简单的c语言程序;
语法错误(好处理):1.结尾少分号 2.main->mian
逻辑错误(非常难处理): 1.编译器发现不了 结果还不对
就例如这种情况,编译器本身不报错,结果可以运行,但是结果错误。
二、运算符:
1.( )小括号,提升优先级和函数 {[2+(3+4)]*6} (2+(3+4))*6
2.!(非) && ||, (语句1&&语句2)两个都为真,结果才为->真 (语句1||语句2)有一个为真->则结果为真
非0:真:1
0:假:0
3.位运算符 对二进制操作 ~& | ^ << >>
假设一个数是一个字节 字节(内存存储的最小单位) 1字节=8位 1byte=8bit
12 -> 0000 1100
13 -> 0000 1101
~12 -> 按位取反 1111 0011
~13 -> 按位取反 1111 0010
12&13 ->按位比较 两个都为1才为1 12&13->0000 1100
12|13 ->按位比较 两个只要有一个为1就为1 12|13->0000 1101
12^13 ->按位比较 两个一样为0 不一样才为1 12^13=0000 0001
12<<1 ->左移1位, 左边挤出去,右边空出来的全部填0 12<<1 = 000 11000 = 24
12<<2 -> 00 110000 = 48=12*4 向左位移1位相当于值*2
12>>1 ->右移1位,右边挤出去,左边空出来填符号位 12>>1 = 00000 110 = 6
12>>2 -> 000000 11=3 向右位移1位相当于值/2
4.++ --
前置++ 前置-- 后置++ 后置--
5.类型转换符(强转)
6.sizeof 求变量大小(字节)
7.<= >= 不要连续比较
8.== 等于 =->赋值符号 和数学上等于号区分开
9.?= 三目运算符 语句1?语句2:语句3 如果语句1为真 则执行语句2 如果语句1为假 则执行语句3
10:复合型运算符 += -= /= *= %= &= <<= >>=