[c/c++] programming之路(7)、数据类型转换、偷钱小程序、进制转换
一、数据类型转换
#include<stdio.h>
//某些场合,必须进行数据类型转换,以匹配调用
void main0(){
printf("%f",);//printf不管你是什么类型,解析失败就是0 0.000000
printf("\n%d",1.0);//
printf("\n%f",(float));//1.000000
printf("\n%d",(int)1.0);//
getchar();
} void main1(){
//实数转整数,会舍弃小数点部分
//printf("%d",1/2);//0
//printf("\n%d",1/2.0);//
int num=/;
float f1=/2.0;//0.5 整数与实数,结果为实数
float f2=/;//1.000000 整数与整数,结果为整数
//1按照%f解析失败,就是0.000000
printf("%d,%f",num,num);//1 0.000000
//0.5按照%d解析失败,就是0
printf("\n%f,%d",f1,f1);//0.500000 0
printf("\n%f,%d",f2,f2);//1.000000 0
getchar();
}
1.隐式转换


#include<stdio.h>
//赋值号会自动进行赋值类型转换
void main(){
int x=3.8;
printf("%d,%d",sizeof(x),sizeof(3.0));// 4 8
printf("\n%d",x);//
getchar();
}
2.显式转换(强制转换)
#include<stdio.h>
// +-*/赋值->自动转换 printf需要强制转换
void main(){
printf("%c",(char)65.0);
getchar();
}
二、偷钱小程序
#include<stdio.h>
#include<stdlib.h>
// 1234.45->1234.4
// 1234.46->1234.5
// 五舍六入
// 1234.45->12344.5 +0.4 12344.9 12344 1234.4
// 1234.46->12344.6 +0.4 12345 12345 1234.5
void main(){
float RMB,changeRMB;
scanf("%f",&RMB);
printf("现在有%0.2f元",RMB);
changeRMB=((int)(RMB*10.0f+0.4f))/10.0f;
printf("\n现在有%0.2f元\n",changeRMB);
changeRMB<RMB?printf("可以偷%f元\n",RMB-changeRMB):printf("原封不动\n"); system("pause");
}
练习:123.345 小数点第三位先五舍六入,第二位再四舍五入
#include<stdio.h>
#include<stdlib.h>
// 123.345->123.340->123.300 小数点第三位先五舍六入,第二位再四舍五入
// 123.346->123.350->123.400
// 五舍六入,再四舍五入
// 123.345->12334.5 +0.4 12334.9 12334 123.34->1233.4 +0.5 1233.9 1233 123.3
// 123.346->12334.6 +0.4 12335 12335 123.35->1233.5 +0.5 1234 1234 123.4
void main(){
float RMB,change_start_RMB,change_end_RMB;
scanf("%f",&RMB);
printf("现在有%0.3f元",RMB);
change_start_RMB=((int)(RMB*100.0f+0.4f))/100.0f;
printf("\n第三位五舍六入后有%0.3f元",change_start_RMB);
change_end_RMB=((int)(change_start_RMB*10.0f+0.5f))/10.0f;
printf("\n第二位四舍五入后有%0.3f元\n",change_end_RMB);
change_end_RMB<RMB?printf("可以偷%f元\n",RMB-change_end_RMB):printf("原封不动\n"); system("pause");
}
三、进制转换itoa
#include<stdio.h>
#include<stdlib.h> void main(){
int num;
char str[];
scanf("%d",&num);
printf("%d,%u,%o,%x",num,num,num,num);//十进制,无符号十进制,八进制,16进制
//要转换的数据,保存的字符串,要转换的进制
itoa(num,str,);
printf("\n%s",str); system("pause");
}
[c/c++] programming之路(7)、数据类型转换、偷钱小程序、进制转换的更多相关文章
- [c/c++] programming之路(5)、吓人小程序、变量、进制等
一.设计一个吓人的东西 首先创建MFC项目(勾选“基于对话框”后点击完成即可) 添加三个按钮 双击按钮进入响应代码段 void CMFCWindowsDlg::OnBnClickedButton1() ...
- 第一百二十七节,JavaScript,JSON数据类型转换,数据转换成字符串,字符串转换成数据
第一百二十七节,JavaScript,JSON数据类型转换,数据转换成字符串,字符串转换成数据 学习要点: 1.JSON语法 2.解析和序列化 前两章我们探讨了XML的结构化数据,但开发人员还是觉得这 ...
- JavaSE学习(二):进制转换—数据类型转换—Java运算符
一.进制转换 1.1 其他进制转十进制(以十六进制为例): 十六进制范围:0-9, A-F对应数字10-15 2A7E(16) = 14*16(0) +7*16(1) + 10*16(2) + ...
- java se系列(二) 关键字、注释、常量、进制转换、变量、数据类型转换、运算符
1 关键字 1.1 关键字的概述 Java的关键字对java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名.方法名.类名.包名. 1.2 常见的关键字 备注 ...
- 2 Java基础语法(keyword,标识符,凝视,常量,进制转换,变量,数据类型,数据类型转换)
1:keyword(掌握) (1)被Java语言赋予特定含义的单词 (2)特点: 所有小写. (3)注意事项: A:goto和const作为保留字存在. B:类似于Notepad++这种高级记事本会对 ...
- Java基础复习之一篇:关健字,标识符,注释,常量,进制转换,变量,数据类型,数据类型转换
1.关健字 1.1.被Java语言赋予特定意义的单词(如:class,interface,public ,static) 1.2.全部是小写 1.3.注意事项(goto和const作为关健字保留起来) ...
- 大数据学习--day02(标识符、变量、数据类型、类型转换、进制转换、原码反码补码)
标识符.变量.数据类型.类型转换.进制转换.原码反码补码 标识符: java50个关键字不能做标识符,以数字开头不能做标识符(这个老是忘记写一个类名的时候) 变量: 变量分为成员变量和局部变量,注意作 ...
- 小程序开发-7-访问api数据与ES6在小程序中的应用
访问API数据与ES6在小程序中的应用 看待组件的两种观点 组件复用 代码分离-(特别重要) 不能在一个页面写所有的代码,代码分离具有很强的可读性.可维护性 Blink Api 介绍与测试API ur ...
- Java 基础入门随笔(2) JavaSE版——关键字、进制转换、类型转换
1.Java语言-关键字 关键字:被java语言赋予了特殊含义的词,特点是所有的字母都为小写. java涉及到的关键字整理: 用于定义数据类型的关键字 class interface byte sho ...
随机推荐
- Linq测试/查看工具——LinqPad
LinqPad 官方:http://www.linqpad.net/ 介绍: 即时测试任何C#/ F#/ VB片段或程序LINQ支持--SQL / CE / Azure,Oracle,SQLite和M ...
- Cocos Creator iPhoneX适配的解决办法
研究了5个小时的iPhoneX适配. 从catalog,storyboard,safearea等一系列文章中发现.如果我们想完全撑满全屏.那直接建一个storyboard就好了.但撑满全屏后,流海就是 ...
- 部署一个不依赖tomcat容器的应用
一个task项目,应用里边都是一些定时任务.我和新入职的高开商定程序部署不依赖于tomcat. 计划赶不上变化,任务开发完成还没等上线呢,哥们要离职了.工作交接时大概说了一下上线怎么部署. 结果呢,当 ...
- php实现记住密码下次自动登陆
这篇博客里面还写到 实现“记住我的登录状态”的功能方法,简言之,就是对首先对session进行用户信息赋值,检测session,失效后,利用cookie对其赋值: 在实现过程中,根据网上一些代码贴,整 ...
- react native中使用 react-native-easy-toast 和react-native-htmlview
第一步,下载依赖 npm install react-native-htmlview --save npm install react-native-easy-toast --save 第二步,引入 ...
- 笔记 : 将本地项目上传到GitHub
一.准备工作 1. 注册github账号https://github.com, 安装git工具 https://git-for-windows.github.io/ 2. 创建SSH KEY(由于本地 ...
- JS实例5
做这么一个效果 鼠标单击某个名字后变色,没选中的鼠标移动上去变色 首先布局这个效果,然后给每个表格添加单击事件onclick.鼠标放上事件onmousemove.鼠标移出事件onmouseout 容 ...
- c#关于字符串格式化
1. 如何使用文化来格式化日期 如: /// <summary> /// 根据语言获取文化名称 /// </summary> /// <returns></r ...
- 《大话设计模式》c++实现 之策略模式
一.UML图 二.概念 策略模式:他定义了算法家族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的客户. 三.优点 (1)策略模式是一种定义一系列算法的方法,从 ...
- Rpgmakermv(33) Mog_PictureGallery
============================================================================= +++ MOG - Picture Gall ...