05C++数据类型
一、单精度实数float
教学视频A
例程1:金字塔的底是正方形,侧面由四个大小相等的等腰三角形构成。试编一程序,输入底和高,输出三角形的面积。
#include <iostream> //包含输入输出流头文件iostream
using namespace std; //指明程序 使用命名空间std(标准)
int main()
{
int a,h;
float s;
cout<<"a,h=";
cin>>a>>h;
s=a*h/2.0;
cout<<"s="<<s<<endl;
return 0;
}
英汉小词典
float [floʊt] 实数、浮点数
练习:
1、世界著名计算机科学家、美国国家科学院院士,美国艺术与科学院院士、中国科学院院士中国科学院院士姚期智因在计算机理论方面的基础性贡献,2000年获得美国计算机学会颁发的( )。
A.金鸡奖 B.诺贝尔奖 C.菲尔兹奖 D.图灵奖
2、阅读程序写结果
#include <iostream> //包含输入输出流头文件iostream
using namespace std; //指明程序 使用命名空间std(标准)
int main()
{
int ans;
float n;
cin>>n;
n*=100;
n+=0.5;
ans=n;
cout<<ans<<endl;
return 0;
}
输入:0.628
ans和n输出:
3、完善程序。
尼克非常喜欢喝妈妈煮的糖水,但糖吃多了会影响健康。现在有糖20%的糖水15克,问再加多少水,糖水中的含糖量会变为15%。
1 /*
2 3、完善程序。
3 尼克非常喜欢喝妈妈煮的糖水,但糖吃多了会影响健康。
4 现在有糖20%的糖水15克,问再加多少水,糖水中的含糖量会变为15%。
5 */
6
7 #include <iostream> //包含输入输出流头文件iostream
8 using namespace std; //指明程序 使用命名空间std(标准)
9 int main()
10 {
11 float tang,shui,tangshui;
12 tang=15*0.2; //先求出糖水中含糖多少克,加水后糖不变
13 tangshui=tang/0.15;
14 shui= ;
15 cout<<"应加水:"<< <<"克"<<endl;
16 return 0;
17 }
二、整除及整除求余运算符的应用
教学视频A
"%"在C++中是整除求余的运算符,又叫模运算符。
例程1:试编一程序,输入一个两位数,交换十位与个位上的数字,并输出。
#include <iostream> //包含输入输出流头文件iostream
using namespace std; //指明程序 使用命名空间std(标准)
int main()
{
int n,ge,shi;
cout<<"请输入一个两位数:";
cin>>n;
shi=n/10; //整除取商赋值给shi
ge=n%10; //求余运算符(模运算符) ,用10整除求余值并赋值给ge。
n=ge*10+shi; //对余数乘10,再加上商并赋给n。
cout<<n<<endl;
return 0;
}
练习:
1、C++中,315%2的运算结果是( )。
A.315 B.-157 C.1 D.-1
2、阅读程序写变量a、b、c、d的结果
#include <iostream> //包含输入输出流头文件iostream
using namespace std; //指明程序 使用命名空间std(标准)
int main()
{
int a,b,c,d;
cin>>a>>b;
c=a/b; //整除取商赋值给c
d=a%b; //求余运算符(模运算符) ,用b整除求余值并赋值给d。
cout<<a<<'/'<<b<<'=';
cout<<c<<"......"<<d<<endl;
return 0;
}
3、完善程序。
输入一个三位数,输出它的各个数位之和。
1 /*
2 完善程序
3 输入一个三位数,输出它的各个数位之和。
4 */
5
6 #include <iostream> //包含输入输出流头文件iostream
7 using namespace std; //指明程序 使用命名空间std(标准)
8 int main()
9 {
10 int n,ge,shi,bai,he;
11 cout<<"请输入一个三位数:";
12 ;
13 ge=n%10; //求出个位数
14 shi=(n/10)%10; //求出十位数
15 bai= ; //求出百位数
16 he=ge+shi+bai;
17 cout<<"各个数位之和是:"<<he<<endl;
18 return 0;
19 }
三、ASCII码与字符型
教学视频A
计算机中的所有数据在存储和运算时都是用二进制数表示,而具体用哪些二进制数字表示,每个人都可以约定自己的一套编码。大家如果想要互相通信而不造成混乱,那么就必须使用相同的编码规则,于是美国有关的标准化组织就出台了ASCII编码(美国标准信息交换代码)。标准ASCII码(基础ASCII码)使用指定的7位二进制数组合来表示128种可能的字符。基本的 ASCII 字符集共有 128 个字符,其中有 96 个可打印字符,包括常用的字母、数字、标点符号等,另外还有 32 个控制字符。虽然标准 ASCII 码是 7 位编码,但由于计算机基本处理单位为字节( 1byte = 8bit ),所以一般仍以一个字节来存放一个 ASCII 字符。每一个字节中多余出来的一位(最高位)在计算机内部通常保持为 0 (在数据传输时可用作奇偶校验位)。
| 字符 | ASCII值 | 字符 | ASCII值 |
|---|---|---|---|
| 空格 | 32 | 0 | 48 |
| 9 | 57 | A | 65 |
| Z | 90 | a | 97 |
| z | 122 |

将一个字符常量存放到内存单元时,实际上并不是把该字符本身存放到内存单元中,而是将该字符相应的ASCII码存放到存储单元中。如下图,字符变量k的值为'A'。

既然字符数据是以ASCII码存储的,它的存储形式就与整数的存储形式类似。这样,C++中字符型数据和整型数据之间就可以互相通用。一个字符数据可以赋给一个整型变量,反之,一个整型数据可以赋给一个字符变量。对字符数据进行算术运算,其实对它们的ASCII码进行算术运算。
字符型数据,只能包含一个字符,用一对单撇号括起来,如'+'、'b'、'8'、'#'等,用关键字char定义字符型变量。
例程:试编一程序,输入一个小写字母,输出其大写字母。
注:字符'A'的ASCII码是65,字符'a'的ASCII码是97,两者的差值为32。
#include <iostream> //包含输入输出流头文件iostream
using namespace std; //指明程序 使用命名空间std(标准)
int main()
{
char n;
cout<<"输入a~z:";
cin>>n;
n=n-32;
cout<<n<<endl;
return 0;
}
在程序支行中值不会发生变化的量称为常量,如,'a'是字符型常量,20为整型常量,7.6为实型常量。
参考阅读:
(1)AscII码值详解
(2)ASCII百度百科
练习:
(1)为了显示本国的语言,不同国家和地区制定了不同的标准,扩充了( ),如GB_2312字符集是目前最常用的汉字编码标准。
A.ASCII码 B.补码 C.汉字编码 D.BCD码
(2)阅读程序写出变量ch和n结果
#include <iostream> //包含输入输出流头文件iostream
using namespace std; //指明程序 使用命名空间std(标准)
int main()
{
char ch;
int n;
cin>>ch;
n=ch;
cout<<ch<<' '<<n<<endl; //两个单引号之间有且只有一个空格
return 0;
}
输入:A
输出:
(3)完善程序。
1 /*
2 3、完善程序。
3 输入一个字母,输出它的前一个字母,它自己和后一个字母,如输入b,则输出abc。
4 */
5
6 #include <iostream> //包含输入输出流头文件iostream
7 using namespace std; //指明程序 使用命名空间std(标准)
8 int main()
9 {
10 char ch1,ch2,ch3;
11 cin>>ch2;
12 ch1=ch2-1;
13 ;
14 cout<<ch1<<ch2<< <<endl;
15 return 0;
16 }
四、 数据类型.转换
1. 数据类型
| 类型名 | 类型声明 | 解释说明 |
|---|---|---|
| 整型 | int | -2147483648 到 2147483647 的范围的整数 |
| 长整形 | long long | 比上面大很多很多,这里装不下,具体搜索 |
| 字符型 | char | 赋值只能是一个字符,比如 'A',必须用单引号,双表示字符串不是字符 |
| 浮点型 | float | 也叫实型或小数型,38位以内的小数,只保留6为有效数字 |
其实还有很多类型,暂时先理解这几个,后续用到的再单独讲解;
// 字符型,切记是单引号
char ch = 'a';
// 长整形
long long b = 100000000000000000;
// 浮点型,只能六位
float c = 3.1415926;
cout << b << endl;
cout << ch << endl;
cout << c << endl;
return 0;
### 2. 类型转换
- 这里我们只探讨整数和小数之间的转换,其它的放到以后;
- 类型转换分为两种:隐式转换和强制转换;
```c++
// 两边都是整数,结果也是整数:1
cout << 8 / 5 << endl;
// 两边有一边是浮点,结果是浮点:1.6
cout << 8.0 / 5 << endl;
// 强制转换浮点,float()是转换函数,将整数转换成浮点数,8叫做参数
cout << float(8) / 5 << endl;
// 强制转换整型
cout << int(3.14 * 5.25) << endl;
3. 保留小数点
首先要引入相关库:
其次使用 setprecision(n) 函数 来设置保留小数点的位数;
// 输出保留的小数点
// fixed可以在缺少的位数补零,这样就精确保证2位
cout << fixed << setprecision(2) << 3.1415926;
五、C++数据类型小结
1、C++的基本数据类型包括:
-整型(Integer Types):int、short、long、long long等。
-浮点型(Floating-Point Types):float、double、long double等。
-字符型(Character Types):char。
-布尔型(Boolean Type):bool。
-无值类型(Void Type):void。

2、拓展阅读
(1)C++基础知识|数据类型
05C++数据类型的更多相关文章
- JavaScript 中的数据类型
Javascript中的数据类型有以下几种情况: 基本类型:string,number,boolean 特殊类型:undefined,null 引用类型:Object,Function,Date,Ar ...
- JS 判断数据类型的三种方法
说到数据类型,我们先理一下JavaScript中常见的几种数据类型: 基本类型:string,number,boolean 特殊类型:undefined,null 引用类型:Object,Functi ...
- Python高手之路【二】python基本数据类型
一:数字 int int(整型): 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位系统上,整数的位数为64位,取值 ...
- UniqueIdentifier 数据类型 和 GUID 生成函数
UniqueIdentifier 数据类型用于存储GUID的值,占用16Byte. SQL Server将UniqueIdentifier存储为16字节的二进制数值,Binary(16),按照特定的格 ...
- SQL Server常见数据类型介绍
数据表是由多个列组成,创建表时必须明确每个列的数据类型,以下列举SQL Server常见数据类型的使用规则,方便查阅. 1.整数类型 int 存储范围是-2,147,483,648到2,147,483 ...
- 由js apply与call方法想到的js数据类型(原始类型和引用类型)
原文地址:由js apply与call方法想到的js数据类型(原始类型和引用类型) js的call方法与apply方法的区别在于第二个参数的不同,他们都有2个参数,第一个为对象(即需要用对象a继承b, ...
- python 数据类型 ----字典
字典由一对key:value 组成的 python中常用且重量级的数据类型 1. key , keys, values 字典由一对key:value 组成的 python中常用且重量级的数据类型 1. ...
- SQL数据类型
1.Character 字符串: 数据类型 描述 存储 char(n) 固定长度的字符串.最多8,000个字符. n varchar(n) 可变长度的字符串.最多8,000个字符. varchar ...
- 跟着老男孩教育学Python开发【第二篇】:Python基本数据类型
运算符 设定:a=10,b=20 . 算数运算 2.比较运算 3.赋值运算 4.逻辑运算 5.成员运算 基本数据类型 1.数字 int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**3 ...
- 我的MYSQL学习心得(二) 数据类型宽度
我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...
随机推荐
- MaterialDesignInXamlToolkit 5.0 发布
5.0.0 发布 这是一个重大版本更新,又许多破坏性变化 升级到5.0.0版本,请参考:https://www.cnblogs.com/sesametech-dotnet/p/18028565 变化 ...
- @Primary ,@Qualifier ,@Autowired ,@Resource作用与区别
首先阐述 @Autowired 和 @Resource 的区别 @Resource 是JDK自带的注解 可以按名称注入也可以按类型注入,默认是按名称注入,没有显式指定名称时,在spring容器中匹配与 ...
- 高强度学习训练第七天总结:JVM分配内存机制
理解JVM内存分配策略 三大原则+担保机制 JVM分配内存机制有三大原则和担保机制 具体如下所示: 优先分配到eden区 大对象,直接进入到老年代 长期存活的对象分配到老年代 空间分配担保 对象优先在 ...
- TLB一致性维护
TLB 是页表项的物理 cache,用于加速虚拟地址到物理地址的转换.CPU 在访问一个虚拟地址时,首先会在 TLB 中查找,如果找不到对应的表项,那么就称之为 TLB miss,此时就需要去内存里查 ...
- plt.gca()坐标轴移动
我们可以看到绘制出来的图有四个边框,我们通过gca()对坐标轴进行一些简单处理,代码如下. import torch import torch.nn.functional as F import ma ...
- query和params的区别
2者都是编程式路由跳转用来存放传递数据的位置,query使用path引入,数据显示在地址栏上,params使用name引入,传递的数据在页面看不见 :
- Promise.all、race和any方法都是什么意思?
// // 执行多个并行任务 const promiseAll = [ thenFs.readFile('./files/1.txt','utf8'), thenFs.readFile('./file ...
- GE反射内存卡的指标和型号
产品特性: • 1路发送,1路接收: • 光纤高速网络2.12GHz: • 最大256个节点: • 光纤协议不占用CPU资源: • 多模光纤节点距离300米:单模光纤节点距离10千米: • 板载128 ...
- KubeSphere Cloud 月刊|灾备支持 K8s 1.22+,轻量集群支持安装灾备和巡检组件
功能升级 备份容灾服务支持 K8s v1.22+ 版本集群 随着 Kubernetes 近一年频繁的发版.升级,越来越多的用户开始部署并使用高版本的 Kubernetes 集群.备份容灾服务支持 Ku ...
- 《JVM第7课》堆区
1.概念 堆是JVM中最重要的一块区域,JVM规范中规定所有的对象和数组都应该存放在堆中,在执行字节码指令时,会把创建的对象存入堆中,对象的引用地址存入虚拟机栈的栈帧中.不过当方法执行完之后,刚刚所创 ...