1 /*并联电阻值.cpp:2 问题描述:编程序,输入两个电阻R1和R2的阻值,求它们并联后的阻值R。提示:计算公式为r=1/(1/r1+1/r2));电阻值为浮点数3 */

4

5 #include "stdafx.h"

6 #include

7 using namespacestd;8

9

10 intmain()11 {12 intR1, R2, Ro;13

14 printf("Input the value of the paralleled resistor R1 and R2");15 scanf_s("%d %d", &R1, &R2);16

17 Ro = (float)(1 / (1.0 / R1 + 1.0 /R2));18

19 cout <

21

22 return 0;23 }

感想:

这题对于初学者而言,看似再简单不过,但实际暗藏杀机。“杀机”在于上方code中,17行中的隐性/自动数据类型转换(“隐性转换”)

Ro = (float)(1 / (1.0 / R1 + 1.0 / R2));

项目1-4-2-4中也提到了这个问题:隐性转换时发生的数据丢失(但为什么分配更大的存储单元会丢失?)

C语言支持不同数据类型的value/variable间的相互运算,每运算一次,都会发生隐性转换,而这种运算就是通过隐性转换得以实现的,其规则为

例如

1+2的结果,仍然是int型;

3.28+3.24e5的结果,仍然是double型;

这个规则要用,每次定义变量都需要给定的 数据类型 的本质,加以理解:

一个变量,在内存中占据一定的存储单元;

通过变量名,找到对应的存储单元,从而操作变量的值。

也就是说,定义数据类型/给定变量名,实质是数据类型与存储空间之间的映射(规则),如下图:

可见,隐性转换的规则是,给每次计算的输出值分配更大的储存空间。

除此以外,float型数据和任何整型数据运算,都会转化成double型后再进行。

但是有意思的是,

Ro = (float)(1 / (1.0 / R1 + 1.0 / R2));

其中 = 运算,也发生了数据类型转换:将float类型的数值,赋给int类型的变量,最终输出的数据类型依然是int类型。最初给定的类型统辖着最终结果。

=

电阻组合c语言程序,【C语言及程序设计】项目1-4-2-2:计算并联电阻相关推荐

  1. 信息学奥赛一本通 1015:计算并联电阻的阻值 | OpenJudge NOI 1.3 10

    [题目链接] ybt 1015:计算并联电阻的阻值 OpenJudge NOI 1.3 10:计算并联电阻的阻值 [题目补充] OpenJudge中该题有提示,只能用float声明变量.如用doubl ...

  2. 信息学奥赛一本通(1015:计算并联电阻的阻值)

    1015:计算并联电阻的阻值 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 46224     通过数: 36906 [题目描述] 对于阻值为 r1r1 和 r2 ...

  3. 【1015】计算并联电阻的电阻

    1015:计算并联电阻的阻值 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 53034     通过数: 42494 [题目描述] 对于阻值为 r1和 r2的电阻 ...

  4. openjudge 1.3.10 计算并联电阻的阻值

    OpenJudge - 10:计算并联电阻的阻值 解题思路: 1.定义两个double类型的变量,r1和r2,并输入 2.定义double类型变量r根据公式计算阻值 3.保留两位小数输出 #inclu ...

  5. PTA 7-8 计算并联电阻的阻值

    对于阻值为r1和r2的电阻,其并联电阻阻值公式计算如下: R = 1/(1/r1 + 1/r2),编程计算并联电阻的阻值. 输入格式: 两个电阻阻值大小,实数,以一个空格分开. 输出格式: 并联之后的 ...

  6. 一本通1015:计算并联电阻的阻值

    1015:计算并联电阻的阻值 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 50385     通过数: 40304 [题目描述] 对于阻值为 r1r1 和 r2 ...

  7. 【信息学奥赛】1015:计算并联电阻的阻值(C++)

    今天来让我们来继续分析信息学奥赛一本通的第二十四题,也就是按照题目的要求计算与圆有关的题.(这里变啦!因为我发现我的文章虽然有很多人看,但却没有点赞,所以从现在,我规定,点赞超过4个,我立马更新下一期 ...

  8. 1-3 5-7的c语言程序,C语言求1-1/3+1/5-1/7+...——小程序,大道理

    问题:用C语言编写程序求1-1/3+1/5-1/7+... 示例: #include void main(){ int n=; float sum=,a=; while(a<=){ sum=su ...

  9. 我的世界c语言程序,C语言基本知识

    软件是将一组程序组织起来 每个程序由一组指令组成 数据结构+算法 数据结构 在程序中要指定数据的类型和数据的组织形式. 算法(程序的灵魂) 就是为了解决实际问题而提出的具体方法与步骤. 算法的特点 有 ...

  10. 棱形旋转c语言程序_C 语言时隔 5 年重回巅峰,这 20 个热门项目拿去练手!

    在上个月的 TIOBE 编程语言排名中,C 语言和 Java 的差距只有 0.01%.在近日 TIOBE 公布的 2020 年 5 月编程语言排行榜中,C 语言成功超越了 Java,重返第一的王者宝座 ...

最新文章

  1. 对于数据库连接池的一些思考和MyBatis的集成与使用
  2. 电脑打印机共享,打印机共享
  3. 关于Spring 中的PortletModeHandlerMapping
  4. Hexo博客主题之hexo-theme-matery的安装命令整理
  5. HDU2193-AVL-数据结构-AVL
  6. ArcEngine一些代码实现(转载)
  7. openglshader实现虚拟场景_虚拟演播室设计原则
  8. 获取当前 服务 路径 .net
  9. 反向输出一个四位数c语言程序,将一个四位数反向输出
  10. Android Studio 设置代码提示和代码自动补全快捷键
  11. python中 tolist_python 列表,数组,矩阵两两转换tolist()的实例
  12. oracle plsql 字符串长度,PLSQL SQL
  13. java jdk 9 64位下载地址_jdk9.0官方下载|jdk9 64位下载官方正式版 1.9 - 系统天堂
  14. Github视频教程-黄棒清-专题视频课程
  15. 【面试题】单链表的操作1
  16. 自然语言处理概述 NLP基本流程
  17. windows系统统不支持mysql_Windows系统下MySQL无法启动的万能解决方法
  18. 20189320《网络攻防》第二周作业
  19. 利用Exchange服务同步iOS和android中的联系人
  20. ALTAS,LAPACK, SCALAPACK, MUMPS记录

热门文章

  1. Flask开发轻博客(一):欢迎来到-Flask-的世界
  2. 训练集、验证集和测试集这三个名词的区别
  3. 如何理解照片后期处理
  4. 如何利用迅雷来下载百度云文件?(此方法只适用于大文件需要启动百度网盘的客户端这种情况)...
  5. 大型企业计算机终端安全管理现状与策略分析
  6. 【Jquery选择器】
  7. 通过网络安装CentOs7
  8. oslo.messaging库
  9. 动态规划矩阵连乘求最优值和最优解
  10. 洛谷P1367 蚂蚁