[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 ...
随机推荐
- python date time
//test.py import time ticks = time.time()print tickslocaltime = time.localtime(time.time())print loc ...
- gedit 没有preference项,使preference回归,并用命令行设置行号,解决centos7下中文乱码,text wrapping等问题
1. 最简单的,使preference选项回来: gsettings set org.gnome.settings-daemon.plugins.xsettings overrides '@a{sv} ...
- 从零开始一起学习SLAM | 学习SLAM到底需要学什么?
SLAM涉及的知识面很广,我简单总结了 “SLAM知识树” 如下所示: (公众号菜单栏回复 “树” 可获得清晰版) 可以看到涉及的知识面还是比较广的.这里放出一张SLAM圈子里喜闻乐见的表达悲喜交加心 ...
- node.js初识08
1.模块的概念,在前端的世界里,jq和js的关系,在后台里就是express和原生node的关系, 2.每一个js里的函数都只在当前文件里起作用,如果你希望在其他js里调用这个函数,这么你需要在这个j ...
- 本地计算机上的SQLServer(MSSQLSERVER)服务启动后停止,某些服务在未由其他服务或程序使用时将自动停止
SQLServer的服务启动问题: 本地计算机上的SQLServer(MSSQLSERVER)服务启动后停止,某些服务在未由其他服务或程序使用时将自动停止 出现这个问题导致无法启动SQLServer服 ...
- nat123学习笔记
1.NAT123内网映射端口 在无内网路由管理员权限的情况下,需要将内网web应用暴露到公网访问,此时需要用到花生壳或者nat123(两个应用都不是免费的,其中花生壳可以8元认证,以后免费使用,nat ...
- 水题C
某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米.我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置:数轴上的每个整数点,即0,1,2,……,L,都种有一棵树. ...
- Java -cp 命令查看 zookeeper 日志
- 使用Java注解自动化处理对应关系实现注释代码化
概述 假设我们要从一个 ES 索引(相当于一张DB表)查询数据,ES表有 biz_no, type, status 等字段, 而应用对象则有属性 bizNo, type, status 等.这样,就会 ...
- python pandas使用数据透视表
1) 官网啰嗦这一堆, pandas.pivot_table函数中包含四个主要的变量,以及一些可选择使用的参数.四个主要的变量分别是数据源data,行索引index,列columns,和数值value ...