一、数据类型转换

 #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)、数据类型转换、偷钱小程序、进制转换的更多相关文章

  1. [c/c++] programming之路(5)、吓人小程序、变量、进制等

    一.设计一个吓人的东西 首先创建MFC项目(勾选“基于对话框”后点击完成即可) 添加三个按钮 双击按钮进入响应代码段 void CMFCWindowsDlg::OnBnClickedButton1() ...

  2. 第一百二十七节,JavaScript,JSON数据类型转换,数据转换成字符串,字符串转换成数据

    第一百二十七节,JavaScript,JSON数据类型转换,数据转换成字符串,字符串转换成数据 学习要点: 1.JSON语法 2.解析和序列化 前两章我们探讨了XML的结构化数据,但开发人员还是觉得这 ...

  3. JavaSE学习(二):进制转换—数据类型转换—Java运算符

    一.进制转换 1.1 其他进制转十进制(以十六进制为例): 十六进制范围:0-9, A-F对应数字10-15 2A7E(16)  =  14*16(0) +7*16(1) + 10*16(2)  + ...

  4. java se系列(二) 关键字、注释、常量、进制转换、变量、数据类型转换、运算符

    1 关键字 1.1 关键字的概述 Java的关键字对java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名.方法名.类名.包名. 1.2 常见的关键字 备注 ...

  5. 2 Java基础语法(keyword,标识符,凝视,常量,进制转换,变量,数据类型,数据类型转换)

    1:keyword(掌握) (1)被Java语言赋予特定含义的单词 (2)特点: 所有小写. (3)注意事项: A:goto和const作为保留字存在. B:类似于Notepad++这种高级记事本会对 ...

  6. Java基础复习之一篇:关健字,标识符,注释,常量,进制转换,变量,数据类型,数据类型转换

    1.关健字 1.1.被Java语言赋予特定意义的单词(如:class,interface,public ,static) 1.2.全部是小写 1.3.注意事项(goto和const作为关健字保留起来) ...

  7. 大数据学习--day02(标识符、变量、数据类型、类型转换、进制转换、原码反码补码)

    标识符.变量.数据类型.类型转换.进制转换.原码反码补码 标识符: java50个关键字不能做标识符,以数字开头不能做标识符(这个老是忘记写一个类名的时候) 变量: 变量分为成员变量和局部变量,注意作 ...

  8. 小程序开发-7-访问api数据与ES6在小程序中的应用

    访问API数据与ES6在小程序中的应用 看待组件的两种观点 组件复用 代码分离-(特别重要) 不能在一个页面写所有的代码,代码分离具有很强的可读性.可维护性 Blink Api 介绍与测试API ur ...

  9. Java 基础入门随笔(2) JavaSE版——关键字、进制转换、类型转换

    1.Java语言-关键字 关键字:被java语言赋予了特殊含义的词,特点是所有的字母都为小写. java涉及到的关键字整理: 用于定义数据类型的关键字 class interface byte sho ...

随机推荐

  1. Linq测试/查看工具——LinqPad

    LinqPad 官方:http://www.linqpad.net/ 介绍: 即时测试任何C#/ F#/ VB片段或程序LINQ支持--SQL / CE / Azure,Oracle,SQLite和M ...

  2. Cocos Creator iPhoneX适配的解决办法

    研究了5个小时的iPhoneX适配. 从catalog,storyboard,safearea等一系列文章中发现.如果我们想完全撑满全屏.那直接建一个storyboard就好了.但撑满全屏后,流海就是 ...

  3. 部署一个不依赖tomcat容器的应用

    一个task项目,应用里边都是一些定时任务.我和新入职的高开商定程序部署不依赖于tomcat. 计划赶不上变化,任务开发完成还没等上线呢,哥们要离职了.工作交接时大概说了一下上线怎么部署. 结果呢,当 ...

  4. php实现记住密码下次自动登陆

    这篇博客里面还写到 实现“记住我的登录状态”的功能方法,简言之,就是对首先对session进行用户信息赋值,检测session,失效后,利用cookie对其赋值: 在实现过程中,根据网上一些代码贴,整 ...

  5. react native中使用 react-native-easy-toast 和react-native-htmlview

    第一步,下载依赖 npm install react-native-htmlview --save npm install react-native-easy-toast --save 第二步,引入 ...

  6. 笔记 : 将本地项目上传到GitHub

    一.准备工作 1. 注册github账号https://github.com, 安装git工具 https://git-for-windows.github.io/ 2. 创建SSH KEY(由于本地 ...

  7. JS实例5

    做这么一个效果  鼠标单击某个名字后变色,没选中的鼠标移动上去变色 首先布局这个效果,然后给每个表格添加单击事件onclick.鼠标放上事件onmousemove.鼠标移出事件onmouseout 容 ...

  8. c#关于字符串格式化

    1. 如何使用文化来格式化日期 如: /// <summary> /// 根据语言获取文化名称 /// </summary> /// <returns></r ...

  9. 《大话设计模式》c++实现 之策略模式

    一.UML图   二.概念 策略模式:他定义了算法家族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的客户.   三.优点 (1)策略模式是一种定义一系列算法的方法,从 ...

  10. Rpgmakermv(33) Mog_PictureGallery

    ============================================================================= +++ MOG - Picture Gall ...