一、数据类型转换

 1 #include<stdio.h>
 2 //某些场合,必须进行数据类型转换,以匹配调用
 3 void main0(){
 4     printf("%f",1);//printf不管你是什么类型,解析失败就是0    0.000000
 5     printf("\n%d",1.0);//0
 6     printf("\n%f",(float)1);//1.000000
 7     printf("\n%d",(int)1.0);//1
 8     getchar();
 9 }
10
11 void main1(){
12     //实数转整数,会舍弃小数点部分
13     //printf("%d",1/2);//0
14     //printf("\n%d",1/2.0);//0
15     int num=3/2;
16     float f1=1/2.0;//0.5    整数与实数,结果为实数
17     float f2=3/2;//1.000000 整数与整数,结果为整数
18     //1按照%f解析失败,就是0.000000
19     printf("%d,%f",num,num);//1  0.000000
20     //0.5按照%d解析失败,就是0
21     printf("\n%f,%d",f1,f1);//0.500000    0
22     printf("\n%f,%d",f2,f2);//1.000000    0
23     getchar();
24 }

1.隐式转换

1 #include<stdio.h>
2 //赋值号会自动进行赋值类型转换
3 void main(){
4     int x=3.8;
5     printf("%d,%d",sizeof(x),sizeof(3.0));// 4    8
6     printf("\n%d",x);//3
7     getchar();
8 }

2.显式转换(强制转换)

1 #include<stdio.h>
2 //    +-*/赋值->自动转换    printf需要强制转换
3 void main(){
4     printf("%c",(char)65.0);
5     getchar();
6 }

二、偷钱小程序

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 //    1234.45->1234.4
 4 //    1234.46->1234.5
 5 //    五舍六入
 6 //    1234.45->12344.5    +0.4    12344.9    12344    1234.4
 7 //    1234.46->12344.6    +0.4    12345    12345    1234.5
 8 void main(){
 9     float RMB,changeRMB;
10     scanf("%f",&RMB);
11     printf("现在有%0.2f元",RMB);
12     changeRMB=((int)(RMB*10.0f+0.4f))/10.0f;
13     printf("\n现在有%0.2f元\n",changeRMB);
14     changeRMB<RMB?printf("可以偷%f元\n",RMB-changeRMB):printf("原封不动\n");
15
16     system("pause");
17 }

练习:123.345  小数点第三位先五舍六入,第二位再四舍五入

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 //    123.345->123.340->123.300  小数点第三位先五舍六入,第二位再四舍五入
 4 //    123.346->123.350->123.400
 5 //    五舍六入,再四舍五入
 6 //    123.345->12334.5    +0.4    12334.9    12334    123.34->1233.4    +0.5    1233.9    1233    123.3
 7 //    123.346->12334.6    +0.4    12335      12335    123.35->1233.5    +0.5    1234    1234    123.4
 8 void main(){
 9     float RMB,change_start_RMB,change_end_RMB;
10     scanf("%f",&RMB);
11     printf("现在有%0.3f元",RMB);
12     change_start_RMB=((int)(RMB*100.0f+0.4f))/100.0f;
13     printf("\n第三位五舍六入后有%0.3f元",change_start_RMB);
14     change_end_RMB=((int)(change_start_RMB*10.0f+0.5f))/10.0f;
15     printf("\n第二位四舍五入后有%0.3f元\n",change_end_RMB);
16     change_end_RMB<RMB?printf("可以偷%f元\n",RMB-change_end_RMB):printf("原封不动\n");
17
18     system("pause");
19 }

三、进制转换itoa

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3
 4 void main(){
 5     int num;
 6     char str[32];
 7     scanf("%d",&num);
 8     printf("%d,%u,%o,%x",num,num,num,num);//十进制,无符号十进制,八进制,16进制
 9     //要转换的数据,保存的字符串,要转换的进制
10     itoa(num,str,2);
11     printf("\n%s",str);
12
13     system("pause");
14 }

转载于:https://www.cnblogs.com/little-monkey/p/7218553.html

[c/c++] programming之路(7)、数据类型转换、偷钱小程序、进制转换相关推荐

  1. 数据的表示和运算,进制转换,BCD码,奇偶校验码,海明校验码,循环冗余码

    进制转换,逢r进一 基数:每个数码位所用到的不同符号的个数,r进制的基数为r 二进制 0 1 B 八进制 0~7 O 十进制 0~ 9 D 十六进制 0~9 ,A ~F( 10 ~15) H或0x 二 ...

  2. (二) 数据存储_进制转换_编码_字节

    文章目录 数据如何存储到计算机? 寄存器 高速缓冲存储器(Cache) 内存 硬盘 进制转换 [1] 十进制->二进制 [2] 二进制->十进制 [3] 十进制->八进制 [4] 八 ...

  3. Python 学习之 --- 语法部分(变量、标识符、关键字、进制转换、数据类型转换、运算符)

    文章目录 一.变量 1. 变量类型 2. 示例 二.标识符 1. 命名规则 2. 示例 三.关键字 四.进制转换 五.数据类型转换 六.运算符 1. 算数运算符 2. 赋值运算符和复合赋值运算符 3. ...

  4. Algorithm:【Algorithm算法进阶之路】之算法中的数学编程相关习题(时间速度、进制转换、排列组合、条件概率、斐波那契数列)

    Algorithm:[Algorithm算法进阶之路]之算法中的数学编程相关习题(时间速度.进制转换.排列组合.条件概率.斐波那契数列) 目录 时间速度 排列组合 进制转换 条件概率 斐波那契数列 时 ...

  5. c语言变量名必须用小写 常量用大写,day02 -C语言 常量 变量 数据类型 进制转换 数据溢出...

    常量 - 不会变化的数据 "hello" 'A' 10 3.14 #define PI 3.14 //采用宏定义的方法 定义一个常量 const int a = 10; 求圆的面积 ...

  6. 微信小程序数据拼接_微信小程序 数据预拉取

    数据预拉取 预拉取能够在小程序冷启动的时候通过微信后台提前向第三方服务器拉取业务数据,当代码包加载完时可以更快地渲染页面,减少用户等待时间,从而提升小程序的打开速度 . 使用流程 1. 配置数据下载地 ...

  7. javascript 西瓜一期 14 回顾 字符与编码 进制转换 数据保存

    回顾前情 >字符都有一个编码对应 比如 字符a对应的编码是97(十进制) 所以如果保存了一个内容,只是字符a 会把a对应的编码进行保存 然而97计算机也不可以直接识别 电脑会把十进制的97转换为 ...

  8. 计算机系统-理论-CPU操作/处理数据的方式/寻址方式/局部性原理/位运算/进制转换

    在计算机中,cpu将一切硬件,都看成内存,各种硬件在CPU的眼中都是下面这样子的 CPU对硬件的操作,其实就是和这些硬件的内存或者BIOS进行交互,CPU能做且只能做三件事 1.将某个地址中存储的字节 ...

  9. Excel——keil5内存数据进制转换

    前言:keil5当中的仿真h可以查看内存数据,但内存中的数据一般都是十六进制,不方便观察计算,所以当数据量小的时候,可以把仿真中的数据粘贴到excel分析.   直接将仿真中的内存数据粘贴到excel ...

最新文章

  1. Convert(varchar(8),Getdate(),108) 什么意思
  2. Batch Normalization原文详细解读
  3. 作者:桑基韬(1985-),男,博士,中国科学院自动化研究所副研究员
  4. html5学习笔记6-- canvas
  5. 基于java企业人事管理系统mysql
  6. c语言中0x13,int 0x13 常用功能详解
  7. linux c 开发 英文简历,软件工程师英文简历范文
  8. vscode 登陆leetcode 报错:Accessing non-existent property ‘padLevels‘ of module
  9. 关于bitlocker加密后的格式化
  10. SEM数据分析之做好关键词报告
  11. python 存储图片_使用python存储网页上的图片实例
  12. 利用青龙面版实现内网穿透,超级简单方法
  13. batocera整合包_OGA 官方固件 + Retroarch + 睡眠模式 ES整合包
  14. Kotlin Parcelize注解 即kotlin-android-extensions抛弃之后
  15. 海店湾养生专家:被称为油料之王的“神奇的豆子”,你知道它吗?
  16. 使用虹软SDK实现离线人脸注册,人脸登录(H5-JS前端,java后台)
  17. 华为副总裁鸿蒙,华为副总裁霸气官宣!鸿蒙系统更新机型再次更新:3月31日全新推送升级...
  18. 股票macd指标api接口
  19. 完爆面试官!阿里P7级别面试经验总结,知乎上转疯了!
  20. Redis主从复制、哨兵机制

热门文章

  1. Poj 2109 k^n = p.
  2. 硬件断点 DrxHook
  3. Cucumber 入门一
  4. github上传代码
  5. java获取eureka_Spring Cloud服务发现:Eureka客户端
  6. dataframe第二列 r语言_R语言-数据框
  7. kali-linux下搭建DVWA环境
  8. Video Game Troubles(有依赖的背包)
  9. 1390: 队列问题(1)(vector模拟)
  10. 阿里云IoT何云飞:智物Cloud AIoT Native 为何能让设备智能更快一步