char -128~127 無符號(hào):0~255
int
short -32768~32767 無符號(hào):0~65535
long -2G~2G 無符號(hào):0~4G-1
有其他修飾符時(shí),int可以省略,short = short int long = long int,signed = signed int,unsigned = unsigned int。
float +/- 3.4*10E38
double +/- 1.7*10E308
long double +/-1.1*10E4932
常量定義,必須初始化。
整數(shù)型,數(shù)據(jù)超出后,會(huì)發(fā)生回繞,char 127+1 => -128了。
==============================
正數(shù)與負(fù)數(shù)轉(zhuǎn)換,別忘了是取反加1,
有符號(hào)正數(shù):00000111
負(fù)數(shù),全部取反+1
<1>11111000
<2>11111001
正數(shù)0:00000000(正0)
<1>取反:11111111
<2>加一,進(jìn)位,還要保留符號(hào)位,所以是10000000,即為-128
==============================
#include <iostream>
using namespace std;
int main()


{
cout<<"please input a number:";
int i,num;
cin>>num;
int mask=0x80000000;
cout<<"binary is ";

for( i=0; i<32; i++ )
{
if( (i&3)==0 )
cout<<' ';
cout<<(mask&num?'1':'0');
num<<=1;
}
cout<<endl;
return 0;
}


整型包括:char,unsigned/signed [int/short int/long int],enum,枚舉項(xiàng)。
C++運(yùn)算符,優(yōu)先級(jí)順序
() []
. -> .* ->* ::
! ~ ++ -- + -
& sizeof
* / %
+ -
<< >>
< > <= >=
== !=
&
^
|
&&
||
?:
= += -= *= /= %= << = >>= &= |= ^=
,
由上到下,級(jí)別越低。
單目,賦值,條件 ,從右向左結(jié)合,其他從左向右
==============================================
函數(shù)與多文件結(jié)構(gòu)
函數(shù)是把若干語句組合在一起完成某一個(gè)功能。
組成:參數(shù)(條件) (結(jié)果)返回值
形參和實(shí)參
void disp(char str[])形參
{
cout << str << endl;
}
disp(name);實(shí)參
函數(shù)聲明可以和函數(shù)定義分開,函數(shù)聲明在使用的地方,可以有多處,定義只有一處。
float average(int ,int)
編譯只做語法檢查,鏈接才真正去找函數(shù)的定義,主要從標(biāo)準(zhǔn)庫、當(dāng)前文件中。
當(dāng)一個(gè)項(xiàng)目包含多個(gè)文件時(shí),需要一起編譯。
頭文件包含一些簡(jiǎn)短聲明,不要有代碼,以避免重復(fù)。
#ifndef __STU_H_
#define __STU_H_
函數(shù)聲明
類定義
結(jié)構(gòu)定義
宏定義
#endif
函數(shù)的工作原理與棧。
1,參數(shù)從后向前將實(shí)參壓入棧
2,依次傳遞給形參
返回不確定,可以通過寄存器,也可以通過棧。
函數(shù)的局部變量一定在棧中分配空間。并且一定要初始化再使用。因?yàn)镃++是不會(huì)清理空間的值的(Java的方法中的變量一定是先賦值,再使用,同理)