c程式設計[田淑清著書籍]

c程式設計[田淑清著書籍]

《c程式設計》是2003年8月1日電子工業出版社出版的圖書,作者是田淑清。本書主要講述了C語言中最基本的數據類型等有關內容。

基本信息

內容簡介

為了使初學者易於接受,能儘快地學會用C語言編寫程式並上機實踐,在第一部分中只介紹了整數中的int類型和浮點數float,double類型;介紹了對這三種類型數據的輸入和輸出,從而暫時避開了C語言中繁多的整數類型和整數的各種表示方式、避開了煩瑣的輸入、輸出的各種規則。

在這一部分,介紹了結構化程式設計的基本組成結構以及相關的語句,使讀者能掌握一些最基本的算法;學習編寫最簡單的、具有良好風格的C語言程式。

在第5章介紹了函式的初步知識之後,所有章節中的例題基本都以函式的形式給出,要求讀者自這一章開始,全部運用函式來完成各個練習,以便由易到難逐步培養編寫C函式的能力,逐步掌握對函式的套用。

在這部分,結合C語言的學習,陸續介紹了程式設計中的一些基本算法,如數的交換、累加、連乘、選最大最小數、遞推、枚舉等。在這些算法的基礎上,介紹了求一元高次方程的一個根、求定積分等有關數值計算的基本算法。

第6章是有關結構化程式設計的基本常識,不需要死記硬背,其中的內容應該體現在具體的程式設計中。

在這一段的學習時間內,讀者可在教師或有關專業人員的指導下,參考附錄F中“簡單的上機操作”中的內容,在Turbo C的環境下運行自己編寫的練習程式,通過上機實踐,逐步熟悉上機操作的步驟,並有意識地去練習看懂系統給出的各種信息,為培養自己獨立調試程式的能力做好準備。

總的來說,這部分的內容難度較小,學起來應該並不困難。

在第二部分中,引進了指針的概念,在C語言中,指針幾乎是無處不在,只有建立了“地址”、“指針”以及“引用指針所指存儲單元”的概念才能正確地使用數組、字元串,才能在函式之間通過實參和形參正確地傳送數據。這也是學習C語言的重點和難點所在,希望讀者從一開始,就要特別重視指針概念的建立,以便為後續章節的學習打下基礎。

在這一部分,進一步介紹C語言中的各種複雜數據結構,介紹了各種數據結構在函式間的數據傳遞,同時也討論了函式的遞歸調用,檔案的基本套用。

在第7章介紹了字元類型,字元處理是當前程式設計中很重要的一個方面,因此讀者應該很好地掌握。

第9、10章分別介紹了一維和二維數組,數組是程式設計中不可缺少的一種數據結構,而在C語言中,數組和指針又有著密不可分的關係,在這兩章中分別討論了一維和二維數組和指針的關係、討論了如何通過指針引用數組元素、如何通過指針向函式傳遞數組。並以大量的例題,例舉了利用數組這一存儲結構,進行查找、插入、刪除、排序等的基本算法。

第16章介紹了C語言中另外一種複雜的數據結構——結構體類型。在這一章除討論了結構體變數的一般套用外,重點介紹了利用指向本身的結構體,通過動態存儲分配建立動態鍊表的算法,以及對鍊表進行基本操作(插入、刪除結點等)的算法。

在計算機的套用中,建立“檔案”的概念和掌握對檔案的操作是一種最基本的技能,第21章,簡單介紹了有關檔案的概念以及C程式中對檔案的基本操作。

在學習這一部分內容時,讀者應當參考附錄F“簡單的程式調試”中介紹的內容,在Turbo C環境下,逐步學會調試程式的簡單步驟,培養自己獨立調試程式的能力。在程式設計中,這一能力的培養是十分重要的。

以上兩部分,在介紹C語言的同時,較側重於幫助讀者掌握用C語言來進行“程式設計”的基本知識,因而儘量避開了C語言中的一些語法細節。

第三部分就C語言的“語言”內容進行了補充,例如:第13章的“用戶標識符的作用域”,第14章的“編譯預處理”,第17章的“C語言中的整型數和整型變數”,第20章的“在終端上按格式進行輸入和輸出”等章節,都是在真正用C語言進行程式設計時所必須具備的知識。這些章節的內容相對獨立,有關內容的教與學,可以根據學時的安排,按需要隨時穿插進行;讀者也可根據需要隨時查閱。

儘管作者根據多年的教學經驗,試圖按照初學者的學習規律來安排本書的內容,主觀上有著良好的願望,但由於水平的限制,書中會有很多不足和錯誤,歡迎廣大讀者批評和指正。

圖書目錄

第1章 C程式設計的初步知識

1.1 簡單 C程式的組成和格式

1.2 十進制整型數和實型數

1.2.1 常量

1.2.2 十進制整型常量

1.2.3 浮點常量

1.2.4 用定義一個符號名的方法來代表一個常量

1.3 標識符

1.3.1 關鍵字

1.3.2 預定義標識符

1.3.3 用戶標識符

1.4 整型變數和實型變數

1.4.1 變數

1.4.2 整型變數

1.4.3 浮點型變數

1.4.4 給變數置初值

1.4.5 定義不可變的變數

1.5 可進行算術運算的表達式

1.5.1 基本的算術運算符

1.5.2 運算符的優先權與結合性和算術表達式

1.5.3 強制類型轉換表達式

1.6 賦值表達式

1.6.1 賦值運算符和賦值表達式

1.6.2 複合的賦值表達式

1.6.3 賦值運算中的類型轉換

1.7 自加、自減運算符和逗號運算符

1.7.1 自加運算符(++)和自減運算符(--)

1.7.2 逗號運算符和逗號表達式

習題

第2章 簡單的C語句及其順序程式結構

2.1 賦值語句

2.2 整型數和實型數的簡單輸入和輸出語句

2.2.1 調用 printf 函式輸出數據到終端

2.2.2 調用 scanf 函式從終端鍵盤輸入數據

2.3 複合語句和空語句

2.3.1 複合語句

2.3.2 空語句

習題

第3章 分支結構

3.1 關係運算和邏輯運算

3.1.1 C 語言中的邏輯值

3.1.2 關係運算符和關係表達式

3.1.3 邏輯運算符和邏輯表達式

3.2 用if 語句構成的分支結構

3.2.1 if 語句

3.2.2 嵌套的 if 語句

3.3 由條件表達式構成的分支結構

3.4 由switch 語句和 break 語句構成的分支結構

3.4.1 switch 語句

3.4.2 switch 語句的執行過程

3.4.3 在 switch 語句體中使用 break 語句

習題

第4章 循環結構4

4.1 用for語句構成的循環結構

4.1.1 for 循環的一般形式?

4.1.2 for 循環的執行過程

4.1.3 有關 for 語句的說明

4.2 用while 語句構成的循環結構

4.2.1 while 循環的一般形式

4.2.2 while 循環的執行過程

4.3 用do-while語句構成的循環結構

4.3.1 do-while 循環的一般形式

4.3.2 do-while 循環的執行過程

4.4 循環結構的嵌套

4.5 幾種循環結構的比較

4.6 break 和 continue 語句在循環體中的作用

4.6.1 break 語句

4.6.2 continue 語句

4.7 語句標號和 goto 語句

4.7.1 語句標號

4.7.2 goto 語句

4.8 程式舉例

習題

第5章 函式的初步知識

5.1 庫函式

5.2 函式的定義和返回值

5.2.1 函式定義的語法

5.2.2 函式的返回值

5.3 函式的調用

5.3.1 函式的兩種調用方式

5.3.2 函式調用時的語法要求

5.4 調用函式和被調用函式之間的數據傳遞

5.5 函式原型的說明

5.5.1 函式原型的說明語句

5.5.2 函式原型說明語句的位置

5.6 程式舉例

習題

第6章 算法和結構化程式設計

6.1 程式和程式設計

6.1.1 程式

6.1.2 程式設計

6.2 算法

6.3 結構化程式設計和模組化結構

6.3.1 結構化程式

6.3.2 模組化結構

6.4 怎樣評價一個程式

習題

第7章 字元數據和字元數據處理

7.1 字元常量

7.1.1 常規字元常量

7.1.2 轉義字元常量

7.1.3 可對字元量進行的運算

7.2 字元變數

7.3 字元的輸入和輸出

7.3.1 調用 printf 和 scanf 函式

7.3.2 調用 putchar 和 getchar 函式

7.3.3 調用 getche 和 putche 函式

7.3.4 調用 getch 和 putch 函式

7.4 程式舉例

習題

第8章 地址和指針

8.1 什麼是地址?什麼是指針?

8.2 指針變數的定義和指針變數的基類型

8.3 給指針變數賦值

8.3.1 使指針指向一個對象

8.3.2 給指針變數賦“空”值

8.4 對指針變數的操作

8.4.1 通過指針或地址來引用一個存儲單元

8.4.2 移動指針

8.4.3 指針比較

8.5 函式之間地址值的傳遞

8.5.1 地址或指針變數作為實參

8.5.2 在被調用函式中直接改變調用函式中的變數的值

8.5.3 函式返回地址值

習題?

第9章 一維數組

9.1 一維數組的定義和一維數組元素的引用

9.1.1 一維數組的定義

9.1.2 一維數組元素的引用

9.1.3 一維數組的初始化

9.1.4 通過賦初值定義數組的大小

9.2 一維數組的套用舉例(一)

9.3 一維數組和指針

9.3.1 一維數組和數組元素的地址

9.3.2 通過數組的首地址引用數組元素

9.3.3 通過指針來引用一維數組元素

9.3.4 用指針帶下標的形式引用一維數組元素

9.4 一維數組名或數組元素作實參

9.4.1 數組元素作實參

9.4.2 數組名作實參

9.4.3 數組元素地址作為實參

9.5 一維數組套用舉例(二)

習題

第10章 二維數組

10.1 二維數組的定義和二維數組元素的引用

10.1.1 二維數組的定義

10.1.2 二維數組元素的引用

10.1.3 二維數組的初始化

10.1.4 通過賦初值定義二維數組的大小

10.2 二維數組的套用舉例(一)

10.3 二維數組和指針?

10.3.1 二維數組和數組元素的地址

10.3.2 通過地址來引用二維數組元素

10.3.3 通過建立指針數組來引用二維數組元素

10.3.4 通過建立行指針來引用二維數組元素

10.4 通過建立指針數組和一維數組來構造二維數組

10.5 二維數組名和指針數組作為實參

10.5.1 二維數組名作為實參

10.5.2 指針數組作為實參

10.6 二維數組套用舉例(二)

習題

第11章 字元串

11.1 用一維字元數組來存放字元串

11.1.1 通過賦初值的方式給一維字元數組賦字元串

11.1.2 在 C 程式執行過程中給一維字元數組賦字元串

11.2 使用指針指向一個字元串

11.2.1 通過賦初值的方式使指針指向字元串

11.2.2 通過賦值運算使指針指向字元串

11.2.3 用字元數組作為字元串和用指針指向的字元串之間的區別

11.3 字元串的輸入和輸出

11.3.1 輸入和輸出字元串時的必要條件

11.3.2 逐個字元輸入和輸出

11.3.3 用格式說明符“%s”進行整串輸入和輸出

11.3.4 調用 gets和puts 函式在終端按行輸入輸出字元

11.4 字元串數組

11.5 用於字元串處理的函式

11.6 程式舉例

習題

第12章 對函式的進一步討論

12.1 傳給 main () 函式的參數

12.2 通過實參向函式傳遞函式名或指向函式的指針

12.3 函式的遞歸調用

習題

第13章 C語言中用戶標識符的作用域和存儲類

13.1 內部變數、外部變數和存儲分類

13.1.1 用戶標識符的作用域

13.1.2 內部變數、外部變數和存儲分類

13.2 內部變數及其作用域和生存期

13.2.1 auto 變數

13.2.2 register 變數

13.2.3 靜態存儲類的內部變數

13.3 外部變數及其作用域和生存期

13.3.1 外部變數的作用域和生存期

13.3.2 在同一編譯單位內使用extern說明符

13.3.3 在不同編譯單位內使用extern說明符

13.3.4 靜態外部變數

13.4 函式的存儲分類

13.4.1 用 extern 說明函式

13.4.2 用 static 說明函式

13.5 在 Turbo C 集成環境下連線多個編譯單位的方法

習題S

第14章 編譯預處理

14.1 宏替換S

14.1.1 不帶參數的宏定義

14.1.2 帶參數的宏定義

14.1.3 終止宏定義

14.2 檔案包含

14.3 條件編譯

14.4 #line 行

習題

第15章 動態存儲分配

15.1 malloc 函式和 free 函式

15.2 calloc 函式

15.3 realloc 函式

習題

第16章 結構體類型和用戶定義類型

16.1 用 typedef 說明一種新類型名

16.2 結構體類型

16.3 結構體類型的說明

16.4 結構體類型的變數、數組和指針的定義

16.5 給結構體變數、數組賦初值

16.6 引用結構體類型變數中的數據

16.7 通過結構體組成較複雜的存儲結構

16.8 函式之間結構體變數的數據傳遞

16.8.1 向函式傳遞結構體變數的成員

16.8.2 向函式傳遞結構體變數

16.8.3 傳遞結構體的地址

16.8.4 函式值為結構體類型

16.8.5 函式的返回值可以是指向結構體變數的指針類型

16.9 利用結構體變數構成鍊表

16.9.1 結構體中含有可以指向本結構體的指針成員

16.9.2 動態鍊表的概念

16.9.3 單向鍊表

16.9.4 單向環形鍊表

16.9.5 雙向鍊表

習題

第17章 C 語言中的整型數和整型變數

17.1 十進制數和二、八、十六進制數之間的轉換

17.1.1 十進制數和二進制數之間的轉換

17.1.2 十進制數和八進制數之間的轉換

17.1.3 十進制數和十六進制數之間的轉換

17.1.4 二進制數與八進制數、十六進制數間的轉換

17.2 整數在記憶體中的存儲形式

17.2.1 正整數

17.2.2 負整數

17.2.3 無符號整數

17.3 C 語言中的整數類型

17.4 C 語言中的整數類型之間的轉換

習題

第18章 共用體、位段結構和枚舉類型

18.1 共用體

18.1.1 共用體類型的說明和變數定義

18.1.2 共用體變數的引用

18.1.3 共用體套用舉例

18.2 位段結構

18.3 枚舉類型

習題

第19章 位運算

19.1 位運算符和位運算

19.1.1 位運算符

19.1.2 位運算符的運算功能

19.2 位運算的簡單套用

習題

第20章 在終端上按格式進行數據的輸入和輸出

20.1 調用 printf() 在終端上按格式進行數據的輸出

20.1.1 printf() 函式的一般調用形式

20.1.2 printf () 函式中常用的格式說明

20.1.3 調用 printf (函式時的注意事項

20.2 調用 scanf() 在終端上按格式進行數據的輸入

20.2.1 scanf() 函式的一般調用形式

20.2.2 scanf () 函式中常用的格式說明

20.2.3 通過 scanf 函式從鍵盤輸入數據

習題

第21章 檔案

21.1 檔案的概念

21.2 檔案指針

21.3 打開檔案

21.4 關閉檔案

21.5 getc(fgetc)函式和putc(fputc)函式

21.6 判檔案結束函式 feof

21.7 fscanf 函式和fprintf函式

21.8 fgets函式和fputs函式

21.9 fread函式和fwrite函式

21.10 檔案定位函式

21.10.1 fseek函式

21.10.2 ftell函式

21.10.3 rewind 函式

習題附錄

附錄A C 語言的關鍵字

附錄B 雙目算術運算中兩邊運算量類型轉換規律

附錄C 運算符的優先權和結合性

附錄D 常用字元與 ASC Ⅱ代碼對照表

附錄E Turbo C 2.0 常用庫函式

附錄F 簡單的上機操作和程式的調試

參考文獻

張長海 陳娟 編

相關詞條

相關搜尋

熱門詞條

聯絡我們