首页 > 其他分享 >12. 强制类型转换

12. 强制类型转换

时间:2023-06-29 17:26:45浏览次数:43  
标签:类型转换 12 转换 int sum 整数 运算符 强制

目录

1. Defination

   即把数据类型转换成另一种数据类型,例如这么一种情况,你想把long类型的数据,保存成int类型数据,那么你就需要将其进行强制类型转换。可以使用强制类型转换运算符来把值显示的转换成另一种数据类型。

(type_name)expression   /*type_name : 想要转换的类型,后面是原类型*/

示例代码:

//实现两个整数相除得到浮点数
#include <stdio.h>

int main()
{
    int a = 6, b = 5;
    double mean;
    
    mean = (double)a / b;   //实现了先将int a --> double a,在与b相除,可知该运算符的优先级大于除法
    printf("value of a / b = %f \n", mean);
    
    exit(0);   
}

强制类型转换有隐式也有显式的,一般要用显示的来表示,即上面的那样。

2.整数提升

整数提升是指把小于 int 或 unsigned int 的整数类型转换为 int 或 unsigned int 的过程。

#include <stdio.h>
 
int main()
{
   int  i = 17;
   char c = 'c'; /* ascii 值是 99 */
   int sum;
 
   sum = i + c;
   printf("Value of sum : %d\n", sum );
 
}

sum 的值为 116,因为编译器进行了整数提升,在执行实际加法运算时,把 'c' 的值转换为对应的 ascii 值。

3. 常用的算术转换

常用的算术转换是隐式地把值强制转换为相同的类型。编译器首先执行整数提升,如果操作数类型不同,则它们会被转换为下列层次中出现的最高层次的类型.

常用的算术转换属于隐式转换,不适用于赋值运算符、逻辑运算符 && 和 ||。

标签:类型转换,12,转换,int,sum,整数,运算符,强制
From: https://www.cnblogs.com/jxsme/p/17514696.html

相关文章

  • thinkphp6:使用view视图/模板(thinkphp v6.0.12LTS)
    一,在使用之前,需要用composer安装需要的view模块:参见:https://blog.imgtouch.com/index.php/2023/06/29/thinkphp6-bao-cuo-driver-think-not-supported/二,php代码:<?phpdeclare(strict_types=1);namespaceapp\controller;useapp\BaseController;usethink\fa......
  • 获取邮箱(QQ、126、163)的客户端授权码
    获取QQ邮箱的客户端授权码1、首先登录QQ邮箱(https://mail.qq.com),然后,点击“设置”按钮。2、点击“账户”按钮,进入“账户”页面。3、在账户页面将页面往下拉,找到pop3设置,选择“开启”。4、据要求进行验证(此处以手机密保验证为例),验证完毕后,点击“我已发送”按钮。5、接下来......
  • 力扣---1253. 重构 2 行二进制矩阵
    给你一个 2 行 n 列的二进制数组:矩阵是一个二进制矩阵,这意味着矩阵中的每个元素不是 0 就是 1。第 0 行的元素之和为 upper。第 1 行的元素之和为 lower。第 i 列(从 0 开始编号)的元素之和为 colsum[i],colsum 是一个长度为 n 的整数数组。你需要利用 ......
  • uva 12470(矩阵快速幂)
    题意:公式f(n)=f(n-1)+f(n-2)+f(n-3),给出n,f(1)=0,f(2)=1,f(3)=2,要求得出f(n)。题解:普通的矩阵快速幂模板题。#include<stdio.h>#include<string.h>constintMOD=1000000009;structMat{longlongg[3][3];}ori,res;longlongn;Matmultiply(......
  • 牛客练习赛112 B qsgg and Subarray
    这里介绍两种解法,贪心和二分核心:只要某一个区间和为0,则所有包含该区间的和都为0贪心根据题意是求出所有⊕和为0的子区间的个数,我们按a[i]来分类,每次求出以a[i]为末尾,区间和为0的区间个数,对于a[i]来说,要想u~i的区间和为0,则需要包含所有a[i]中位为1都有0与之对应,如果u~i的区间和......
  • AGC012E Camel and Oases
    题意有一个数轴上有\(n\)个点。一开始有一个参数\(v\),你可以进行任意次移动,直到\(v=0\):移动到一个距离当前点不超过\(v\)的点,\(v\)不变。移动到任何一个点,使得\(v\gets\lfloor\dfrac{v}{2}\rfloor\)。现在对于每个起点,问从这个点出发可不可以遍历所有位置。\(1......
  • uva 123(排序、检索)
    题目:Searchingandsortingarepartofthetheoryandpracticeofcomputerscience.Forexample,binarysearchprovidesagoodexampleofaneasy-to-understandalgorithmwithsub-linearcomplexity.Quicksortisanefficient[averagecase]comparisonbased......
  • hdu 1241(dfs)
    ProblemDescriptionTheGeoSurvCompgeologicsurveycompanyisresponsiblefordetectingundergroundoildeposits.GeoSurvCompworkswithonelargerectangularregionoflandatatime,andcreatesagridthatdividesthelandintonumeroussquareplots.......
  • Arduino + GP2D12红外测距传感器
    https://ost.51cto.com/posts/1786技术规格:1.测量射程范围:10-80cm2.最大允许角度:>40°3.电源电压:4.5-5.5V4.平均功耗:33-40mA5.峰值功耗:约200mA6.更新频率/周期:25Hz/40ms7.模拟输出噪声:<200mV8.精度和采集的AD位数以及转化计算公式相关,10AD一般能达到0.1CM.9.测量距离与输......
  • Java 12 新特性
    Java12是Java平台的另一个重要版本,它引入了一些新特性和改进。以下是Java12的一些新特性以及基于这些特性的Java代码案例:Switch表达式(SwitchExpressions):Java12引入了新的Switch表达式,使得Switch语句更加灵活和易用。下面是一个使用Switch表达式的示例:1......