C语言笔记——格式转换

自动转换遵循以下规则:

  1.    若参与运算量的类型不同,则先转换成**同一类型**,然后进行运算。
    
  2.    转换按**数据长度增加**的方向进行,以保证精度不降低。如int型和long型运算时,先把int量转成long型后再进行运算。
    

    a.若两种类型的字节数不同,转换成字节数高的类型

b.若两种类型的字节数相同,且一种有符号,一种无符号,则转换成无符号类型

  1.    所有的浮点运算都是以**双精度进行的**,即使仅含float单精度量运算的表达式,也要先转换成double型,再作运算。
    
  2.    **char型和short型**参与运算时,必须先转换成**int型**。
    
  3.    在赋值运算中,赋值号两边量的数据类型不同时,**赋值号右边量的类型将转换为左边量的类型**。如果右边量的数据类型长度左边长时,将丢失一部分数据,这样会降低精度,**丢失的部分按四舍五入向前舍入**
    

在这里插入图片描述

在这里插入图片描述

转义字符

表示方法包括:① \字符;② \八进制、\十六进制整数
在这里插入图片描述
转义字符的初衷是用于 ASCII 编码,所以它的取值范围有限:

  • 八进制形式的转义字符最多后跟三个数字,也即\ddd,最大取值是\177;

‘\063’表示的是字符’3’,因为’3’的ASCII码是33(十六进制),51(十进制),63(八进制)。

  • 十六进制形式的转义字符最多后跟两个数字,也即\xdd,最大取值是\7f。

‘\x41’表示的是字符’A’,因为’A’的ASCII码是41(十六进制),65(十进制),101(八进制)。

字符长度
八进制字符和十六进制字符长度都是1,因为他们表示的是一个字节的字符。

练习

下面字符的长度是?

“\t”\062\xff\n"

答案:5

分析:\t ," ,\062 ,\xff ,\n 。一共是5个转义字符,在C中,转义字符的长度都是1
字符串结束符’\0’不计长度。

猜你喜欢

转载自blog.csdn.net/weixin_51552144/article/details/120713185