C程序设计语言学习第二章:类型、运算符与表达式

第二章:类型、运算符与表达式

数据类型及长度

  • char:字符型,占用一个字节,可以存放本地字符集中的一个字符; char类型就是最小的整型

  • int:整形,通常反映了所用机器中整数的最自然长度;在32位机器上int为16位,在64位机器上,int为32位

    • short int: 短整型;short类型通常为16位。
    • long int:长整型;long类型通常为32位。
  • float:单精度浮点型

  • double:双精度浮点型

    • long double:高精度浮点数

signed与unsigned可用于限定char类型或任何整型。unsigned类型的数总是正值或0,并遵循2的n次方定律,n为该类型占用的位数。如char占8位,unsigned char类型变量的取值范围为0~255 signed char类型变量的取值范围为-128~127

常量

  • 有无符号后缀U或u

  • 整型

    • 十六进制整型数前缀0x或0X
    • 八进制整型数前缀0
  • float类型后缀F或f

  • double类型无后缀,后缀L或l表示long double

  • 字符常量:值为字符在机器字符集中的数值

    • 注意字符常量和字符串之前的区别,例如:‘x’ 和 “x” 是不同的,前者是字母x在机器字符集中对应的数值,后者是一个包含一个字符x和一个结束符’\0’的字符数组
  • 枚举常量:枚举是一个常量整型值的列表

  • 转义字符表
    在这里插入图片描述

  • 常量表达式是只包含常量的表达式,这种表达式在编译时求值而不是在运行时求值。

算术运算符

关系运算符与逻辑运算符

类型转换

  • 转换类型

    • 自动转换(精度提升)
    • 强制转换(精度下降、数据可能丢失)
  • char类型转整型注意事项
    在这里插入图片描述

  • 表达式种float类型的操作数不会自动转换成double类型,因为使用float类型主要是为了在使用较大的数组时节省存储空间,有时也为了节省机器执行时间。

  • 当表达式种包含unsigned类型的此操作数时,转换比较复杂。

自增和自减运算符

  • ++i:先加再赋值
  • i++:先赋值再加

按位运算符

  • &:按位与(AND)
  • | : 按位或(OR)
  • ^:按位异或(XOR)
  • <<
  • >>
    
  • ~:按位求反

运算符优先级

  • 优先级图表(懒得看)
  • C语言没有指定同一运算符中多个操作数的计算顺序(&& || ?: 除外)所以 例如 x = f() + g(); 函数f()和g()的执行顺序是不定的

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值