主页
  • 主页
  • 分类
  • 热文
  • 教程
  • 面试
  • 标签
C++

C++ 基础

C++ 主页
C++ 概述
C++ 环境
C++ 基本语法
C++ 注释
C++ 数据类型
C++ Hello, World
C++ 省略命名空间
C++ 数值类型
C++ 字符类型
C++ 布尔类型
C++ 变量
C++ 作用域
C++ 多个变量
C++ 输入输出基础
C++ 常量/文字
C++ 修饰符类型
C++ 存储类别
C++ 操作符
C++ 决策结构
C++ 循环结构
C++ foreach 循环
C++ 数字
C++ 数组
C++ 指针
C++ 枚举类型
C++ 引用变量
C++ 日期与时间
C++ 结构体
C++ 联合类型

C++ 字符串

C++ 字符串
C++ 字符串长度
C++ 字符串连接

C++ 函数

C++ 函数
C++ 多参数函数
C++ 递归
C++ return 语句
C++ 函数重载
C++ 函数重写

C++ 面向对象

C++ 面向对象
C++ 类和对象
C++ 多重继承
C++ 多层次继承
C++ 继承
C++ 重载
C++ 多态性
C++ 抽象
C++ 封装
C++ 接口

C++ 高级

C++ 文件和流
C++ 异常处理
C++ 动态内存
C++ 命名空间
C++ 模板
C++ 预处理器
C++ 信号量
C++ 多线程
C++ Web 编程
C++ 高级概念

基础

C++ 主页
C++ 概述
C++ 环境
C++ 基本语法
C++ 注释
C++ 数据类型
C++ Hello, World
C++ 省略命名空间
C++ 数值类型
C++ 字符类型
C++ 布尔类型
C++ 变量
C++ 作用域
C++ 多个变量
C++ 输入输出基础
C++ 常量/文字
C++ 修饰符类型
C++ 存储类别
C++ 操作符
C++ 决策结构
C++ 循环结构
C++ foreach 循环
C++ 数字
C++ 数组
C++ 指针
C++ 枚举类型
C++ 引用变量
C++ 日期与时间
C++ 结构体
C++ 联合类型

字符串

C++ 字符串
C++ 字符串长度
C++ 字符串连接

函数

C++ 函数
C++ 多参数函数
C++ 递归
C++ return 语句
C++ 函数重载
C++ 函数重写

面向对象

C++ 面向对象
C++ 类和对象
C++ 多重继承
C++ 多层次继承
C++ 继承
C++ 重载
C++ 多态性
C++ 抽象
C++ 封装
C++ 接口

高级

C++ 文件和流
C++ 异常处理
C++ 动态内存
C++ 命名空间
C++ 模板
C++ 预处理器
C++ 信号量
C++ 多线程
C++ Web 编程
C++ 高级概念

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++ 中可用的一些内置数学函数。

要利用这些函数,你需要包含数学头文件 <cmath>。

表一:函数及其用途

  1. double cos(double);
    这个函数接收一个角度(作为 double 类型)并返回余弦值。

  2. double sin(double);
    这个函数接收一个角度(作为 double 类型)并返回正弦值。

  3. double tan(double);
    这个函数接收一个角度(作为 double 类型)并返回正切值。

  4. double log(double);
    这个函数接收一个数字并返回该数字的自然对数。

  5. double pow(double, double);
    第一个参数是你希望提升的数字,第二个参数是你希望将其提升到的幂次方。

  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 <<" Random Number : " << j << endl;
   }

   return 0;
}

当上述代码被编译并执行时,会产生以下结果:

Random Number : 1748144778
Random Number : 630873888
Random Number : 2134540646
Random Number : 219404170
Random Number : 902129458
Random Number : 920445370
Random Number : 1319072661
Random Number : 257938873
Random Number : 1256201101
Random Number : 580322989
上一章 下一章
阅读号二维码

关注阅读号

联系二维码

联系我们

© 2024 Yoagoa. All rights reserved.

粤ICP备18007391号

站点地图