1.VC6.0下不支持long long的類型格式,只支持__int64格式;而VS2005下都支持。據說,__int64比long long處理速度要快,結果是否屬實待定。

2. 只要不是在關鍵字中,或標識符中,或字符串常量中,隨時都可以回車換行而不會提示有語法錯誤。還有一個換行符\,也可以實現換行。
如:
int a
=
0
;
或:
int\
a=\
0;
都可以。

3.#include查找順序:
如果文件名在尖括號中,則C++編譯器將在存儲標準頭文件的主機系統的文件系統里查找;如果文件名包含在引號中,則編譯器首先查找當前工作目錄或源代碼目錄,其次在標準位置查找。

4.求單鏈表是否存在環路:
利用兩個指針同時出發進行追逐,其中p1每次前進1步,p2每次前進2步,如果有環路的話兩者必然會相遇。注意:p2追趕上p1時,p1一定還沒走完一遍環路(p2速度是p1的兩倍,極限情況是兩指針同時從環起點出發),而且p2也不會跨越p1而不相遇(兩者之間的差距逐漸縮小,例如5、4、3、2、1、0,差值是1)。

5.memset的用法:
在#include <memory.h> 中,函數原型:
Void *memset(void *buffer,int c,int count),其中buffer是分配的內存,c是初始化內容,count是初始化的字節數。
一般memset把buffer所指向的前count個字節設置成某個字符的ASCLL值,一般用于給數組或者字符串等類型賦值。
示例:
memset(數組名,int,sizeof(數組名)),即從起始位置到終止位置對數組進行賦值。

6.指定cout默認輸出小數位數:
#include <iomanip>
//小數點后數位設置為n
Cout << setiosflags(ios::fixed) << setprecision(n) << 變量;   
//浮點數精度設置為n
Cout << setiosflags(ios::showpoint) << setprecision(n) << 變量;

7.最大公約數、最小公倍數、因子分解等:
最大公約數:用輾轉相除法,大的數 % 小的數,得出余數,然后輾轉相除,直到余數為0,此時除數就是最大公約數。
最小公倍數:用輾轉相除法求得最大公約數p,然后兩數除以p得商a1、a2,可知a1和a2中必然不包含公因子(如果包含的話,p就不是最大公約數了),所以p*a1*a2就是最小公倍數。
因子分解:對n進行因子分解,i從2開始到數n/2,如果n能整除i,說明i是n的因子之一,并循環判斷能整除多少次i,然后i繼續循環遞增。(另外一種簡化方法是看最小因子p是多少,然后循環i從2開始到數n/p即可)

8.cin.getline和getline的區別:
cin.getline(char*, int)是istream類對象的成員函數,需要頭文件#include <iostream>才能使用,主要用于c_string類型讀入。
getline(cin, str)、getline(cin, str, char)是string類對象的成員函數,需要頭文件#include <string>才能使用,主要用于string類型讀入,后者的char是判斷結束符。
注意:在VC6.0中,使用getline(cin, str)需要輸入兩次回車才能讀入,這是VC6.0的BUG,在更高級別的版本中不存在該錯誤。

9.scanf/cin和printf/cout的比較:
在做ACM題目的時候,發現使用scanf比cin要快得多,同理printf比cout要快,具體原因待查。
注意scanf的返回值問題:
scanf("%d%d", &a, &b);
如果a和b都被成功讀入,那么scanf的返回值就是2
如果只有a被成功讀入,返回值為1
如果a和b都未被成功讀入,返回值為0
如果遇到錯誤或遇到end of file,返回值為EOF。
所以,在使用scanf的時候,檢查它的返回值來判斷scanf是否正確地讀到了數據。

10.100到10000的整數中因子最多的一個數?
方法:找到100 <= 2^n <= 10000最大的n即可。假設某數存在n+1個最大的因子,那么其中的n個因子之積必然大于等于2^n,于是n+1個因子之積必然大于10000,證畢。

11.一般來說,設計程序時遞歸與堆棧是等價的,即使用堆棧的程序一般可以寫成遞歸形式,相反亦可。不考慮程序速度的話,一般使用遞歸比較簡單

12.char型數組
對于int/double型數組,例如有100個int型變量存儲,那么應該定義int data[100],其中0到99用來存儲這100個變量。
對于char型數組,例如有100個char型變量存儲,那么應該定義char data[101],其中0到99用來存儲這100個變量,100用來存儲’\0’。