[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 ...
随机推荐
- 42.PHP--电商网站的询价插件
windows下使用php自带的mail函数实现简单的邮件发送实例(QQ亲试成功) 功能实现:通过中间邮箱把客户的需求和产品信息全部发送到公司的业务员邮箱 环境及工具: win7_64bit phps ...
- nodejs+react使用webpack打包时控制台报错
一.错误:Uncaught ReferenceError: process is not defined 解决方法: new webpack.DefinePlugin({ 'process.env': ...
- LeetCode167.两数之和II-输入有序数组
给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数. 函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2. 说明: 返回的下标值 ...
- jQuery显示隐藏
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- TP图片上传
//控制器文件 public function index(){ if(!empty($_POST)){ $file = $_FILES["file"]; if(!isset($f ...
- 初识gispro
因为之前一直用的arcmap,由于项目中用到三维数据的服务发布,需要用到gispro.Gispro与arcmap用法还是有些不同.仅用此文来记录一些简易操作. Gispro简介 ArcGIS Pro是 ...
- Python全栈-异常处理
一.异常 1.异常的定义 异常是错误发生的信号,程序一旦出错就会抛出错误信息,如果不及时处理就会程序就会随之停止运行 异常有三部分组成: 1)异常类型 2)异常追踪 3)异常的值 2.异常的分类 1) ...
- codeoforces 932A
题意: A和B在玩一个游戏,首先有一个X0 >= 3,之后选择一个小于X0的质数p,然后在找一个最小的X1 >= X0,并且p可以整除X1:之后再选择一个小于X1的质数p,然后再找一个最小 ...
- 【Redis学习之七】Redis持久化
环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk8 redis-2.8.18 什么是持久化? 将数据从掉电易失的 ...
- MySQL 查询表中某字段值重复的数据
MySQL中,查询表(dat_bill_2018_11)中字段(product_id)值重复的记录: ; 说明:先用GROUP BY 对 product_id 进行分组,同时使用COUNT(*)进行统 ...