邵軍、王忠主編的《C語言程序設計(高等學校電子信息類十二五規劃教材)》是根據教育部《關于進一步加強高等學校計算機基礎教學的意見》的基本要求編寫的。
本教材從C語言程序設計的基本原理及程序設計的基本思想出發,以“實踐應用”為目標,緊扣基礎,循序漸進,面向應用。
全書主要包括兩部分,即基礎部分和面向應用部分。基礎部分的主要內容包括程序設計中的基本概念與應用,如變量、表達式、輸入/輸出函數、流程控制結構等。面向應用部分包括函數、數組、指針的概念及其應用,結構型數據的應用及文件的操作等知識。
《C語言程序設計(高等學校電子信息類十二五規劃教材)》可作為高等院校相關專業的教材及國家計算機水平考試、各類成人教育的培訓教材,也可供計算機愛好者自學。
第1章 概述 1.1 程序設計概述 1.1.1 程序、程序設計與程序設計語言 1.1.2 程序設計的一般過程 1.1.3 程序設計語言發展 1.2 算法及其描述 第1章 概述 1.1 程序設計概述 1.1.1 程序、程序設計與程序設計語言 1.1.2 程序設計的一般過程 1.1.3 程序設計語言發展 1.2 算法及其描述 1.2.1 算法及其特性 1.2.2 算法的表示 1.3 C語言概述 1.3.1 C語言的發展 1.3.2 C語言的特點 1.4 C程序的基本結構 1.4.1 簡單的C語言程序例子 1.4.2 C語言的基本結構 1.5 C語言程序的運行步驟 1.6 學習程序設計應注意的幾個問題 本章小結 習題1第2章 數據類型與表達式 2.1 詞法構成 2.1.1 基本字符集 2.1.2 標識符 2.1.3 關鍵字 2.2 數據類型 2.2.1 數據類型的一般概念 2.2.2 基本數據類型 2.3 常量與變量 2.3.1 常量 2.3.2 變量 2.4 運算符和表達式 2.4.1 運算符和表達式概述 2.4.2 算術運算符和表達式 2.4.3 賦值運算符和表達式 2.4.4 關系運算符和表達式 2.4.5 邏輯運算符和表達式 2.4.6 其他運算符和表達式 2.4.7 表達式的類型轉換 本章小結 習題2第3章 順序結構程序設計 3.1 結構化程序設計 3.1.1 程序的三種基本結構 3.1.2 結構化程序設計的核心思想 3.1.3 自頂向下、逐步求精的程序設計方法 3.2 C語句 3.3 賦值語句 3.4 數據輸入/輸出的概念及在C語言中的實現 3.5 字符數據的輸入與輸出 3.5.1 putchar函數(字符輸出函數) 3.5.2 getchar函數(鍵盤輸入函數) 3.6 格式輸入與輸出 3.6.1 prinff函數(格式輸出函數) 3.6.2 scanf函數(格式輸入函數) 3.7 順序結構程序實例 本章小結 習題3第4章 選擇結構程序設計 4.1 if語句 4.1.1 if語句的三種形式 4.1.2 if語句的嵌套 4.2 switch語句 4.3 條件運算符和條件表達式 4.4 選擇結構程序實例 本章小結 習題4第5章 循環結構程序設計 5.1 循環的基本概念 5.2 while語句和do.while語句 5.2.1 while語句 5.2.2 do.while語句 5.3 for語句 5.4 循環的嵌套 5.5 幾種循環的比較 5.6 循環中的跳轉 5.6.1 break語句 5.6.2 continue語句 5.6.3 goto語句 5.7 基本的循環算法設計技術 5.7.1 窮舉法 5.7.2 遞推法 5.8 循環程序設計實例 本章小結 習題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.3 函數的嵌套調用與遞歸調用 6.3.1 嵌套調用 6.3.2 遞歸調用 6.4 函數分解 6.5 變量的存儲類別與作用域 6.5.1 自動變量(auto) 6.5.2 外部變量(extern) 6.5.3 靜態變量(static) 6.5.4 寄存器變量(register) 6.6 程序結構 6.6.1 單文件程序結構 6.6.2 多文件程序結構 6.7 庫函數 6.7.1 靜態鏈接庫 6.7.2 動態鏈接庫 6.7.3 C語言常用庫函數 本章小結 習題6第7章 數組 7.1 一維數組 7.1.1 一維數組的定義 7.1.2 一維數組的引用 7.1.3 一維數組的初始化 7.1.4 一維數組應用舉例 7.2 二維數組 7.2.1 二維數組的定義 7.2.2 二維數組的引用 7.2.3 二維數組的初始化 7.2.4 二維數組的分解 7.3 數組與運算符 7.3.1 數組與算術/賦值/邏輯運算符 7.3.2 對數組使用sizeof運算符 7.4 數組與函數 7.4.1 數組元素作為函數實參 7.4.2 數組名作為函數參數 7.5 字符數組與字符串 7.5.1 字符數組的基本語法知識 7.5.2 字符串和字符串結束標志 7.5.3 字符數組的輸入、輸出 7.5.4 字符串處理函數 7.6 數組應用實例 7.6.1 數組中的查找算法 7.6.2 數組中的排序算法 7.6.3 數組的綜合應用 本章小結 習題7第8章 指針 8.1 地址、指針與指針變量的基本概念 8.1.1 地址與指針 8.1.2 指針變量 8.2 指針變量的定義、賦值和引用 8.2.1 指針變量的定義 8.2.2 指針變量的賦值 8.2.3 引用指針變量所指的值 8.3 數組指針和指向數組的指針變量 8.3.1 指向一維數組的指針 8.3.2 通過指針引用一維數組元素 8.3.3 字符指針與字符數組 8. 3.4.指向二維數組的指針 8.3.5 指針數組 8.4 指針與函數 8.4.1 指針作為函數參數 8.4.2 指針函數 8.4.3 函數指針 8.5 指針的指針 8.6 動態內存分配與指向它的指針變量 8.6.1 內存的動態分配概述 8.6.2 內存的動態分配方法與應用 本章小結 習題8第9章 結構體、聯合體與枚舉類型 9.1 結構體 9.1.1 結構體類型的定義 9.1.2 結構體變量的定義、引用及初始化 9.1.3 結構體數組的定義 9.1.4 結構體作為函數參數 9.1.5 指針與結構體 9.1.6 結構體指針變量作為函數參數 9.1.7 鏈表 9.2 聯合體 9.3 枚舉類型 9.4 類型定義符typedef 本章小結 習題9第10章 文件 10.1 文件概述 10.1.1 文本文件與二進制文件 10.1.2 文件緩沖區 10.1.3 文件的指針 10.2 文件處理 10.2.1 文件的打開 10.2.2 文件的關閉 10.3 文件的順序讀寫 10.3.1 字符讀寫函數fgetc和fputc 10.3.2 字符串讀寫函數fgets和fputs 10.3.3 數據塊讀寫函數fread和fwrite 10.3.4 格式化讀寫函數fscanf和fprintf 10.4 文件的隨機讀寫 10.4.1 文件定位 10.4.2 隨機讀寫函數rewind和fseek 10.5 文件檢測函數 本章小結 習題10第11章 編譯預處理 11.1 宏定義 11.1.1 不帶參數的宏定義 11.1.2 帶參數的宏定義 11.1.3 宏嵌套 11.2 條件編譯 11.3 文件包含 本章小結 習題11附錄A ASCll字符編碼表附錄B 運算符優先級和結合性表附錄C C庫函數參考文獻