C语言教程
+ -

C语言 类型转换

2019-09-09 8 0

类型转换是一种将变量从一种数据类型转换为另一种数据类型的方法,如,可以将” long”转换为” int”。

(type_name) expression

考虑以下示例,其中强制转换运算符将一个整数变量除以另一个作为浮点运算来执行-

#include <stdio.h>

main() {

   int sum=17, count=5;
   double mean;

   mean=(double) sum/count;
   printf("Value of mean : %f\n", mean );
}

编译并执行上述代码后,将产生以下输出-

Value of mean : 3.400000

此处应注意,强制转换运算符的优先级高于除法,因此 sum 的值首先转换为类型 double ,最后将其除以计数,得到一个双精度值。

类型转换可以是隐式的,可以由编译器自动执行,也可以通过使用 cast运算符明确指定。

整数提升

整数提升是将小于” int “或” unsigned int “的整数类型的值转换为 int 或 unsigned的过程int。考虑添加一个带有整数的字符的示例-

#include <stdio.h>

main() {

   int  i=17;
   char c='c'; /* ascii value is 99 */
   int sum;

   sum=i + c;
   printf("Value of sum : %d\n", sum );
}

编译并执行上述代码后,将产生以下输出-

Value of sum : 116

在这里,sum的值为116,因为编译器在执行实际加法运算之前正在进行整数提升并将’c’的值转换为ASCII。

算术转换

通常执行算术转换以将其值转换为通用类型。编译器首先执行整数提升;如果操作数仍然具有不同的类型,则将它们转换为在以下层次结构中显示最高的类型-
type-casting
通常不对赋值运算符执行逻辑运算,也不对逻辑运算符&&和||执行运算。让我们以以下示例来了解概念-


#include <stdio.h>

main() {

   int  i = 17;
   char c = 'c'; /* ascii value is 99 */
   float sum;

   sum = i + c;
   printf("Value of sum : %f\n", sum );
}

编译并执行上述代码后,将产生以下结果-

 Value of sum : 116.000000

0 篇笔记 写笔记

C# 类型转换
类型转换从根本上说是类型铸造,或者说是把数据从一种类型转换为另一种类型。在 C# 中,类型铸造有两种形式:隐 式类型转换 - 这些转换是 C# 默认的以安全方式进行的转换, 不会导致数据丢失。例如,从小的整数类型转换为大的整数类型,从派生类转换为基类。显 式类型转换 - 显式类型转换,即强制类型转换......
ObjectiveC 类型转换
类型转换是一种将变量从一种数据类型转换为另一种数据类型的方法。例如,如果要将long值存储到简单整数(int)中,则可以将long类型转换设置为int。使用强制转换运算符将值从一种类型转换为另一种类型,如下所示(type_name) expression在Objective-C中,通常使用CGFlo......
C语言 类型转换
类型转换是一种将变量从一种数据类型转换为另一种数据类型的方法,如,可以将” long”转换为” int”。(type_name) expression考虑以下示例,其中强制转换运算符将一个整数变量除以另一个作为浮点运算来执行-#include main() { in......
VBScript 常用函数及类型转换
(一)类型转换类函数CType(X)[格式]:P=CBool(X)‘ 将X转换为”布尔”(Boolean)类型P=CByte(X)‘ 将X转换为”字节”(Byte)类型P=CCur(X)‘ 将X转换为”金额”(Currency)类型P=CDate(X)‘ 将X转换为”日期”(Date)类型P=CDb......
GO语言 类型转换
类型转换用于将一种数据类型的变量转换为另外一种类型的变量。Go 语言类型转换基本格式如下:type_name(expression)type_name 为类型,expression 为表达式。实例以下实例中将整型转化为浮点型,并计算结果,将结果赋值给浮点型变量:package mainimport ......
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!