C语言 基础理论中易错易忘易忽略知识点 第一节

二进制:Binary        八进制:Octal       十六进制:Hexadecimal           十进制:Decimal

1>   ASCII值:  

 数值小于32   :控制字符

48~57           :数字字符(0 - 9)

65~90           :大写字母(A—Z)

97~122         :小写字母(a - z)

2>  

对于计算机而言,只能识别0和1,使用的是二进制。

定点数即是整数,原码、反码、补码是针对整数而言的,这三类码的最高位为符号位,其余的为数值位。

原码和反码:在对于+0和-0的表示上会产生二义

补码:正数的补码即原码,负数的补码:符号位不变,数值位取反后+1。

正数的表示:三码统一

补码解决了原码和反码对于0的二义性,使数值的存储惟一,所以计算的存储和运算都是补码。

3>  数据类型有:基本类型、构造类型、指针类型、空类型

基本类型  包含:整型(短整型、基本整型、长整型)、实型又名浮点型(单精度型、双精度型)、字符型、枚举类型

构造类型  包含:数组、结构体、共用体

C语言中,不能用二进制来表示常量,只能用八、十、十六进制表示。

实型变量也称为实数或者浮点数,C语言中,实数只采用十进制表示。

单精度变量:float  var;  一个单精度变量占用4 byte;

一个单精度实型单元在接受实数时,只可接受7位有效数字。例如:float  var=1111.11111;存的时候存的是1111.111

双精度变量:double  var; 一个双精度变量占用8 byte;

一个双精度实型单元在接受实数时,可接受16位有效数字。

字符常量只能用单引号括起来,且只表示是单个字符,不能是字符串。

只有在字符常量上加上单引号,才会将其认为是一个字符。注意:单引号是用来表示一个字符常量的定界符。

4>   运算符

在对char型和short型参与运算时,必须先转换成int型。

前缀自加自减单目运算符  ++i:先将变量的值加1,再将变量的值作为表达式的值。(同理 --i)

后缀自加自减单目运算符  i++:先将变量的值作为表达式的值,再给变量加1。(同理i--)

双目关系运算符:>、>=、<、<=、==、!=     (>、>=、<、<=的优先级优于==、!=)

双目算术运算符:*、/、%、+、-   (*、/、%的优先级优于  +、-)

逻辑运算符:逻辑非(符号为:!  )、逻辑与(符号为:&&)、逻辑或(||)

算术自反赋值运算符:*=、%=、/=、+=、-=      

逗号运算符:,   (形式:表达式1,表达式2):先计算表达式1的值,再计算表达式2的值,整个表达式的值等于表达式2的值

注意:只有变量才可进行++,--的单目运算,且单目运算符的结合方向是 自右向左(从右边逐渐向左边结合的方式),

优先级为:后缀单目优于前缀单目(即i++的优先级高于++i),双目运算符低于单目运算符(其中  双目关系运算符  低于  双目算术运算符)

逻辑与(!)为单目运算符:结合方向为自右向左,优先级和前缀单目运算符(++i,--i)优先级一样

逻辑运算符(只针对&&、||)优先级低于双目运算符

其中逻辑与(&&)优先级优于逻辑或(||)

猜你喜欢

转载自blog.csdn.net/czy47/article/details/81013028