C语言-类型转换

news2024/11/17 7:50:52
数据有不同的类型,不同类型数据之间进行混合运算时必然涉及到类型的转换问题.
转换的方法有两种:
自动转换:
遵循一定的规则,由编译系统自动完成.
强制类型转换:
把表达式的运算结果强制转换成所需的数据类型
1 自动转换
自动转换原则
1、占用内存字节数少(值域小 ) 的类型,向占用内存字节数多 ( 值域大 ) 的类型转换 , 以保证精
度不降低 .
2、转换方向:
2 强制转换
通过类型转换运算来实现
(类型说明符) (表达式)
功能:
把表达式的运算结果强制转换成类型说明符所表示的类型
例如:
(float)a; // 把a的值转换为实型
(int)(x+y); // 把x+y的结果值转换为整型
注意:
类型说明符必须加括号
案例
#include <stdio.h>

int main(int argc, char *argv[])
{
    //***************强制类型转换之自动转换******************
    //参加运算的成员全部变成int类型的参加运算,结果也是int类型的
    printf("%d\n",5/2);

    //当表达式中出现了带小数点的实数,参加运算的成员全部变成double类型
    //参加运算,结果也是double型
    printf("%lf\n",5.0/2);

    //当表达式中有有符号数  也有无符号数,参加运算的成员变成无符号数参
    //加运算结果也是无符号数.(表达式中无实数)
    int a = -8;
    unsigned int b=7;
    if(a + b > 0)
    {
        printf("a+b>0\n");
    }
    else
    {
        printf("a+b<=0\n");
    }

    //在赋值语句中等号右边的类型自动转换为等号左边的类型
    int m;
    float n=5.8f;//5.8后面加f代表5.8是float类型,不加的话,认为是double类型
    m = n;
    printf("m = %d\n",m);
    printf("n = %f\n", n); //注意自动类型转换都是在运算的过程中进行临时性的转换,并不会影响自动类型转换的变量的值和其类型

    //*************强制类型转换之强制转换************
    int x = 10;
    int y = 4;
    float w;
    w = (float)x / (float)y;
    printf("w = %f\n", w);

    return 0;
}

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/642247.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

阿里人手一本的Java性能调优手册,几乎涵盖了性能优化的所有操作

说起性能调优&#xff0c;想必大家都知道&#xff0c;但是就是没怎么用过&#xff0c;所以在Java性能优化上面临着很多的困扰&#xff0c;比如&#xff1a; 能力修炼中&#xff0c;由于常年接触 CRUD&#xff0c;缺乏高并发这一实践环境&#xff0c;对“性能优化”只能通过理论…

剑指 Offer 59 - I: 滑动窗口的最大值

第一眼看这个感觉思路没啥大问题&#xff0c;就是一个大循环不断后移&#xff0c;然后小循环维护一个k长度的队列。注意peekFirst和peekLast的使用&#xff0c;双端队列可以打破先进先出或者先进后出的局限性&#xff0c;因此peek没有默认值&#xff0c;得加上First或者Last来进…

干货 | 腾讯云李滨:云时代数据安全治理方法与实践

作者&#xff1a;李滨‍‍‍‍本文约2600字&#xff0c;建议阅读8分钟 本文与你分享腾旭在数据安全和人工智能的安全治理方法&#xff0c;以及实践上的一些经验。 今天很荣幸与大家分享在过去几年以内&#xff0c;腾讯在数据安全和人工智能的安全治理方法&#xff0c;以及实践上…

使用服务器的妙妙工具

为什么使用服务器&#xff1f; 一台电脑的性能终究是有限的&#xff0c;所以当计算量太大时&#xff0c;我们可以借助服务器&#xff0c;它的运算速度快&#xff0c;存储空间大。 和个人电脑不同&#xff0c;服务器通常由一个管理员进行管理&#xff0c;而有多用户同时使用。…

一行代码实现网页直接跳转抖音,2023年6月新方法

之前 发的文章 方法已经失效&#xff0c;以下为新版本方案&#xff01; 背景 大家可能都发现在一些APP中无法直接打开抖音的链接&#xff0c;就连抖音官方的分享链接在浏览器打开都无法直接唤醒APP。需要我们手动点击&#xff0c;如果我们在自己网站等推广希望直接拉起抖音可…

工厂方法模式(五)

过气的&#xff0c;终究是过气了 上一章简单介绍了工厂模式(四), 如果没有看过,请观看上一章 一.工厂方法模式 工厂方法模式&#xff0c;通过定义工厂父类负责定义创建对象的公共接口&#xff0c;而子类则负责生成具体的对象。 将类的实例化&#xff08;具体产品的创建&…

全网最火爆,性能测试基本原则方法总结,再不卷就被淘汰了...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 性能测试关键点 …

2023 年牛客网最新版大厂 Java 八股文面试题总结(覆盖所有面试题考点)

序员真的是需要将终生学习贯彻到底的职业&#xff0c;一旦停止学习&#xff0c;离被淘汰&#xff0c;也就不远了。 金九银十跳槽季&#xff0c;这是一个千年不变的话题&#xff0c;每到这个时候&#xff0c;很多人都会临阵磨枪&#xff0c;相信不快也光。于是&#xff0c;大家…

什么是Vue的数据流(单向数据流)?如何进行数据流管理

什么是Vue的数据流&#xff08;单向数据流&#xff09;&#xff1f;如何进行数据流管理 在Vue中&#xff0c;数据流是指数据的传递和管理方式。Vue采用的是单向数据流&#xff0c;也就是说&#xff0c;数据是从父组件流向子组件&#xff0c;子组件不能直接修改父组件的数据。本…

夏季来临居民如何预防电气火灾隐患

安科瑞虞佳豪 居住场所预防电气火患 请注意以下几点 1.用具有生产许可证或CCC证书并与居住场所的环境相适应的电气线路以及插座、插线板、充电器、用电设备等电器产品&#xff1b; 2.不私自拉接电气线路&#xff1b;不随意更改电气线路保护装置&#xff1b; 3.不随意更换原…

泛娱乐社交(一)直播产品商业化解决方案

摘要 在过去几年的直播行业创业风口期中&#xff0c;直播的用户关注度疯狂增长&#xff0c;但用户质量却参差不齐。随着用户新鲜感一过&#xff0c;流失率变得相当严重&#xff0c;各大平台都在竭尽全力防御。然而&#xff0c;留住“凑热闹”的非直播受众用户并不是最关键的问…

SpringBoot(基础篇)

SpringBoot基础篇 入门案例 在创建SpringBoot项目时&#xff0c;会出现以下不需要的文件&#xff0c;如果每次都手动删除的话&#xff0c;就会很麻烦。 教你一招 在setting设置中找到Editor&#xff0c;选择File Types–>Ignored Files and Folders–>点击号&#xff…

pycharm使用之torch_geometric安装

正式安装之前要先查看一下torch的版本 一、查看torch版本 1、winR &#xff0c;输入cmd 2、输入python 3、 输入import torch&#xff0c;然后输入torch.__version__&#xff0c;最后回车 可以看到我的torch版本是1.10.0 二、下载合适的版本 1、打开链接 https://pytorch-…

千万级入口服务[Gateway]框架设计(一)

本文将以技术调研模式编写&#xff0c;非技术同学可跳过。 文章目录 背景问题[不涉及具体业务]目标技术选型语言框架模式实现一&#xff1a;go 原生组件Demo 实现Benchwork 基准性能小结实现二&#xff1a;开源 go-plugin 附录入口服务演变 背景 在历史架构的迭代中&#xff…

Elasticsearch:部署 ELSER - Elastic Learned Sparse EncoderR

警告&#xff1a;此功能处于技术预览阶段&#xff0c;可能会在未来的版本中更改或删除。 Elastic 将尽最大努力修复任何问题&#xff0c;但技术预览中的功能不受官方 GA 功能的支持 SLA 约束。 Elastic Learned Sparse EncodeR - 或 ELSER - 是由 Elastic 训练的检索模型&#…

Python程序员必会技能:如何在Python中连接数据库获取数据

前言 嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 想要成为一名数据分析师&#xff0c;一个最基础的技能就是&#xff1a;提取数据。 数据是数据分析的基础。 因此&#xff0c;掌握各种获取数据的技能一定是一个合格的数据分析师的必备技能。 而我们的需要进行提取的…

总结排查服务器上传下载慢的几种手段与查看服务器带宽的具体方法

一、排查服务器上传下载 最近出现的一个情况&#xff0c;服务器上传和下载比较慢&#xff0c;因此我排查了种种手段&#xff0c;特此记录下几种常见的手段。 1、使用speedtest-cli 测试网速&#xff1a; 该方法是测试网速的速度怎么样&#xff0c;看看是否真的慢&#xff1f; …

python中os库用法详解(总结)

os库主要是对文件和文件夹进行操作&#xff0c;在Python中对⽂件和⽂件夹的操作要借助os模块⾥⾯的相关功能。 具体步骤如下&#xff1a; 1. 导⼊os模块 import os 2. 使⽤ os 模块相关功能 os.函数名() 1、⽂件重命名 os.rename(⽬标⽂件名, 新⽂件名) 示例代码&#…

使用Docker从0开始在Linuex部署springboot项目(图文并茂)

一、前言 在腾讯云新买的洁白如新的云服务器&#xff0c;想要使用docker去部署springboot项目&#xff0c;特此记录&#xff01; 二、安装jdk 参考博客&#xff1a;https://blog.csdn.net/weixin_45853881/article/details/123402891 2.1 检查jdk 直接在腾讯云平台登陆云服…

软件测试进阶知识 —— 自动化测试总结

自动化测试 自动化测试的定义&#xff1a;使用一种自动化测试工具来验证各种软件测试的需求&#xff0c;它包括测试活动的管理与实施、测试脚本的开发与执行。 自动化测试只是测试工作的一部分&#xff0c;是对手工测试的一种补充; 自动化测试绝不能代替手工测试;多数情况下&a…