內容介紹
C語言是目前較好的學習程式設計的語言,“C語言程式設計”課程是程式設計的重要基礎課,是培養學生程式設計能力的重要課程之一。因此,學好“C語言程式設計”課程對掌握基本編程方法、培養基本編程素質具有重要意義。本書是作者多年來在講授“C語言程式設計”課程的基礎上,總結多年的教學經驗,對授課內容做了深入細緻的研究後整理而成的。本書採用“以用促學”的編寫原則,即通過編寫實際應用程式來學習C語言抽象的標準和規則。本書不僅在內容上強調邏輯性,更注重介紹學習方法,使學生能根據例題舉一反三。本書結構新穎、實例豐富,強調語言的規範和程式設計的方法與技巧,注重培養學生程式設計的思維方式和提高學生程式開發的能力。本書共12章:第1章C語言概述,第2章C語言的基本知識,第3章運算符和表達式,第4章順序和選擇結構程式設計,第5章循環結構程式設計,第6章數組,第7章函式,第8章指針,第9章結構體與其他數據類型,第10章檔案,第11章預處理命令,第12章位運算。全書重點為第4章、第5章和第6章,難點為第7章、第8章和第9章。
本書適合作為高等院校各專業“C語言程式設計”課程的教材,也可用作社會教育培訓的教學用書,授課內容、例題和習題可根據實際情況進行選用。
作品目錄
第1章 C語言概述?1.1 程式與程式設計語言?
1.1.1 程式?
1.1.2 程式設計語言?
1.2 C語言發展概述和主要特點?
1.2.1 C語言的發展歷史?
1.2.2 C語言的主要特點?
1.3 C程式的基本結構?
1.4 程式的調試?
1.4.1 調試步驟?
1.4.2 Visual C++6.0集成開發環境?
本章小結?
習題1?
第2章 C語言的基本知識?
2.1 C語言的數據類型?
2.2 變數與常量?
2.2.1 變數?
2.2.2 常量?
2.3 整型數據?
2.3.1 整型變數?
2.3.2 整型常量?
2.3.3 用printf()輸出整型數據?
2.3.4 用scanf()輸入整型數據?
2.4 浮點數?
2.4.1 浮點變數?
2.4.2 浮點常量?
2.4.3 用printf()輸出浮點數據?
2.4.4 用scanf()輸入浮點數據?
2.5 字元型數據?
2.5.1 字元變數?
2.5.2 字元常量?
2.5.3 用printf()輸出字元?
2.5.4 用scanf()輸入字元?
2.5.5 用getchar()輸入字元和用putchar()輸出字元?
2.5.6 字元串常量?
本章小結?
習題2?
第3章 運算符和表達式?
3.1 表達式?
3.2 算術運算符?
3.3 賦值運算符?
3.3.1 普通賦值運算符?
3.3.2 複合賦值運算符?
3.4 不同數據類型的數據間的混合運算?
3.4.1 自動類型轉換?
3.4.2 強制類型轉換?
3.4.3 賦值表達式的類型轉換?
3.5 自增、自減運算符?
3.6 逗號運算符?
3.7 其他運算符?
本章小結?
習題3?
第4章 順序和選擇結構程式設計?
4.1 C語句概述?
4.2 算法基本知識?
4.2.1 算法的特性和要素?
4.2.2 算法的描述?
4.3 順序結構程式設計?
4.4 關係運算與邏輯運算?
4.4.1 關係運算?
4.4.2 邏輯運算?
4.4.3 程式中對條件的描述?
4.5 if語句?
4.5.1 if語句的基本形式?
4.5.2 預設else結構的if語句?
4.6 if語句的嵌套?
4.7 條件運算符?
4.8 switch語句?
4.9 選擇結構程式設計舉例?
本章小結?
習題4?
第5章 循環結構程式設計?
5.1 while語句?
5.2 do…while語句?
5.3 for語句?
5.4 break語句與continue語句?
5.4.1 break語句?
5.4.2 continue語句?
5.5 循環的嵌套?
5.6 用if和goto語句構成的循環結構?
5.7 程式舉例?
本章小結?
習題5?
第6章 數組?
6.1 一維數組?
6.1.1 一維數組的說明?
6.1.2 一維數組的引用?
6.1.3 一維數組的初始化?
6.1.4 一維數組的程式舉例?
6.2 二維數組?
6.2.1 二維數組的說明?
6.2.2 二維數組的引用?
6.2.3 二維數組的初始化?
6.2.4 二維數組的程式舉例?
6.3 字元數組與字元串?
6.3.1 字元數組?
6.3.2 用字元數組存儲字元串?
6.3.3 字元串輸入輸出?
6.3.4 字元串處理函式?
6.3.5 字元串套用舉例?
本章小結?
習題6?
第7章 函式?
7.1 函式概述?
7.2 函式的定義和調用?
7.2.1 函式定義?
7.2.2 函式調用?
7.2.3 形參和實參?
7.2.4 函式的值?
7.3 函式的嵌套調用?
7.4 函式的遞歸調用?
7.5 局部變數和全局變數?
7.5.1 局部變數?
7.5.2 全局變數?
7.6 數據的存儲類別?
7.6.1 動態存儲與靜態存儲?
7.6.2 auto變數?
7.6.3 register變數?
7.6.4 static變數?
7.6.5 extern變數?
7.7 內部函式與外部函式?
本章小結?
習題7?
第8章 指針?
8.1 地址與指針?
8.2 指針變數?
8.2.1 指針的定義?
8.2.2 指針變數的引用?
8.2.3 指針變數的使用?
8.3 指針與數組?
8.3.1 通過指針訪問一維數組?
8.3.2 通過指針訪問二維數組?
8.3.3 指針的基本運算?
8.4 指針與字元串?
8.4.1 字元數組與字元指針?
8.4.2 字元指針舉例?
8.5 指針與函式?
8.5.1 指針作函式的參數?
8.5.2 數組名作函式的參數?
8.5.3 函式返回值是指針?
8.5.4 指向函式的指針?
8.6 指針數組?
8.6.1 指針數組?
8.6.2 main()函式的參數?
8.7 多級指針?
本章小結?
習題8?
第9章 結構體與其他數據類型?
9.1 結構體類型?
9.1.1 聲明結構體類型?
9.1.2 結構體變數的定義?
9.1.3 結構體變數的引用?
9.1.4 結構體變數的初始化?
9.2 結構體數組?
9.3 指向結構體類型數據的指針?
9.4 鍊表?
9.4.1 鍊表概述?
9.4.2 鍊表的基本操作?
9.4.3 鍊表操作套用?
9.5 共用體?
9.5.1 共用體概念?
9.5.2 共用體類型的套用?
9.6 枚舉類型?
9.7 用typedef定義類型?
本章小結?
習題9?
第10章 檔案?
10.1 檔案概述?
10.2 檔案指針?
10.3 檔案的打開與關閉?
10.3.1 檔案的打開?
10.3.2 檔案的關閉?
10.4 檔案的讀寫?
10.4.1 fputc()函式和fgetc()函式?
10.4.2 fputs()函式和fgets()函式?
10.4.3 fprintf()函式和fscanf()函式?
10.4.4 fread()函式和fwrite()函式?
10.5 檔案的定位?
本章小結?
習題10?
第11章 預處理命令?
11.1 宏定義?
11.1.1 無參數的宏定義?
11.1.2 帶參數的宏定義?
11.2 檔案包含?
11.3 條件編譯?
本章小結?
習題11?
第12章 位運算?
12.1 位運算符和位運算?
12.1.1 按位與運算符?
12.1.2 按位或運算符?
12.1.3 異或運算符?
12.1.4 取反運算符?
12.1.5 左移運算符?
12.1.6 右移運算符?
12.1.7 位運算賦值運算符?
12.1.8 不同長度的數據進行位運算?
12.2 位運算舉例?
12.3 位段?
本章小結?
習題12?
附錄A ASCII代碼與字元對照表?
附錄B 運算符的優先權和結合性?
附錄C C語言庫函式?
附錄D C語言中的關鍵字?
附錄E 學生成績管理系統參考程式?
參考文獻