首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C 語言基礎知識體系梳理:進制、數據類型、運算符、控制流、數組與函數

     編輯:關於C語言

C 語言基礎知識體系梳理:進制、數據類型、運算符、控制流、數組與函數

本文系統整理 C 語言核心基礎知識點,涵蓋進制轉換、基本數據類型、變量常量、運算符優先級、輸入輸出格式化、分支循環結構、數組操作、排序算法、字符串處理等,適合初學者建立知識框架、資深開發者查漏補缺。

1. 進制與位權

  • 常用進制:二進制 (0b)、八進制 (0)、十進制、十六進制 (0x)
  • 轉換法:十進制→其他(連除倒取余),其他→十進制(按權求和:digit × base^position)
  • 位權概念:第 0 位權重 base^0,以此類推

2. 基本數據類型與佔用字節

符號位:最高位 0 正、1 負。補碼表示負數。

3. 變量命名規則與賦值

  • 字母、數字、下劃線,首字符非數字
  • 避開關鍵字,區分大小寫
  • 見名知意:user_count 優於 uc
  • 交換兩變量值:引入暫存變量,或異或交換 a^=b^=a^=b(整型限定)

4. 運算符重點

  • 除法 /:整數除整數得整數(截斷向零),浮點參與得浮點
  • 取模 %:僅限整型操作數,結果符號與被除數同號
  • 自增自減:++i 先增後用,i++ 先用後增
  • 複合賦值:a += b 等價 a = a + b
  • 表達式有值、語句以分號結尾

5. 格式化輸入輸出

類別關鍵字字節位數備註
字符char18可存 0~255 或 -128~127
整型short216至少 16 位
int432通常 32 位,標準要求 ≥ short
long4/832/64C 標準僅要求 ≥ int
浮點float432單精度,約 7 位有效數字
double864雙精度,約 15 位有效數字

格式控制:%5d 右對齊寬度 5、%-5d 左對齊、%05d 補零、%6.2f 共 6 位含小數點保留 2 位小數。

scanf 不要加非格式字符(如 "num=%d"),需用戶精確匹配輸入。

6. 控制流:分支與循環

if-else 三種形式

if (cond) { ... }
if (cond) { ... } else { ... }
if (cond1) { ... } else if (cond2) { ... } else { ... }

switch-case

  • 表達式必須整型
  • 每個 case 以 break 結束,否則貫穿執行
  • default 處理無匹配情況

三元運算符

max = a > b ? a : b;

循環對比

類型printfscanf說明
int%d%d
short%hd%hd
long%ld%ld
float%f%f
double%f / %lf%lfscanf 必須 %lf
char%c%c
string%s%sscanf 遇空白停止

break 跳出整個循環,continue 跳過本次進入下一次。for 循環變量作用域僅限循環內(C99),比 while 更節省內存。

7. 數組操作核心

  • 定義:int a[10] = {0}; 未列出元素自動為 0
  • 下標從 0 起,越界不報錯但極其危險(覆蓋其他變量、返回地址)
  • 數組名退化為首元素指針,不可整體賦值/比較
  • 冒泡排序教學用,實際用 qsort 或歸併/快速排序
  • 字符數組:char s[] = "abc"; 自動添加 \0,長度 +1,%s 遇 \0 停止

8. 函數與遞歸

  • 聲明在前,定義在後,或置於頭文件
  • 參數傳值(複製),需修改實參傳指針
  • 遞歸必須有基例(終止條件),每層縮小問題規模
  • 經典遞歸:階乘、斐波那契、漢諾塔、二分查找、樹遍歷

總結

C 語言基礎看似簡單,實則細節決定質量:進制轉換無誤、類型選擇精確、運算符副作用清晰、格式串嚴格匹配、邊界條件全覆蓋、內存越界零容忍。建立「編譯無警告、運行無崩潰、邏輯無漏洞」的代碼潔癖,是從寫代碼到工程師的必經之路。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
循環特點適用場景
while先判後執,可能零次次數未知、條件複雜
do-while先執後判,至少一次菜單交互、至少一次處理
for初始化/條件/增量集中計數循環、數組遍歷