int std::rand(); // #include 返回一个 [0 , RAND_MAX-1 ] 之间的int值 ,貌似无法随机到
RAND_MAX 这个数
std::srand(unsinged int seed); // #include 设置一个随机种子 ,这个随机种子可以用 时间 作为参数
注意如果要用for循环,一次性随机出多个 随机数,那么一定要在for之前只设置 随机种子 1次,而不是在for循环内部,每次迭代都去设置 1次 随机种子
-
std::srand( (unsigned int) std::time(0) ); // #inlcude <ctime>
-
// #inlcude <iomanip>
-
float f = 1.2345f;
-
cout << setprecision(14) << fixed << f << endl; // setprecision函数控制小数点后位数的个数 ,fixed表示用 小数形式显示
-
cout << setprecision(5) << scientific << f << endl; // scientific 表示用 科学计数法形式 显示
浮点数 计算的精度问题
-
float f1 = 2.1f;
-
float f2 = 2.09f;
-
float f3 = f1 - f2;
-
if( f3 == 0.01f )
-
{
-
// need be equal , by human calculate
-
cout << "Equal" << endl;
-
}
-
else
-
{
-
// but in fact , the program running else cause
-
cout << "Not Equal" << endl;
-
}
-
-
-
// fabs(...) // <cmath>
-
// FLT_EPSILON // <cfloat>
-
// DBL_EPSILON // <cfloat>
-
// LDBL_EPSILON // <cfloat>
-
if( fabs(f3 - 0.01f) < FLT_EPSILON )
-
{
-
// run if code
-
cout << "Equal" << endl;
-
}
-
else
-
{
-
cout << "Not Equal" << endl;
-
}
// #include
abs(arg) // 取整数的绝对值
fabs(arg) // 取整数/小数的绝对值
ceil(arg) // 取大于或等于arg的最小整数 , ceil(-2.3) --> -2
floor(arg) // 取小于或等于arg的最大整数 , floor(-2.3) --> -3
exp(arg) // 取 e^arg 幂运算
log(arg) // 取 arg的自然对数 log( exp(2) ) loge (e2) --> 2
log10(arg) // 取以10为底,arg的对数 log10( 1000) --> 3
pow(arg1, arg2) // 取 arg1为底数,arg2为幂的结果 arg1^arg2 pow(2,4) -> 2^4 = 16
cos(arg) sin(arg) tan(arg) // 三角函数
acos(arg) asin(arg) atan(arg) // 反三角函数
// #include
-
cout << "max = " << numeric_limits<int>::max() << endl;
-
cout << "min = " << numeric_limits<int>::min() << endl;
如果要让某位设置为0 ,用 & 运算符, mask 数中, 被设置的位为 0 ,其他位用1补全
如果要让某位设置为1 ,用 | 运算符, mask 数中, 被设置的位为1, 其他位用0补全
如果要让某位设置为 取反, 用 ^ 运算符, mask 数中,被设置的位为1, 其他位用0补全
setfill(char ch); // #include #include
-
cout << setfill('*') << setw(5) << 123 << endl; // --> **123
// #include #inlclude
dec // 十进制数显示
hex // 十六进制数显示
oct // 八进制数显示
left // 左对齐
right // 右对齐
fixed // 小数点法,显示浮点数
scientific // 科学计数法,表示浮点数
showpoint // 给浮点数,显示小数点和尾部的0 // 如果float f = 2.0f ,那么没有showpoint会显示 2 , 有showpoint, 会显示2.00000
noshowpoint // 与 showpoint 相反, 这是默认的显示格式
showbase // 在八进制数前加上前导的0, 在十六进制数前加上前导的 0x 或 0X
noshowbase // 不显示八进制/十六进制数的 前缀, 这是默认的显示格式
showpos // 正数前面加 + 号
noshowpos // 正数前面不加 + 号,这是默认的
uppercase // 十六进制前用 0X而非 0x , 用A-F 而非 a-f ,科学计数法用 指数E 而非e
nouppercase // 与 uppercase 相反 , 这是默认的
boolalpha // 把bool值显示为 true / false
noboolalpha // 把bool值显示为 1/0 , 这是默认的
setfill(char ch) // 把填充字符设置为参数指定的字符,默认填充字符是空格
setw(int width) // 把字段宽度设置为参数指定的值
setprecision(int num) // 把浮点值的精度设置为参数指定的值,精度是指 输出中的十进制数字的个数
字符判定
#inlclude // #include
isupper(char ch) // ch 是否是 A-Z
islower(char ch) // ch 是否是 a-z
isalpha(char ch) // 是否是 a-z or A-Z, 是否是26个英文字母
isdigit(char ch) // 是否是 0-9 ,数字
isxdigit(char ch) // 是否是16进制数表示的 0-9 , a-f ,A-F
isalnum(char ch) // 是否是 0-9 or a-z or A-Z
isspace(char ch) // 是否是空白,空白可以是 空格,换行符,回车符,换页符,水平制表符或垂直制表符
iscntrl(char ch) // 是否是 控制符
isprint(char ch) // 是否是 可打印的 字符 ,包括 a-z,A-Z,0-9 标点符号,空格
isgraph(char ch) // 是否是图形字符,即除了空格以外的所有可打印的字符
ispunct(char ch) // 是否是标点符号,如 _ {} [] () , . ? !%$ 等等
tolower(char ch) // 转换成小写字母
toupper(char ch) // 转换成大写字母