C語言必掌握知識點

個人總結,學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);

    }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章