1、rand與srand函式產生偽隨機數
[cpp]view plain
copy
print?
intrand(
void
);
void
srand(unsigned
intseed);
rand返回乙個範圍在0和rand _max之間的偽隨機數,為了避免程式每次執行時獲得相同的隨機數序列,可以使用srand函式對隨機數發生器進行初始化;
常用的技巧是使用每天的時間作為隨機數發生器的種子:
[cpp]view plain
copy
print?
srand((unsigned
int)time(0));
2、處理日期和時間的函式位於之中
(1)clock函式
[cpp]view plain
copy
print?
clock_t
clock(
void
);
clock函式返回從程式開始執行起處理器所消耗的時間;往往是返回乙個數字,為了將其轉換為秒,需要將它除以clocks_per_sec;
通常使用方法是兩個clock函式返回值相減得到執行時間;
(2)time函式
[cpp]view plain
copy
print?
time_t
time(
time_t
*returned_value);
time函式返回當前的日期時間;
注: 呼叫time函式兩次並把兩個值相減由此判斷期間所流逝的時間是很危險的操作方式;
(3)ctime函式與difftime函式
[cpp]view plain
copy
print?
char
*ctime(
time_t
const
*time_value);
double
difftime(
time_t
time1,
time_t
time2);
ctime函式引數是指向time_t的指標,並返回乙個指向字串的指標,字串格式如下:
sun jul 4 04:02:48 1976\n\0
difftime函式計算time1-time2的差,並把結果轉換為秒;
關於difftime的例子:
[cpp]view plain
copy
print?
#include
#include
#include
intmain(
void
)
time(&t2);
d = difftime(t2, t1);
printf("%f\n"
, d);
return
0;
}
[cpp]view plain
copy
print?
關於ctime的例子:
#include
#include
intmain(
void
)
(4)gmtime函式與localtime函式
[cpp]view plain
copy
print?
struct
tm*gmtime(
time_t
const
*time_value);
struct
tm*localtime(
time_t
const
*time_value);
gmtime函式將時間值轉換為utc時間,localtime函式把時間轉換為當地時間;
注:乙個常見的錯誤忘了tm_year這個值與1900相加;
3、訊號表示乙個程式的執行期間可能發生的不可預料的事件;
4、當乙個訊號發生時系統所採取的預設反應是由編譯器定義的,一般是終止程式,但是我們可以通過定義乙個訊號處理函式並使用signal函式對其進行設定,從而改變訊號的預設行為;
5、處理訊號
[cpp]view plain
copy
print?
intraise(
intsig);
void
(*signal(
intsig,
void
(*handler)(
int)))(
int);
raise函式用於顯式的引發乙個訊號;
signal是乙個函式,返回乙個函式指標,後者所指向的函式接受乙個整型引數且沒有返回值;
6、volatile關鍵字防止編譯器以一種可能修改程式含義的方式「優化」程式;
7、終止執行函式
[cpp]view plain
copy
print?
void
abort(
void
);
void
atexit(
void
(func)(
void
));
void
exit(
intstatus);
abort函式用於不正常的終止乙個正在執行的程式;
atexit函式可以把一些函式註冊為退出函式,當程式將要正常終止時(或者由於呼叫exit,或由於main函式返回),退出函式將被呼叫;
總之:當exit函式被呼叫時,所以被atexit函式註冊為退出函式的函式將按照它們所註冊的順序被反序呼叫,然後所有用於流的緩衝區被重新整理,所有開啟的檔案被關閉,用tmpfile函式建立的檔案被刪除,然後退出狀態返回給宿主環境,程式停止執行;
8、斷言()
[cpp]view plain
copy
print?
void
assert(
intexpression);
這是乙個巨集,當它被執行時,這個巨集對表示式引數進行測試,如果它的值為假,它就向標準錯誤列印一條診斷資訊並終止程式;
注:(1)assert只適用於驗證必須為真的表示式;
(2)當ndebug被定義後,預處理器將丟棄所有的斷言而不必從原始檔中把所有的斷言實際刪除;
標準I O函式庫
標準i o函式庫 c標準庫提供了檔案的標準 i o 函式庫,相比前述的系統呼叫,主要差別是實現了跨平台的使用者態緩衝的解決方案。標準i o庫使 用簡單,與系統呼叫i o相似,也包括開啟 讀寫 關閉這些操作,主要的函式列舉如下。開啟與關閉檔案 fopen,fclose。讀寫檔案 fread,fwrit...
CG 標準函式庫
函式 功能描述 abs x 返回輸入引數的絕對值 acos x 反餘切函式,輸入引數範圍為 1,1 返回 0,區間的角度值 all x 如果輸入引數均不為0,則返回ture 否則返回flase。運算 any x 輸入引數只要有其中乙個不為0,則返回true。asin x 反正弦函式,輸入引數取值區間...
Wml的標準函式庫
6.1 wmlscript規則 這些標準函式庫提供乙個擴充套件 wmlscript語言的機制,這些特定的函式庫必須遵循 wmlscript的規則。支援的資料格式 下面的wmlscript格式使用於程式的定義之中,這樣能記錄程式引數與迴轉值的格式。boolean integer float strin...