在进行运算时,不同类型的数据要先转换成同一类型,然后进行运算。
double←float
↑
long
↑
unsigned
↑
int←char、short
强制类型转换运算符
void main()
{
float x;
int i;
x=32767.0;
i=(int)x%3;
printf("x=%f,i=%d\n",x,i);
}
%两边均为整型量,若x为float型,则“x%3”不合法。
自增、自减运算符
++i,–i(使用i之前,先使i的值加(减)1)
i==,i–(在使用i之后,使i的值加(减)1)
赋值运算符两侧的类型不一致,在赋值时要进行类型转换。
- 将浮点型数据赋给整型变量时,舍弃浮点数的小数部分。
- 将整型数据赋给浮点型数据时,数值不变,但以浮点数形式存储到变量中。
- 将一个double型数据赋值给float型变量时,截取前七位有效数字。float型数据赋值给duoble型变量,数值不变,有效数扩展到16位。
3.6
#include<stdio.h>
void main()
{
char c1='a',c2='b',c3='c',c4='\101',c5='\116';
printf("a%c b%c\tc%c\tabc\n",c1,c2,c3);
printf("\t\b%c %c\n",c4,c5);
}
```
3.7
```#include<stdio.h>
void main()
{
char c1='C', c2='h', c3='i', c4='n',c5='a';
c1+=4;
c2+=4;
c3+=4;
c4+=4;
c5+=4;
printf("%c, %c, %c, %c, %c\n", c1, c2, c3, c4, c5);
}
<div class="se-preview-section-delimiter"></div>
3.8
```#include<stdio.h>
void main()
{
char c1,c2;
c1=97;
c2=98;
printf(“%c %c\n”,c1,c2);
printf(“%d %d\n”,c1,c2);
}
3.10
int main()
{
int i, j, m, n;
i = 8;
j = 10;
m = ++i;
n = j++;
printf("%d, %d, %d, %d,\n", i, j , m, n);
return 0;
}