C语言基础学习第一天,数据类型和词法符号

1.计算机数据表示形式

1.1数值型数据

        十进制、二进制、八进制、十六进制

1.1.1 十进制转二进制

1.短除法:将十进制数对2进行取余运算,得出的余数倒序,就是十进制的二进制表达。

例如:14转化为二进制,14/2=7...0   7/2=3...1   3/2=1...1  1/2=0...1

           我们能看到余数是0、1、1、1,倒序为1110,1110就是14的二进制表达。

2.8421凑数法:四位二进制数据,从左往右每一位数字代表的最大值分别为8、4、2、1。通过将十进制数拆分,在转化为二进制。

例如:还是用14举例,先从最大的数字8入手,慢慢往下减,14-8=6,6-4=2,2-2=0

            所以14可以分为8+4+2+0;

             8   4    2    0

             1    1    1   0

              所以,14的二进制表达式为1110;

3.电脑自带计算器,什么时代了,还在(       )。

在计算器中打开程序员模式,其中BIN代表二进制,OCT为八进制,DEC为十进制,HEX为十六进制。

1.1.2 二进制转八进制、十六进制

这个就比较简单了

三位二进制对应一位八进制

比如  100101, 从右往左数,以三个为一组,分完之后为  100  和 101,他们转换的数值为4和5,那么八进制就为45

四位二进制对应一位十六进制,这个和上面原理一样,感兴趣可以自己动手算一算。 

1.2非数值型数据

        通过man手册我们可以看到许多非数值型数据,其中ASCII码是非常重要的,通过它我们能够知道一些字符的十进制数,这对于字符与整形之间的转换很有帮助。

         我截取了一部分ASCII码表,其中最为常见的是 ' \0 '  ,  ' \n '  ,  数字0-9,字母a-z 以及大写A-Z。

2.词法符号

2.1关键字

  • 存储类型:auto,static,exterm,register
  • 数据类型 : char,int,float,short,long,double,signed,unsigned
  • 分支: if , else , switch , case , default , for,do while , go to ,break , continue
  • 其他: void , const ,sizeof ,volatile , return , typedef
  • 构造数据类型: struct,enum,union

 2.2标识符

标识符命名规则
  • 由数字 , 字符 , 下划线 , 括号组成
  • 不能和关键字重合
  • 开头不能用数字

2.3运算符 

算术运算符 逻辑运算符 位运算符 关系运算符 三目运算符 赋值运算符

 2.3.1 算术运算符

+   -   *   /   %   ++   --

 整数相除,向下取整

%取余,只能用于整数运算

2.3.2 逻辑运算符

&&   ||   !    与   或   非
  • & 位与 : 全一则一 , 有零则零
  • | 位或 : 有一则一 , 全零则零
  • ^ 异或 : 相同为零 , 不同为一

截断法则 :

  • 逻辑与运算中,前边表达式为假,后边表达式不再执行,直接返回假
  • 逻辑或运算中,前边表达式为真,后边表达式不再执行,直接返回真

 2.3.3 位运算

&   |   ^   ~   <<   >>    与 或 异或 取反 左移 右移
  • &位与:全一则一,有零则零
  • |位或:有一则一,全零则零
  • ^异或:相同为零,不同为一 
原码反码补码
正数相同相同相同
负数相同
除符号位全部取反
反码加1

 int 4个字节 32位 最左边时符号位,0是正数,1是负数

运算时,全部用的补码 

置一公式:a|(1<<n)

置零公式:a&(~(1<<n))

2.3.4 关系运算符 

(  >  >=   <   <=   ==   != )

 2.3.5 三目运算符 条件运算符

 表达式1? 表达式2:表达式3

运算顺序:如果表达式1为真,则执行表达式2,反之则执行表达式3 

2.3.6 赋值运算符 

= += -= *= /= %=

 2.3.7 运算符优先级

 单算移关与,异或逻条赋

 

加油努力学习吧!

  • 20
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值