一、算术运算
1.算术符号:+ - * / %
/ :a. 除数不能为0. b.两个整数相除,结果是整除(保留整数)
%:a.和 / 类似 除数也不可以为0 b. 判断奇偶,对2进行取余,结果1为奇数 0为偶数 c.对n求余数结果一定在0-100中间
++:自增运算符 //运算数需要左值
--:自减运算符 //运算数需要左值
左值 右值:能被定位到的 ---左值---变量,不能被定位到的---右值---常量或者表达式
2.i++与++i区别
3.贪心原则:
系统会从左到右逐个字符扫描使字符对应的运算符能更多的结合成c的运算符。
注意:printf(%d,%d\n",i,i++) //因为i++ ,++i的自增时间点没有明确的规定,总之,不要写别人看不懂也不知道系统会怎样执行的程序。
二、赋值运算(a = 10)
1.不同精度类型的混合赋值:
长类型--->短类型 会产生高位截断
短类型--->长类型 a.有符号的短类型作符号位扩展 b.无符号短类型高位补0
浮点数给到整型变量中,此时精度丢失
2. += -= /= ......
a+=1 // a = (a+1) (这样写是为了简洁)
3. 逗号运算(优先级最低,必要时结合括号提升优先级)
形式:表达式1,表达式2,......表达式n
规则: 依次求解表达式1到n
结果:最后一个表达式求值的结果
三、输入输出
1.语句
控制语句、函数调用语句、表达式语句、空语句、复合语句。
2.输入和输出
输入设备---运算器+控制器---输出设备
存储器
输入----->内存----->输出
3.函数
a.putchar getchar
功能:输出单个字符
参数:@c 要输出字符的ASCII 码值
返回值:成功返回输出了的字符的ASCII码值,失败 EOF