亚洲伊人网站-亚洲伊人精品-亚洲伊人电影-亚洲一在线-久久国产一区二区-久久国产一区

高分網 > 答案大全 > 其它答案 >

c語言知識點梳理

時間: 炎婷2 其它答案

  C語言知識點歸納

  ◆知識點1:交換兩個變量值的方法

  1)采用第三方變量(最容易想到的方法)

  2)采用加減法進行值得交換(面試時常用**)

  代碼如下:

  b = a - b;

  a = a - b;

  b = a + b;

  3)采用按位異或的位方式

  代碼如下:

  a = a^b;

  b = a^b;

  a = a^b;

  ◆知識點2:取余運算%的結果與被除的符號相同,結果為兩個正數取余后前面加符號

  ◆知識點3:sizeof的使用

  sizeof是一種運算符不要想當然理解為函數

  sizeof使用時可以不加()

  sizeof可以加變量、常量、數據類型

  跟數據類型是必須加()

  ◆知識點4:#include編譯預處理命令與多文件團隊開發

  include編譯預處理命令可以認為是:將后面的文件內容拷貝到當前的文件中

  多文件團隊開發:模塊分別編譯成.o都不能鏈接成功,合起來鏈接生成最終程序。

  鏈接:把項目中所有相關聯的.o目標文件、C語言函數庫合并在一起,生成可執行文件

  ——函數的定義放.c文件,函數的聲明放.h文件

  ——如果要使用某個.c文件中定義的函數,只需要#include這個.c文件對應的.h文件

  ——h文件的作用:被別人拷貝。編譯鏈接的時候不需要管.h文件

  ◆知識點5:數組的幾種初始化方式如下:

  int a[3] = {10, 9, 6};

  int a[3] = {10,9};

  int a[] = {11, 7, 6};

  int a[4] = {[1]=11,[0] = 7};(知道有此種初始化方式即可)

  ◆知識點6:數組的內存分析和注意點

  存儲空間的劃分(內存的分配是從高地址到低地址進行的,但一個數組內部元素又是從低到高進行的)【注:對于以后學習重要】

  數組名的作用,查看元素地址

  注意數組不要越界

  ◆知識點7:字符串知識點

  "123”其實是由’1’、’2’、’3’、’\0’組成

  字符串的輸出”%s”,’\0’是不會輸出的

  ◆知識點8 : 字符串處理函數:strlen()

  計算的是字符數,不是字數

  計算的字符不包括’\0’,一個漢字相當于3個字符

  例子:"哈haha" 字符數為7

  從某個地址開始的數字符個數,知道遇到’\0’為止

  指針部分在C語言中占據重要地位,所以重點學習與整理了指針的知識:

  ◆知識點9:指針定義的格式

  變量類型 *變量名

  如:Int *p

  ◆知識點10:指針作用

  能夠根據一個地址值,訪問對應的存儲空間

  例:

  Int *p;

  Int a = 90;

  P = &a;

  *p = 10;//把10賦值給p所指的存儲空間

  ◆知識點11:指針使用注意

  Int *p只能指向int類型的數據

  指針變量只能存儲地址

  指針變量未經初始化不要拿來間接訪問其他存儲空間

  ◆知識點12:指針與數組

  遍歷數組

  int ages[5] = {10, 4, 9, 44, 99};

  for(int i = 0; i<5; i++)

  {

  printf("%d\n", ages[i]);

  }

  使用指針遍歷數組:

  int *p;

  // 指針變量P指向了數組的首地址

  p = &ages[0];

  // 使用指針遍歷數組

  for(int i = 0; i<5; I++)

  {

  printf("ages[%d] = %d\n", i, *(p + i));

  }

  注:指針+ 1取決于指針的類型

  注:數組的訪問方式

  數組名[下標]

  指針變量名[下標]

  *(p + i)

  ◆知識點12:指針與字符串

  定義字符串的兩種方式:

  1、利用數組

  Char name[] = “Andyzhao”

  特點:字符串里的字符可以修改

  適用場合:字符串內容需要經常修改

  2、利用指針

  Char *name = “itcast”

  特點:字符串是一個常量,字符串里面的字符不能修改

  使用場合:字符串的內容不需要修改,而這個字符串經常使用

  ◆知識點13:預處理指令(三種):

  宏定義

  條件編譯

  文件包含

  1、宏定義的配對使用和帶參數的宏:

  #define

  ...

  #undef

  帶參數的宏:

  #define sum(v1,v2) ((v1) + (v2))//括號是必須的

  例如:

  #define pingfang(a) a*a

  #define pingfang(a) (a*a)

  調用時

  pingfang(10)/pingfang(2)//不正確

  pingfang(5+5)//不正確

  帶參數的宏效率比函數高

  2、條件編譯(一般是判斷宏的值)

  #if 條件

  ...

  #elif 條件

  ...

  #else

  ...

  #endif(非常重要)不然后面的代碼全部無效

  3、文件包含:

  <>表示系統自帶的文件,""表示自定義文件

  不允許循環包含,比如a.h包含b.h,b.h又包含a.h

50241 主站蜘蛛池模板: 发如雪 歌词| 地铁女孩| 拔萝卜无删减| 赖小子| 扒开双腿猛进入小柔的扮演者| xiazai| 纳得克·库吉米亚| 梦的衣裳| 哥谭演员表| 核舟记课堂笔记| 流浪地球2演员表| 任喜宝| 夜电影| 轨迹地图| 暗夜与黎明电视连续剧| 孕妇直播肚子疼揉肚子| 出埃及记电影| 不要啊学姐| 邓为个人介绍| 思想认识不到位,重视程度不够| 菊花开| 爱情手册电影| 等着我主持人| 美女全身透明衣服| 最可爱的人 电影| 房斌| 邓佳佳| 最可爱的人 电影| 吾栖之肤完整版在线观看| 爱情与灵药 电影| smc压力表| 卡通频道| 厕所英雄| 日老妇| 新有菜免费在线观看| 美女全身透明衣服| 韩国电影《诗》| 山海经动画片全40集免费观看| 战无双| 欢乐的牧童钢琴谱| 乔治桑|