数据类型中的零碎基础知识
以下是从翁惠玉的《C++程序设计---思想与方法》前四章中摘录或查找的零碎知识点,以备忘。
1、编译与解释
编译是指将源代码完整的翻译成机器语言之后,再运行目标程序(机器语言)以完成任务。
解释是指将代码便翻译便执行,一句一句执行,不产生目标程序。
2、补码
负数的补码是将其绝对值的二进制按位取反再加一;正数的补码就是他本身。
3、cmath
#include<cstdlib> 中的cstdlib库中包含随机数生成函数rand(), srand(time(NULL))作用是设置随机数的种子,保证每次运行时随机数不同。
绝对值:int abs(int x); double fabs(double x);
指数 xy:double pow(double x,double y); double exp(double x);
根号: double sqrt(double x)。
4、自动或强制转换字符类型规则:
将浮点型转化为整型时,舍弃小数部分;
将整型赋给浮点型时,数值不变,以浮点形式保存;
将double赋给float时,截取小数点后前七位,但应保证不溢出;
将字符型赋给整型时,将字符型赋给整型的最后一个字节,无符号前边布0,有符号扩展符号;
将整形转化成字符型,直接将最后一个字符赋给字符型。
5、其他
赋值运算符(包含复合赋值运算符“+=”等)优先级低于算术运算符;
字符数据输入时与“>>”不同,get函数可以接受任何字符,包括空格、换行符等。请验证:x = cin.get;cin.get(x)。