C语言程序——赋值表达式类型的转化

当C语言的赋值运算符两侧类型不同时,会发生自动类型转化。实转整会舍弃小数,整转实保留整数部分并增加小数点后零。字符转整取ASCII码,整转字符只取低八位。本文通过实例代码展示了这些转化原则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


前言

赋值语句中如果赋值运算符两边的类型不一致,但都是数值型和字符型数据,则C语言允许赋值表达式右边的值类型自动转换为左边的变量的类型。


一、赋值表达式中类型转化

赋值表达式中赋值运算符左右的数据类型不一致,会自动转化,转化的原则:

  1. 实型赋值于整型,则舍去小数部分。
  2. 整型赋值于实型,数值不变,将以浮点形式存放,即增加小数点部分(小数点后面为零)。
  3. 字符型赋值于整型,由于字符型为一个字节,而整型为两个字节,故将字符的ASCII码值放到整型量的低八位中,高八位为0。
  4. 整型赋值于字符型,只把低八位赋值于字符量。

二、程序实例

代码如下:

#include <stdio.h>
void main()
{
	int A,a,b=322;
	float x,y=8.88;
	char c1='k',c2;
	A=y;
	x=b;
	a=c1;
	c2=b;
	printf("%d,%f,%d,%c",A,x,a,c2);
}

运行结果:
赋值运算符类型转化
结果分析:
代码中A为整型,被赋予实型变量y的值8.88后只取整数8;x为实型,被赋予整型量b值322后增加了小数部分0。字符型量c1赋予a变量为整型,整型量b赋予c2后取其低八位成为字符型(b的低八位为01000010,即十进制66,按ASCII码对应于字符B)。


总结

以上就是今天要讲的内容,本文仅仅简单介绍了C语言中赋值运算符在运用时数据类型的转化应用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值