c學習階段總結

第一天

.註釋的使用(1.//  2.、/**/ )


.進制的轉換(常用進制:10進制、2進制、八進制、十六進制 )

目標進制     口訣

十進制: 按權就和 轉化爲其他進制:連除倒取餘

二進制:101010

八進制:0123

十六進制:0xabc

三、基本數據類型

char(1個字節)

int(32位系統下佔用2個字節,64位操作系統下佔用4個字節)

long(4個字節)

float(4個字節)

double(8個字節)

4.強制類型轉換

由高精度到低精度轉換將會丟失數據

printf("%d\n",(int)35.5);  輸出結果:35

由低精度到高精度轉換,沒有問題

5.運算符

 5.1算術運算符:%、++、- -

5.2雙目運算符:&&、||

5.3三目運算符:a>b?a:b;

5.4邏輯運算符:&&、|| 、! 存在短路情況(即如果符號前面的運算已經能判斷出結果了,那麼後面的運算將不再執行)

5.5關係運算符:>、<、 !=、==、>=、<=

6.輸入輸出函數(stdio.h頭文件引入)

printf("hello");

***幻影回車符(連續輸入多個字符出的問題)

7.變量與常量

第二天

一、bool類型的使用,常用於循環判斷語句,需要導入#include<stdbool.h>

二、分支語句

1.if

2.if-else

3.if-else if-else if-else

4.if ()

{

  if()

   {}

}

5.swich-case

三、枚舉

定義:enum 枚舉名稱 {a,b,c}

第三天

1.循環

  while

  do-while

  for


第四天

1.數組

1.1數組必須不能越界

1.2數組必須要有長度

2.數組的遍歷

  用for循環進行數組的遍歷

  求數組的最值

3.冒泡排序

    **優化:

       判斷是否進行過排列,如果沒有進行排列就說明已經排好了序,就不必再費資源去一輪輪的比較了。

 4.break; continue的區別

   break是終止循環

   continue是終止本次循環進行下一次循環

5.字符數組

第五天

1.二維數組

2.二維數組的遍歷

3.多維數組

第六天

1.函數的定義

定義:

返回值類型 函數名(形參1,形參2,...)

{

    代碼塊

    return 需要返回的值;

}


2.參數

3.變量的作用域

  分爲局部變量和全局變量

  沒有被static修飾的變量,只能在本文件中訪問;

  被static修飾的變量可以跨文件調用

  ***被static修飾的方法正好跟變量相反,只能被源文件中得其它方法調用,不可以跨文件調用

 4.遞歸調用

第七天

1.結構體

   結構體的定義

   結構體的賦值

   結構體的使用

   結構體在內存中的字節數(注意字節對齊)

   比如:

struct MyStruct {

       char a;

      char b;

      int c;

      double d;

      char e;

                        }

sizeof(MyStruct)=24;

第八天

1.內存的基本概念

2.指針的基本概念

3.指針換指向

int a=0;

int *p=&a;

int b=2;

p=&b;


4.指針和數組的關係

  4.1指針數組:實質上是一個數組,只不過內容存儲的時指針

      使用規則:通過下標取到你想要的指針,然後再按照指針的規則,去使用指針。

  4.2數組指針:實質上是指針,指向的是一個數組,但是,這個指針也可以操作數組。例如:p[1]=2;

5.指針和函數的關係

   函數指針:實質上是一個指針,這個指針指向一個函數的入口(函數名)

    要求:這個指針的類型必須要指向的函數,類型一樣

    函數名:代表函數的首地址

    函數指針使用規則:和直接使用函數一樣。

    指針作爲函數參數的時候,就是將實參的地址傳遞到函數的內部,因爲通過地址可以得到地址上的內容,所以就相當於直接操作實參。

    指針還可以當做函數返回值來使用 

    回調函數

6.指針和結構體之間的關係

   結構體指針:實質上是一個指針,指向一個結構體的首地址,結構體名不表示地址

   使用規則:p->成員變量 或者*p.成員變量

   結構體數組指針:實質上是一個指針,指向的不過是一個由結構體組成的數組罷了。

   使用規則:先通過指針,找到想要的數組裏面的元素,然後再通過點方法(p[1].age)來操作

7.數組和函數的關係

數組當做函數的參數來使用

定義:一般不指定長度

使用:直接把數組名當做參數就行了

8.關於內存的一些瑣碎的知識點

   計算機內存的五大分區

     代碼區

     靜態區

     常量區

     棧區

     堆區

關於內存的一些操作函數

 malloc

9.字符串的常用函數

  頭文件:#include<string.h>

  strcmp(char *a,char *b)//字符串比較函數

  strcpy(char *desc,char *source)//字符串拷貝函數

  strcat(char *desc,char *source)//字符串拼接函數

  strlen(char *a)//字符串長度計算函數

  getchar()

  putchar()

  gets()

10.宏定義

 define MAX 9





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