4.构造类型,类型转换

news2024/12/24 10:29:48

构造类型

由若干各个相同或不同类型的数据构成的集合,这种集合类型被称为构造类型
例:int a[10];
数组、结构体、共用体、枚举

类型转换

数据有不同的类型,不同类型数据之间进行混合运算时必然涉及到类型转换的问题。
转换的方式有两种:
自动转换:遵循一定的规则由编译系统自动完成。
强制类型转换:把表达式的运算结果强制转换成所欲的数据类型。

自动转换的原则:
1.占用内存字节数少的类型,像占用内存字节数多的类型转换,以保证精度不降低。
2.转换方向:在这里插入图片描述

自动类型转换

1.当表达式中出现了char , short int , int 类型中的一种或者多种,没有其它类型了
参加运算的成员全部变成 int 类型的参加运算,结果也是int类型

#include<stdio.h>
int main(int argc,char *argv[])
{
	printf("%d\n", 5 / 2);
	return 0;
}

在这里插入图片描述
2.当表达式中出现了带小数的实数,参加运算的成员全部变成double类型的参加运算,结果也是double型。

int main(int argc, char* argv[])
{
	printf("%f\n", 5.0 / 2);
	return 0;
}

在这里插入图片描述
3.当表达式中有有符号数,也有无符号数,参加运算的成员变成无符号数参加运算结果也是无符号数。(表达式中无实数)

#include<stdio.h>
int main(int argc, char* argv[])
{
	int a = -8;
	unsigned int b = 7;
	if (a + b > 0)
	{
		printf("a+b>0\n");
	}
	else if (a + b < 0)
	{
		printf("a-b<0\n");
	}
	else
	{
		printf("a+b=0\n");
	}
	printf("%x\n", (a + b));
	printf("%d\n", (a + b));
	return 0;
}

在这里插入图片描述
4.在赋值语句中等号右边的类型自动转换为等号左边的类型。

#include<stdio.h>
int main()
{
	int a;
	float f = 5.8f;
	a = f;
	printf("a=%d\n", a);
	printf("f=%f\n", f);
	return 0;
}

在这里插入图片描述
5.注意自动类型转换都是在运算的过程中进行临时性的转换,并不会影响自动类型转换的变量的值和其类型

强制类型转换

强制转换:通过类型转换运算实现
(类型说明符)(表达式)
功能:把表达式的运算结果强制转换成类型说明符所表示的类型

例如:(float) a ; //把a的值转换为浮点型
(int) (x+y) ; //把x+y的结果值转换为整型
注意:类型说明符必须加括号

#include<stdio.h>
int main()
{
	float x = 0;
	int i = 0;
	x = 3.6f;
	i = (int)x;
	printf("i=%d\n",i);
	printf("x=%f\n",x);
	return 0;
}

说明:
无论是强制转换或是自动转换,都是为了本次运算的需要,而对变量的数据长度进行的临时性转换,而不改变数据定义的类型以及它的值。

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

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

相关文章

使用verdaccio搭建私有组件库

前言 最近公司需要根据现有的公用组件搭建一套私有组件库&#xff0c;方便其他项目使用&#xff0c;然后经过一系列尝试和走了许多坑&#xff0c;终于搭建成功了&#xff0c;这里记录下搭建步骤&#xff0c;希望对你有些帮助。 为什么选择verdaccio 由于公司组件库越来越多&…

ZZNUOJ_Java软件的下载安装和写代码

ZZNUOJ_Java软件的下载安装和写代码一、Java软件myeclipse图标二、下载安装的步骤三、使用myeclipse软件1、创建项目名和类名的步骤2、写代码和运行结果一、Java软件 myeclipse图标 二、下载安装的步骤 第一步骤&#xff1a;下载myeclipse&#xff1a;myeclipse 第二步骤&…

怎么把旧电脑的用户配置文件迁移到新电脑

您购买了一台新笔记本电脑&#xff0c;但不想花大量时间重新下载、编辑、备份旧电脑上的所有文件&#xff0c;也不想重新安装常用的软件&#xff0c;更不想重新配置电脑账户&#xff0c;那么&#xff0c;应该怎么把旧电脑的用户配置文件迁移到新电脑&#xff1f; 一、如何迁移用…

[附源码]java毕业设计基于疫情防控物流管理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

BDP 581/591 azide,Bodipy581/591标记叠氮,2183473-20-1

产品名称&#xff1a;Bodipy581/591标记叠氮 英文名称&#xff1a;BDP 581/591 azide CAS&#xff1a;2183473-20-1 BDP 581/591是一种相对疏水的明亮且多用途的荧光团。 结构式&#xff1a; General properties Appearance: dark solid Molecular weight: 474.31 分子式…

中台深入剖析和实现技巧

什么是中台 中台发展史 无共享架构-大烟囱架构 共享架构模式 IaaS架构 PaaS架构 SaaS架构 中台架构 中台定义 中台就是“企业级的能力复用平台”-Thoughtworks 首席咨询师王健 中台是将系统的通用化能力进行打包整合&#xff0c;通过接口的形式赋能到外部系统&#xff0c;从…

jsp教育培训系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 JSP 教育培训系统 是一套完善的web设计系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发&#xff0c;数据库为Mysql&#xff0c;使用jav…

[附源码]java毕业设计教务系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

计算机网络:IEEE 802.11无线局域网

文章目录1.无线局域网的组成(1)有固定基础设施无线局域网(2)无固定基础设施移动自组织网络2.802.11局域网的MAC帧1.无线局域网的组成 无线局域网可分为两大类:有固定基础设施的无线局域网和无固定基础设施的移动自组织网络。所谓“固定基础设施”&#xff0c;是指预先建立的、…

[附源码]java毕业设计基于智能推荐的房屋租赁系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

Docker(狂神)

Docker概述 Docker为什么出现&#xff1f; 一款产品&#xff1a;开发&#xff0c;上线&#xff0c;两套环境&#xff0c;应用环境&#xff0c;应用配置 开发&#xff0c;运维 环境配置十分麻烦&#xff0c;每一个机器都要部署环境&#xff0c;费时费力。 发布一个项目&#xff…

数据流与重定向,vim练习,grep过滤练习,cut练习

今日作业&#xff1a; 1、重定向练习&#xff1a;将根目录下的文件的文件名写入/test/file文件中&#xff08;先切换到根目录&#xff0c;再查看根目录下的文件名&#xff0c;进行数据重定向&#xff0c;最后查看/test/file文件&#xff09; 2、vim命令练习&#xff1a;将/root…

景区讲解小程序,扫码轻松获取多语言讲解服务

中国旅游研究院连续40个季度监测&#xff0c;提取了游客对景区的五大负面评价关键词。 分别是&#xff1a; 1、空间拥堵 2、体验感下降 3、人性化服务不足 4、纪念品和旅游购物同质化 5、娱乐项目不够丰富 这些评价词也为景区的升级转型、服务提升指明了方向。 其中“体验感下…

RESTful+统一响应体+API自动文档的SprinBoot项目

一、项目要求 实验环境&#xff1a;IdeamysqlJDKTomcatMaven将上一周个人作业用 RESTful 接口实现&#xff1b;&#xff08;上周的SpringBootMybatisCRUD项目&#xff09;配置统一响应体&#xff1b;配置Swagger&#xff0c;生成API自动文档&#xff1b;对 RESTful 接口用Post…

同态加密开源框架整理

开放隐私计算 2022-11-16 19:17 发表于浙江 以下文章来源于隐私计算研习社 &#xff0c;作者庄智廉 隐私计算研习社. 开放隐私计算社区 开放隐私计算 开放隐私计算OpenMPC是国内第一个且影响力最大的隐私计算开放社区。社区秉承开放共享的精神&#xff0c;专注于隐私计算行业…

2022年数维杯国际赛D题 极端天气损失评估与应对策略

2022年7月至8月&#xff0c;中国南方许多城市经历了多日的炎热天气&#xff0c;而北方部分地区也出现了大 规模的强降水。此外&#xff0c;许多欧洲国家也经历了历史上罕见的干旱灾害。无论是南部的高温天气 &#xff0c;北方的强降水&#xff0c;还是欧洲的干旱天气&#x…

算法部署经验实操:手把手教你掌握Atlas移植和算法推理

华为Atlas智能边缘解决方案已广泛应用于安防、交通、社区、商超等复杂环境区域的AI需求&#xff0c;在算法部署落地过程中&#xff0c;具备算法异构能力已经成为算法开发者的加分项。 本次特训营由极市平台、昇腾社区联合主办&#xff0c;启用行业专家导师结合算法实际落地应用…

Jekyll 选项(options)和子命令(subcommand)小手册

建议直接通过侧边栏进行跳转查询。 本文将列出并介绍一些常用的 Jekyll 的命令选项&#xff08;options&#xff09;和子命令&#xff08;subcommand&#xff09;&#xff0c;这样方便快速查看。如果你想找的这里没有列出&#xff0c;可以查看官方文档 《Configuration Option…

JPA Buddy指南

1. 概述 JPA Buddy是一个广泛使用的IntelliJ IDEA插件&#xff0c;面向使用JPA数据模型和相关技术&#xff08;如Spring DataJPA&#xff0c;DB版本控制工具&#xff08;Flyway&#xff0c;Liquibase&#xff09;&#xff0c;MapStruct等&#xff09;的新手和有经验的开发人员。…

猿创征文|C++软件开发值得推荐的十大高效软件分析工具

目录 1、概述 2、高效软件工具介绍 2.1、窗口查看工具SPY 2.2、Dependency Walker 2.3、剪切板查看工具Clipbrd 2.4、GDI对象查看工具GDIView 2.5、Process Explorer 2.6、Prcoess Monitor 2.7、API Monitor 2.8、调试器Windbg 2.9、反汇编工具IDA 2.10、抓包工具…