BSP学习 day4 数据类型和运算符

       今天主要学习了c语言的数据类型和运算符。C语言的数据类型分别有:常量,字符常量,整数,原码,反码,补码,字符和字符串和浮点数。运算符则有:+,-,*,/,%(取余)。

    1.数据类型

       常量:就是不会随着程序运行而改变的量。常量分为整数常量和字符常量。整数常量常常分为10进制,8进制和16进制。不同进制及科学计数法打印如下所示:

     

    在程序中单引号括起来的是字符常量,存在char类型里。若用%d来输出一个字符常量,则根据ASCLL码表的值来输出。其中英文字母的大小写之间差32。还有转义字符,如下图所示:

   2.整型:没有小数的数,具体类型如下图所示:

3.原码,反码,补码:一个数在计算机的存储形式是二进制数,我们称这些二进制数为机器数,机器数是有符号,在计算机中用机器数的最高位存放符号位,0表示正数,1表示负数。

源码的表示与机器数真值表示的一样,即用第一位表示符号,其余位表示数值,例如的十进制的的正负1,用8位二进制的原码表示如下:

【+1】= 原:[ 0000 0001 ]

【-1】= 原:[ 1000 0001 ]

反码的表示方法为:正数的反码就是它本身,而负数的反码则是除首位外,其他位取反

【+1】= 原: [ 0000 0001 ] = 反:[ 0000 0001 ]

【-1】 = 原:[ 1000 0001 ] = 反:[ 1111 1110 ]

补码的表示方法为:正数的补码与原码和反码一致,而负数的是其反码加1

【+1】= 原: [ 0000 0001 ] = 反:[ 0000 0001 ] = 补:[ 0000 0001 ]

【-1】 = 原:[ 1000 0001 ] = 反:[ 1111 1110 ] = 补:[ 1111 1111 ]

    由于这样的原因,有时我们在输出一个数的时候,输出的结果会与预期的大相径庭。例如输入一个无符号整型数-5,其原码位1101,则其补码则为1011,首个字符为1是符号码,在32位中的首位,生成反码的过程中其他位置补零取反全变为1,输出无符号后,又将首个符号位也参与了运算,就生成了一个始料未及的结果,成了4294967291这样一个极大的数。所以,我们在输出时,要仔细思考输出的方式,以免造成不必要的误差。

4.浮点型数:分为单精度float和双精度double,float一般6-7位,占4字节,double有效位15位,占8字节,此外还有long double,有效位19位,占16字节。输出浮点型数要用%f。

 5.运算符:今天学习了加减乘除和取余的运算符,分别为+,-,*,/,%。应用也较为简单基础。

    总结:今天的学习还是比较简单和基础的,不过也很重要,是以后学习更核心更难知识的基石,所以应多多练习,多找相应题目,多敲多练,熟练掌握。

  

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值