個人總結,學c的趕快看
1….++a 和 a++ 的區別:
++a 先加在賦值 a++ 先賦值在加 後者賦給變量b的值爲a而不是a+1後的值
2….按位與 同爲1時爲1,其他爲0 如: 1110 & 1010 =1010
按位或 同爲0時爲0,其他爲1 如:1110 | 1010 =1110
3…. ~:非運算 按位取反 如: ~1111 = 0000
4…. 按位異或 相同位數字不同爲1 相同爲0 如:1010 ^ 0110 =110
左移一位相當於成乘上2
5….條件爲一個範圍時 (表達式 與、或 表達式)
scanf時,變量前加&符號 switch裏面爲表達式,case後爲冒號;碰到break終止 continue 只結束本次循環
6…. 條件運算符 ? a>b ? a:b 真爲前者 假爲後者
7….求兩個數的最大公約數和最小公倍數
先用大的一個數除以小的一個數,得第一個餘數;
再用小的一個數除以第一個餘數,得第二個餘數;又用第一個餘數除以第二個餘數,得第三個餘數;這樣逐次用後一個數去除前一個餘數,直到餘數是0爲止。那麼,最後一個除數就是所求的最大公約數(如果最後的除數是1,那麼原來的兩個數是互質數)。
例如求1515和600的最大公約數,
第一次:用1515除以600,商2餘315;
第二次:用600除以315,商1餘285;
第三次:用315除以285,商1餘30;
第四次:用285除以30,商9餘15;
第五次:用30除以15,商2餘0。
1515和600的最大公約數是15。
兩個正整數的最小公倍數=兩個數的乘積÷兩個數的最大公約數
8…產生隨機數
arr[i]=10+rand()%90 表示產生10到100的隨機數
9….所謂“水仙花數”是指一個三位數,其各位數字立方和等於該數
本身。例如:153是一個“水仙花數”,因爲153=1的三次方+5的三次方+3的三次方。
10…字符串不知道長度的時候 for ( ; arr[i] ;)
11….定義一個20個元素的數組,要求範圍在x=30--y=70之間(用隨機數) 如:循環體內: a[i] = arc4random()%41+30 ----------------> arc4random()%(y-x+1)+x
12…冒泡排序 // n個元素 比較n-1趟
13…..字符在數組中的應用
strlen() 長度
strcpy() 拷貝
strcat() 拼接
strcmp() 比較 //目的串 源串
char str[] = {'o','k'}
char str[] = "ok"
區別:
第二個隱含一個結束符 ' \0 '
14..//字符數組的初始化,最容易理解的方式就是逐個字符賦給數組中各元素
char str[10]={'I','','a','m','h','a','p','p','y'};
15…
//只要不遇到回車,就一直取輸入的字符
char a = 0;
while ((a = getchar()) != '\n') {
printf("a = %c\n", a);
}