欢迎使用本站,预祝练习时长两年半的选手们到成功! [本模块信息来自tem/def/head]

class17 lcy 数学常用函数 联合体 指针

时间:2024-08-01 09:16 作者:admin 点击:
一、数学库常用函数 #include cmath 小数转整数相关 round() 四舍五入 5.1-5 5.4-5 5.5-6 double d=5.4; int a=round(d);//5 ceil() 向上取整 double d=5.4; int a=ceil(d);//6 floor() 向下取整 double d=5.9; int a=floor(d);/

一、数学库常用函数

#include <cmath>


小数转整数相关

round() 四舍五入 5.1->5 5.4->5 5.5->6

double d=5.4;

int a=round(d);//5


ceil() 向上取整

double d=5.4;

int a=ceil(d);//6


floor() 向下取整

double d=5.9;

int a=floor(d);//5


trunc() 向零取整

double d=5.9;

int a=floor(d);//5

double d=-5.9;

int a=floor(d);//-5


abs() 求绝对值:到0的距离

int a=-5;

abs(a);//5


sqrt() 平方根,开平方,相当于平方逆运算

int a=25;

sqrt(a);//5  5*5=25

int a=64;

sqrt(a);//8  8*8=64


cbrt() 立方根,开立方,相当于立方逆运算

int a=27;

cbrt(a);//3  3*3*3=27

int a=64;

cbrt(a);//4  4*4*4=64


pow() 求幂函数

int a=3,b=4;

pow(a,b);//相当于a的b次方,3*3*3*3=81



二、结构体与联合体

struct 结构体:多种数据类型结合成的整体

union 联合体:多种数据类型公用一块空间


union student{

   string name;

   int age;

   int rank;

};


相当于多个人穿一条裤子

谁存数据,空间就放谁

student a;

a.name="李强";

cout<<a.name;//李强

a.age=8;

cout<<a.name;//乱码 原数据的部分空间用来存放8

cout<<a.age;//8


联合体到底占用多大空间?哪个变量占的空间最大,就是联合体整体的空间大小。


struct node{

   int x,y;

   double k;

};

node a;//占用空间大小:4字节+4字节+8字节=16字节


union node{

   int x,y;

   double k;

};

node a;//占用空间大小:max(4字节,4字节,8字节)=8字节


三、指针

指针也是一种变量,用来存放地址(不是存放具体值的)

int a=5;//在内存中,5会存放在一个空间中,这个空间名为a,假设空间地址是0x666

int *p=&a;

* 创建指针变量的标记

& 引用地址,取地址符

cout<<a;//5

cout<<&a;//0x666

cout<<p;//0x666

通过地址获取里面的值,用*

cout<<*p;//5


*用法与数组的[]很像

int a[8];//创建时[8]代表长度

cout<<a[4];//使用时[4]代表下标

创建与使用时,同样的符号,不同的功能


用来存放数据地址的指针,类型需要与数据一致

int a=5;

int *p=&a;

double b=1.5;

double *q=&b;

char c='k';

char *o=&c;

bool b=true;

int *e=&b;//类型不一致,报错

(责任编辑:admin)
    顶一下
    (0)
    0%
    踩一下
    (0)
    0%