C++ 数字
通常,当我们需要用到数字时,我们会使用原始的数据类型,如 int、short、long、float 和 double 等等。这些用于数字的数据类型,其可能的值和数值范围,我们已经在 C++ 数据类型一章中讨论过。

C++ 定义数字
我们已经在之前章节的各种实例中定义过数字。下面是一个 C++ 中定义各种类型数字的综合实例:

实例
#include <iostream>
using namespace std;int main ()
{// 数字定义short  s;int    i;long   l;float  f;double d;// 数字赋值s = 10;      i = 1000;    l = 1000000; f = 230.47;  d = 30949.374;// 数字输出cout << "short  s :" << s << endl;cout << "int    i :" << i << endl;cout << "long   l :" << l << endl;cout << "float  f :" << f << endl;cout << "double d :" << d << endl;return 0;
}

当上面的代码被编译和执行时,它会产生下列结果:

short  s :10
int    i :1000
long   l :1000000
float  f :230.47
double d :30949.4

C++ 数学运算
在 C++ 中,除了可以创建各种函数,还包含了各种有用的函数供您使用。这些函数写在标准 C 和 C++ 库中,叫做内置函数。您可以在程序中引用这些函数。

C++ 内置了丰富的数学函数,可对各种数字进行运算。下表列出了 C++ 中一些有用的内置的数学函数。

为了利用这些函数,您需要引用数学头文件 。

序号 函数 & 描述
1 double cos(double);
该函数返回弧度角(double 型)的余弦。
2 double sin(double);
该函数返回弧度角(double 型)的正弦。
3 double tan(double);
该函数返回弧度角(double 型)的正切。
4 double log(double);
该函数返回参数的自然对数。
5 double pow(double, double);
假设第一个参数为 x,第二个参数为 y,则该函数返回 x 的 y 次方。
6 double hypot(double, double);
该函数返回两个参数的平方总和的平方根,也就是说,参数为一个直角三角形的两个直角边,函数会返回斜边的长度。
7 double sqrt(double);
该函数返回参数的平方根。
8 int abs(int);
该函数返回整数的绝对值。
9 double fabs(double);
该函数返回任意一个浮点数的绝对值。
10 double floor(double);
该函数返回一个小于或等于传入参数的最大整数。
下面是一个关于数学运算的简单实例:

实例
#include <iostream>
#include <cmath>
using namespace std;int main ()
{// 数字定义short  s = 10;int    i = -1000;long   l = 100000;float  f = 230.47;double d = 200.374;// 数学运算cout << "sin(d) :" << sin(d) << endl;cout << "abs(i)  :" << abs(i) << endl;cout << "floor(d) :" << floor(d) << endl;cout << "sqrt(f) :" << sqrt(f) << endl;cout << "pow( d, 2) :" << pow(d, 2) << endl;return 0;
}

当上面的代码被编译和执行时,它会产生下列结果:

sin(d) :-0.634939
abs(i)  :1000
floor(d) :200
sqrt(f) :15.1812
pow( d, 2 ) :40149.7

C++ 随机数
在许多情况下,需要生成随机数。关于随机数生成器,有两个相关的函数。一个是 rand(),该函数只返回一个伪随机数。生成随机数之前必须先调用 srand() 函数。

下面是一个关于生成随机数的简单实例。实例中使用了 time() 函数来获取系统时间的秒数,通过调用 rand() 函数来生成随机数:

实例
#include <iostream>
#include <ctime>
#include <cstdlib>using namespace std;int main ()
{int i,j;// 设置种子srand( (unsigned)time( NULL ) );/* 生成 10 个随机数 */for( i = 0; i < 10; i++ ){// 生成实际的随机数j= rand();cout <<"随机数: " << j << endl;}return 0;
}

当上面的代码被编译和执行时,它会产生下列结果:

随机数: 1748144778
随机数: 630873888
随机数: 2134540646
随机数: 219404170
随机数: 902129458
随机数: 920445370
随机数: 1319072661
随机数: 257938873
随机数: 1256201101
随机数: 580322989

C++基础教程之如何定义数字相关推荐

  1. python类class定义_python基础教程之类class定义使用方法

    面对对象(oop)中的对象,是一个非常重要的知识点,我们可以把它简单看做是数据以及由存取.操作这些数据的方法所组成的一个集合.我们在学习函数(function)之后,知道了如果重用代码,那为什么还要用 ...

  2. C语言基础教程 之 如何定义变量!

    变量定义就是告诉编译器在何处创建变量的存储,以及如何创建变量的存储.变量定义指定一个数据类型,并包含了该类型的一个或多个变量的列表,如下所示: type variable_list; 在这里,type ...

  3. C语言基础教程之如何定义变量

    变量定义就是告诉编译器在何处创建变量的存储,以及如何创建变量的存储.变量定义指定一个数据类型,并包含了该类型的一个或多个变量的列表,如下所示: type variable_list; 在这里,type ...

  4. 莫烦Python[基础教程]

    python基础教程一 安装 定义功能 函数参数 函数默认参数 可变参数 关键字参数 变量形式 模块安装 文件读取 文件读取1 文件读取2 文件读取3 Class类 input输入 元组.列表.字典 ...

  5. javascript基础教程_JavaScript基础教程(九)对象、类的定义与使用

    对象.类的定义与使用 对象与类是面向对象程序设计语言教学过程中不可避免需要讲解的内容之一.很多人将两者混为一谈,简单认为对象就是类,类就是对象.实际上深入分析的话,对象与类的区别还是较为明显的.本文主 ...

  6. python平稳性检验_时间序列预测基础教程系列(14)_如何判断时间序列数据是否是平稳的(Python)...

    时间序列预测基础教程系列(14)_如何判断时间序列数据是否是平稳的(Python) 发布时间:2019-01-10 00:02, 浏览次数:620 , 标签: Python 导读: 本文介绍了数据平稳 ...

  7. python中的正则表达式语法_Python基础教程之正则表达式基本语法以及re模块

    什么是正则: 正则表达式是可以匹配文本片段的模式. 正则表达式'Python'可以匹配'python' 正则是个很牛逼的东西,python中当然也不会缺少. 所以今天的Python就跟大家一起讨论一下 ...

  8. python基础教程博客_python基础教程(一)

    之所以选择py交易有以下几点:1.python是胶水语言(跨平台),2.python无所不能(除了底层),3.python编写方便(notepad++等文本编辑器就能搞事情),4.渗透方面很多脚本都是 ...

  9. Spring Boot 2.x基础教程:JSR-303实现请求参数校验

    点击蓝色"程序猿DD"关注我 回复"资源"获取独家整理的学习资料! 作者 | 翟永超 来源 | didispace.com/spring-boot-learni ...

最新文章

  1. 时间周期 java_周期和持续时间 / Period and Duration
  2. 设计模式之观察者模式demo
  3. 产品认知:产品经理如何锻炼产品思维?
  4. ffmpeg命令 抓屏_使用FFmpeg从视频中截图的命令 | 学步园
  5. 为什么 Oracle 应该主推 NetBeans
  6. 面向对象程序设计课第四次作业
  7. Unity游戏建议对话功能 Fungus插件。
  8. Latex slide中添加算法流程图
  9. 设计一个雇员Employee类
  10. LNMP架构搭建编译安装详细部署
  11. QT for Android 修改图标与名称
  12. NGS数据分析实践:06. 数据预处理 - 序列比对+PCR重复标记+Indel区域重比对+碱基质量重校正
  13. (转)视觉工程师笔试知识汇总
  14. 图像增强(拉普拉斯锐化增强)
  15. 农家女靠养花赚钱,年收入几十万
  16. e城e家携新奥智慧共创美丽枣庄
  17. JavaBean对象与jfinal的Record对象互转
  18. 民非企业盈利怎么处理_​民办非企业利息收入如何处理
  19. javaEE的13个规范
  20. 上海电信的iptv穿越dd-wrt

热门文章

  1. [转载] Python轻量Web框架Flask使用
  2. [转载] 使用Python处理Excel文件
  3. [转载] 5.2 calendar--通用日期的相关函数(4)
  4. Xilinx Altera FPGA中的逻辑资源(Slices VS LE)比较
  5. MySQL中boolean类型设置
  6. 由href return false 来看阻止默认事件
  7. 返回表对象的方法之一--bulk collect into
  8. 关于Jquery.Data()和HTML标签的data-*属性
  9. How to make BBED(Oracle Block Brower and EDitor Tool) on Unix/Linux/Windows
  10. Community Server Resources