`

C/C++ 类型自动转换规则

    博客分类:
  • c++
阅读更多
1、隐式转换
    C在以下四种情况下会进行隐式转换:
       1、算术运算式中,低类型能够转换为高类型。
       2、赋值表达式中,右边表达式的值自动隐式转换为左边变量的类型,并赋值给他。
       3、函数调用中参数传递时,系统隐式地将实参转换为形参的类型后,赋给形参。
       4、函数有返回值时,系统将隐式地将返回表达式类型转换为返回值类型,赋值给调用函数。
2、算数运算的隐式转换
    算数运算中,首先有如下类型转换规则:
       1、字符必须先转换为整数(C语言规定字符类型数据和整型数据之间可以通用) 。
       2、short型转换为int型(同属于整型) 。
       3、float型数据在运算时一律转换为双精度(double)型,以提高运算精度(同属于实型) 。
    其次,有下面的规则。
    当不同类型的数据进行操作时,应当首先将其转换成相同的数据类型,然后进行操作,转换规则是由低级向高级转换。转换规则如下图所示:
 

 
  • 大小: 11.1 KB
分享到:
评论

相关推荐

    C/C++笔试题(附答案,华为面试题系列)

    答:函数和变量被C++编译后在符号库中的名字与C语言的不同,被extern "C"修饰的变 量和函数是按照C语言方式编译和连接的。由于编译后的名字不同,C++程序不能直接调 用C 函数。C++提供了一个C 连接交换指定符号...

    新手学习C++入门资料

    上面两个都是C风格的强制类型转换,C++还增加了一种转换方式,比较一下上面和下面这个书写方式的不同: long int el=123; short i=int (el); float m=34.56; int i=int (m); 使用强制类型转换的最大好处...

    c++类的隐式转换与强制转换重载详解

    在写这篇文章之前,让我们先回顾一下编译器通过匹配过程确定调用哪一个函数的匹配顺序:(1)寻找和使用最符合函数名和参数类型...C语言编译系统提供的内部数据类型的自动隐式转换规则如下:1.程序在执行算术运算时,

    C++ Primer第四版【中文高清扫描版】.pdf

    5.12.1 何时发生隐式类型转换 154 5.12.2 算术转换 155 5.12.3 其他隐式转换 156 5.12.4 显式转换 158 5.12.5 何时需要强制类型转换 158 5.12.6 命名的强制类型转换 158 5.12.7 旧式强制类型转换 160 小结 161 术语 ...

    非常经典的c++ primer视频教程6-10

    5.12.5 何时需要强制类型转换 5.12.6 命名的强制类型转换 5.12.7 旧式强制类型转换 第6章 语句 6.1 简单语句 6.2 声明语句 6.3 复合语句(块) 6.4 语句作用域 6.5 if语句 6.6 switch语句 6.6.1 使用...

    谭浩强C语言程序设计,C++程序设计,严蔚敏数据结构,高一凡数据结构算法分析与实现.rar

    1.6 C和C++ 1.7 简单的C程序介绍 1.8 输入和输出函数 1.9 C源程序的结构特点 1.10 书写程序时应遵循的规则 1.11 C语言的字符集 1.12 C语言词汇 1.13 Turbo C 2.0 集成开发环境的使用 1.13.1 Turbo C 2.0 ...

    谭浩强C语言程序设计,C++程序设计,严蔚敏数据结构,高一凡数据结构算法分析与实现.rar )

    1.6 C和C++ 1.7 简单的C程序介绍 1.8 输入和输出函数 1.9 C源程序的结构特点 1.10 书写程序时应遵循的规则 1.11 C语言的字符集 1.12 C语言词汇 1.13 Turbo C 2.0 集成开发环境的使用 1.13.1 Turbo C 2.0 ...

    Absolute C++中文版(原书第2版)-完美的C++教程,文档中还包含英文版

    8.2.1 构造函数的自动类型转换 221 8.2.2 友元函数 222 8.2.3 友元类 225 8.3 引用和其他操作符重载 226 8.3.1 引用 226 8.3.2 重载“《”和“》” 228 8.3.3 赋值操作符 234 8.3.4 重载自增和自减操作符 ...

    二级c未来教育题库破解及资源

    4.C表达式类型(赋值表达式,算术表达式,关系表达式,逻辑表达式,条件表达式,逗号表达式)和求值规则。  三、基本语句 1.表达式语句,空语句,复合语句。 2.输入输出函数的调用,正确输入数据并正确设计...

    Visual C++ 2005入门经典--源代码及课后练习答案

    2.6.1 对操作数进行类型强制转换的规则 68 2.6.2 赋值语句中的类型强制转换 69 2.6.3 显式类型强制转换 69 2.6.4 老式的类型强制转换 70 2.6.5 按位运算符 71 2.7 了解存储时间和作用域 76 2.7.1 自动...

    C++MFC教程

    而且C++本身所具备的超越C语言的特性都可以使开发者编写出更易用,更灵活的代码。 在MFC中对消息的处理利用了消息映射的方法,该方法的基础是宏定义实现,通过宏定义将消息分派到不同的成员函数进行处理。下面简单...

    McGraw C++程序调试实用手册

    并非所有的C/C++编译器都完全相同 · · · · · · (更多) 第一部分 代码开发技巧 第1章 编写好的代码. l.l 谁需要本书? l.2 教学方法 1.3 从何处开始阅读? 1.4 警告!并非所有的C/C++编译器都完全...

    C语言程序设计(PDF格式)

    2.7.1 表达式中的类型转换 28 2.7.2 构成符cast 29 2.7.3 空格与括号 29 2.7.4 C语言中的简写形式 29 第3章 程序控制语句 31 3.1 程序的三种基本结构 31 3.2 数据的输入与输出 31 3.2.1 scanf()函数 31 3.2.2 ...

    超级单片机开发工具v

    内存映射功能,对于监控单片机内存非常方便,还可以定义内存变量,自动从接收到的数据中提取变量值,支持字节型、整型、长整型、浮点型、双精度型、位掩码(可用于位变量)、数组型(其他不规则变量)等,同时支持...

    第1章-Python语言概述.pdf

    n 按照一组记号和规则来组织计算机指令 (称为计算机程序),目的是控制计算 机自动执行各种运算; n 程序设计语言有机器语言、汇编语言和 高级语言三种分类。 程序设计语言的执行方式 n 编译型语言:将源代码一次...

Global site tag (gtag.js) - Google Analytics