运算符:+加 -减 *乘 /除 %取余 ()括号
数学函数:
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;
}