1.掌握各种数据类型的表示范围,清楚表示范围的求法(最高位为符号位)
数据溢出的处理: 数据大于最大表示范围,减去数据表示范围总数量
数据小于最小表示范围,加上数据表示范围总数量
char(1字节=8位) 2^8=256 -128~127(-2^7~2^7-1) unsigned char 0~255(0~2^7-1)
short(2字节=16位) 2^16=65536 -32768~32767(-2^15~2^15-1) unsigned short 0~65535(0~2^16-1)
运算符优先级: 单目>算术>左移、右移>关系>按位与、按位异或、按位或>逻辑(&&,||)>条件运算符>赋值>逗号
取反公式及原理: ~n=-(n+1) 先取补码,补码取反再取补码 即为原码
右移公式: 正数右移m位 运算结果为 n/2^m;
负数右移m位 没有余数运算结果为 n/2^m 有余数运算结果为 n/2^m+1
2.掌握整型提升:bool、char、unsigned char、short、unsigned short、int、unsigned int运算时,
自动提升为int型或者unsigned int型
3.了解自增自减运算符前后置的区别: 效率(前置高于后置) 优先级(后置高于前置)
4.了解运算符的类型并区分:
算术运算符 + - * / %
逻辑运算符 && || ! (&&和||的区别)
关系运算符 > >= < <= == !=
位运算运算符 & | ~ ^ >> << (二进制补码才能进行位运算)
赋值运算符 = (右结合性 从右往左运算) “复合赋值运算符”
自增自减运算符 ++ --(前置、后置)
条件运算符 a ? b : c
逗号运算符 a,b,c (从左往右依次运算,c是整个表达式的值)
求字节运算符 sizeof()
5.了解自增自减运算符前后置的区别: 前置先自增/自减,再运算 后置先运算,再自增/自减
6.数据溢出、条件运算符、关系运算符、自增自减运算符的综合
条件运算符 a ? b : c 表达式a为真执行表达式b,反之
逻辑运算符 a&&b 若表达式a为真,继续执行表达式b,b表达式为真,输出1,反之
若表达式a为假,不执行表达式b,直接结束输出0
a||b 若表达式a为假,继续执行表达式b,b表达式为假,输出0,反之
若表达式a为真,不执行表达式b,直接结束输出1
7.运算符优先级:
单目>算术>左移、右移>关系>按位与、按位异或、按位或>逻辑(&&,||)>条件运算符>赋值>逗号
此题没有打括号,位运算符左移优先级“<<”比关系运算符“==”高 不能输出理想的结果 运算报错
8.算术运算符 “/” 和 “%” 的区别:
除法 “/” 截断取整 运算结果符号和运算法则相同 1/2=0 2/-1=-2
求余 “%” 运算结果符号与被除数有关 -1%2=-2 1%-2=1
9.位运算的一些特殊用处:
右移“>>” 二进制数最高位为符号位 x>>31?"负数":"正数"(不用关系运算符判断一个整数是正数还是负数)
10.定义两个整型变量,不使用第三个变量,交换两个变量的值:
(1)x=x+y
y=x-y
x=x-y
(2)x=x-y
y=y+x
x=y-x
(3)x=x^y
y=x^y
x=x^y
0.0分
2 人评分
点我有惊喜!你懂得!浏览:1437 |
妹子杀手的故事 (C语言代码)浏览:737 |
2005年春浙江省计算机等级考试二级C 编程题(3) (C语言代码)浏览:417 |
Hello, world! (C语言代码)浏览:1315 |
字符串输入输出函数 (Java代码)浏览:1498 |
C语言程序设计教程(第三版)课后习题6.11 (C语言代码)for循环浏览:1178 |
C语言训练-计算一个整数N的阶乘 (C语言代码)浏览:986 |
C语言程序设计教程(第三版)课后习题10.5 (C语言代码)浏览:566 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:583 |
printf基础练习2 (有点不明白)浏览:887 |