1、强类型语言:变量经指定后,不经强制转换则永远是这种类型,因此,编译器会检查类型是否正确或兼容,以免后期发生不可预计的错误。
2、字面量:就是字面显示的数据,即“具体的值”就是字面量。如“3.23”,“Hello World", 5.6,7000 这些就是字面量。
3、浮点数:通俗地说,就是数字的位数是固定的,但小数点却可自由自在地在数字间浮动来浮动去。比如:假定数字位置固定是9位即:
123456789,小数点浮动到第一位后面就是1.23456789,当然还可以浮动到其它地方,例:1234.56789。
这样浮点数就可以表示很小的数,也可以表示很大的数。
实际上在内存中,浮点数按三部分进行存储:符号位(正负)、指数(阶码)、尾数(有效位) 说法不精确,大概就这意思。
有精力可以看看这个http://blog.csdn.net/dzweather/article/details/7883495
4、16进制表示:0x1345,0x34A (以0x开头的字面量)
八进制表示:0123,01010 (以0开头的字面量)
5、整数除法(/)与取模(%)的有趣表演
6、setw(N)设置格式。来自iomanip.h 即manipulator(操作,操纵)
后面的数据按靠右对齐。
#include<iomanip.h>
7、字面量后加L表示long int 如: long int x=123456L;
字面量后加U或u表示无符号型 如: unsigned int y=2354U;
特殊的char字符型,内装的是数字,若要明确指示存储的是整数值而不是字符编码,应特地声明signed char或unsigned char
奇异的UFO现象:U和L可以组合进行定义: int z=1234UL;
8、lhs OP=rhs
即:lhs = lhs op (rhs)
例:x *=y+8 即:x = x* (y+8)
9、一个表达示应“避免”两次修改一个变量的值,因此这样表达示的值就不确定了(并不一定是编译器出错)如:
x= ++y + ++y;
k= ++k +2;
10、div在std中,为结构体div_t,操作数据及返回值均为int。若用ldiv则操作数及返回值均为long (int)
#include <iostream> using namespace std; int main(int argc, char *argv[]) { int x=13,y=4; div_t z=div(x,y); cout<<z.quot<<endl //商 <<z.rem<<endl; //余数 return 0; }
11、abs(N) 变元N可为int或long,labs(M)变元M及返回值只能为long. (labs : long abs)
rand() 生成0到RAND_MAX值(最大值由系统定,可能为0x7fff,也可能为0x3fffffff) ,伪随机数。
sand(N)生成随机数的种子,N必须是unsigned int
同10,上面函数都包括在头文件 #include<cstdlib>中
-----------------------------------------------------------------------------------------------------------------------------
#include<ctime> //定义了几个与日期和时间相关的函数
time() 返回自1970年1月1日以来的秒数。
两者结合: srand((unsigned int)time(0)); //必须强制转换类型,见上面。
关于RAND_MAX 值,具体查找相关头文件,就在那个include文件夹内,最后我机器上找到的是:
12、sqrt(N)来自math.h 或cmath
同setw(N)一样,setprecision(M)来自<iomanip> 设置小数后的占位数(有效位)
而sicentific,fixed来自<iostream>,表示 “科学计数法”,“固定充数表示法”
13、<cmath>数值函数
<cmath>的三角函数
14、从流中读取char变量时,将读取第一个非空白的字符。
cin>>a; //输入“ abc"
cout<<a<<endl; //上面引号表引用,输出为a,前面的空白自动忽略。