课课通第2单元第5课—算术运算符

本文详细介绍了常用的数学函数和运算符,包括加减乘除、取余、绝对值、上取整、下取整、幂运算、开方、对数等函数的使用方法,并提供了字符串操作函数和位运算的介绍。

运算符:+加  -减  *乘  /除  %取余 ()括号

数学函数:

int abs(int  i) 返回i的绝对值;

double fabs(double  x) 返回x的绝对值

double  ceil(double x)返回不小于x的最小整数(上取整)

double  floor(double x)返回不大于x的最大整数(下取整)

double  pow(double x,double y)返回x的y次幂的值

double  sqrt(double x)返回x的y次幂的值

double  log(double x)返回ln(x)的值(以e为底)

double  log10(double x)返回lg(x)的值(以10为底)

使用以上这些数学函数前,必须添加“cmath”或者“math.h”

扩展:

一、数学函数:
Inc(i) 使I:=I+1;
Inc(I,b) 使I:=I+b;
abs(x) 求x的绝对值 例:abs(-3)=3
chr(x) 求编号x对应的字符。例:Chr(65)=’A’ chr(97)=’a’ chr(48)=’0’
ord(x) 求字符x对应的编号。例:ord(‘A’)=65 ord(‘a’)=97 另外:ord(false)=0 ord(true)=1
sqr(x) 求x的平方。 例:sqr(4)=16
sqrt(x)求x的开方. 例:sqrt(16)=4
round(x) 求x的四舍五入 例:round(4.5)=5
trunc(x) 求x的整数部分 例:trunc(5.6)=5 结果是integer型 
int(x) 求x的整数部分 例int(5.6)=5.0
frac (x)求x的小数部分 例 frac(5.6)=0.6
pred(x) 求x的前导 pred(‘b’)=’a’  pred(5)=4  pred(true)=false
succ(x) 求x的后继 succ(‘b’)=’c’  succ(5)=6  succ(false)=true
odd(x) 判断x是否为奇数。如果是值为true,反之值为false. Odd(2)=false odd(5)=true
power(a,n) 求a的n次方 power(2,3)=8

exp(b*ln(a))  a的b次方
random 取0~1之间的随机数(不能取到1) 
randomize 随机数的种子函数,在每次设置随机数时都要把这个函数放在最前面.
Fillchar(a,size(a),0) 数组初始化,即把数组a的值全部置为0
二、字符串函数 
1. 连接运算 concat(s1,s2,s3…sn) 相当于s1+s2+s3+…+sn.
例:concat(‘11’,’aa’)=’11aa’;
2. 求子串。 Copy(s,i,L) 从字符串s中截取第i个字符开始后的长度为L的子串。 例:copy(‘abdag’,2,3)=’bda’
3. 删除子串。过程 Delete(s,i,L) 从字符串s中删除第i个字符开始后的长度为L的子串。例:s:=’abcde’;delete(s,2,3);结果s:=’ae’
4. 插入子串。 过程Insert(s1,s2,I) 把s1插入到s2的第I个位置 
例:s:=abc;insert(‘12’,s,2);结果s:=’a12bc’
5. 求字符串长度 length(s) 例:length(‘12abc’)=5
6. 搜索子串的位置 pos(s1,s2) 如果s1是s2的子串 ,则返回s1的第一个字符在s2中的位置,若不是子串,则返回0.
例:pos(‘ab’,’12abcd’)=3
7. 字符的大写转换。Upcase(ch) 求字符ch的大写体。 
例:upcase(‘a’)=’A’
8. 数值转换为数串。 过程 Str(x,s) 把数值x化为数串s.
例:str(12345,s); 结果s=’12345’
9. 数串转换为数值。 过程val(s,x,i) 把数串s转化为数值x,如果成功则i=0,不成功则i为无效字符的序数 
例:val(‘1234’,x,I);结果 x:=1234

xor :异或运算
shr:位运算 相当于/2
shl:位运算 相当于*2,但是比*运算快的多的多
int : 求一个实型数的整数部分
arc tan:反正切函数

xor:异或运算,就是把两个数转换成二进制数,然后每位对应,如果相同(都是0或1)就得1,如果不同就得0
shl:左位移(左位移一位=*2,左位移两位=*2^2……a shl b=a*2^b)
shr:右位移(右位移一位=/2,右位移两位=/2^2……a shl b=a/2^b)
取整函数int(x) 注意:X是实型数,返回值也是实型的;返回的是X的整数部分,也就是说,X被截尾了(而不是四舍五入)

 

实践巩固

4.

#include<iostream>

#include<cmath>

using namespace std;

int main(){

int banana = 5, apple = 8, grape = 12;

float average = (banana + apple + grape) / 3.0;

cout << "average=" << average << endl;

int money = 39;

int t1 = money / banana;

int left1 = money % banana;

cout << "banana=" << t1 << " " << "left=" << left1 << endl;

int t2 = money / apple;

int left2 = money % apple;

cout << "apple=" << t2 << " " << "left=" << left2 << endl;

int t3 = money / grape;

int left3 = money % grape;

cout << "grape=" << t3 << " " << "left=" << left3 << endl;

    return 0;

}

5.

#include<iostream>

using namespace std;

int main(){

int n,h,s,m;

cin >> n;

s = n % 60;

m = n / 60 % 60;

h = n / 3600 % 24;

cout << h << " " << m << " " << s << endl;

return 0;

}

 

6.

#include<iostream>

using namespace std;

int main(){

int n,g,s,b,q,t;

cin >> n;

g = n % 10;

s = n / 10 % 10;

b = n / 100 % 10;

q = n / 1000 % 10;

t = g * 1000 + s * 100 + b * 10 + q;

cout << n - t << endl;

return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值