#define 和 const 的區(qū)別
角度1:
就定義常量說的話:
const 定義的常數(shù)是變量 也帶類型诊沪, #define 定義的只是個常數(shù) 不帶類型。
角度2:
就起作用的階段而言:
define是在編譯的預處理階段起作用曾撤,而const是在 編譯端姚、運行的時候起作用。
角度3:
就起作用的方式而言:
define只是簡單的字符串替換挤悉,沒有類型檢查渐裸。而const有對應的數(shù)據(jù)類型,是要進行判斷的装悲,可以避免一些低級的錯誤昏鹃。
rand()簡介
1 使用該函數(shù)首先應在開頭包含頭文件<stdlib.h>
#include<stdlib.h>
//(C++建議使用#include<cstdlib>)
2 在標準的C庫中函數(shù)rand()可以生成0~RAND_MAX之間的一個隨機數(shù),其中RAND_MAX 是stdlib.h
中定義的一個整數(shù)衅斩,它與系統(tǒng)有關盆顾。
rand()函數(shù)沒有輸入?yún)?shù),直接通過表達式rand()來引用畏梆;例如可以用下面的語句來打印兩個隨機數(shù):
printf("Random numbers are: %i %i\n",rand(),rand());
1 因為rand()函數(shù)是按指定的順序來產(chǎn)生整數(shù)您宪,因此每次執(zhí)行上面的語句都打印相同的兩個值,所以說C語言的隨機并不是真正意義上的隨機奠涌,有時候也叫偽隨機數(shù)宪巨。
為了使程序在每次執(zhí)行時都能生成一個新序列的隨機值,我們通常通過偽隨機數(shù)生成器提供一粒新的隨機種子溜畅。函數(shù) srand()(來自stdlib.h)可以為隨機數(shù)生成器播散種子捏卓。只要種子不同rand()函數(shù)就會產(chǎn)生不同的隨機數(shù)序列。srand()稱為隨機數(shù)生成器的初始化器。
srand()簡介
rand函數(shù)在產(chǎn)生隨機數(shù)前怠晴,需要系統(tǒng)提供的生成偽隨機數(shù)序列的種子遥金,rand根據(jù)這個種子的值產(chǎn)生一系列隨機數(shù)。如果系統(tǒng)提供的種子沒有變化蒜田,每次調用rand函數(shù)生成的偽隨機數(shù)序列都是一樣的稿械。srand(unsigned seed)通過參數(shù)seed改變系統(tǒng)提供的種子值,從而可以使得每次調用rand函數(shù)生成的偽隨機數(shù)序列不同冲粤,從而實現(xiàn)真正意義上的“隨機”美莫。通常可以利用系統(tǒng)時間來改變系統(tǒng)的種子值梯捕,即srand(time(NULL))厢呵,可以為rand函數(shù)提供不同的種子值,進而產(chǎn)生不同的隨機數(shù)序列傀顾。
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
#define DEBUG 1
int main(void)
{
srand(time(NULL));
/*unsigned int seed;
printf("Plz input the seed:");
scanf("%u",&seed);
srand(seed);*/
int r1=rand();
int r2=rand();
int r3=rand();
if(DEBUG)
{
printf("DEBUG LOG: r1=%d, r2=%d, r3=%d\n",r1,r2,r3);
}
return 0;
}
問號運算符
短路計算
if (expression)
//如果expression成立也就是不等于0則執(zhí)行
//如果expression不成立也就是等于0則執(zhí)行
if (expression1 && expression2)
//若expression1不成立襟铭,則繼續(xù)檢驗expression2
//若expression1成立,則不會檢驗expression2锣笨,此時稱之為短路運算
選擇語句
if - else chain
switch - case - default 多重標簽
魯棒性
魯棒是Robust的音譯蝌矛,也就是健壯和強壯的意思。它也是在異常和危險情況下系統(tǒng)生存的能力错英。比如說入撒,計算機軟件在輸入錯誤、磁盤故障椭岩、網(wǎng)絡過載或有意攻擊情況下茅逮,能否不死機、不崩潰判哥,就是該軟件的魯棒性献雅。所謂“魯棒性”,也是指控制系統(tǒng)在一定(結構塌计,大型ι怼)的參數(shù)攝動下,維持其它某些性能的特性锌仅。根據(jù)對性能的不同定義章钾,可分為穩(wěn)定魯棒性和性能魯棒性。以閉環(huán)系統(tǒng)的魯棒性作為目標設計得到的固定控制器稱為魯棒控制器热芹。