《國外計算機科學教材系列·國家教育部雙語教學示范課程使用教材:雙語版C程序設計》由在計算機程序設計方面有著豐富教學和實踐經驗的中外作者合作編寫。共分14章內容,由淺入深全面介紹C程序設計方法,包括基本數據類型和基本輸出輸出方式、各種控制結構和語句、指針和數組、字符串、函數、結構、文件輸入和輸出等內容,最后討論了C預處理器。
《國外計算機科學教材系列·國家教育部雙語教學示范課程使用教材:雙語版C程序設計》所有實例經過精心挑選、貼近生活,尤其強調讀者的親自參與意識。每章都為初學者提供了常見錯誤分析,所選習題可提高讀者上機編程的興趣。《國外計算機科學教材系列·國家教育部雙語教學示范課程使用教材:雙語版C程序設計》采用中英文對照混排,既方便初學者熟悉相關概念和內容,也便于英文非母語的讀者熟悉英文專業詞匯。
為了適應國內高等教育逐步與國際接軌的發展趨勢,英語教學和雙語教學越來越受到人們的重視。尤其是以“國際化、工業化”為辦學理念、注重國際化、工業化人才培養的國家示范性軟件學院的部分課程還常常邀請一些外籍教師來國內進行全英語授課,但是由于辦學經費有限,國內學生的英語水平又參差不齊,導致全英語教學目前還無法普及。因此,利用國內的優秀師資(包括留學回國人員)進行雙語教學成為首選。針對目前許多雙語課程教學缺少雙語版教材的問題,我們組織國內和國外大學教師合作編寫了本書。
本書的第一作者是愛爾蘭都柏林工業大學(DIT)的高級講師PaulKelly。他長期從事程序設計類課程的教學工作,在程序設計類課程教學方面具有豐富的教學實踐經驗,在國外已先后出版多本程序設計語言類書籍,還曾數次被哈爾濱工業大學軟件學院作為外聘教師應邀來校講授程序設計方面的課程,對中國學生比較了解,針對其在教學中發現的問題,即初學者面臨著既不熟悉專業術語和基本概念、又不熟悉英文專用詞匯的雙重困難,提出了出版英漢對照混排式雙語版教材的思路,幫助學生在克服語言障礙的同時,能夠更快更好地熟悉和掌握計算機程序設計方面的基礎知識,為國內的雙語教學提供了一種最佳的解決方案。
本書內容共分14章,由淺入深、全面介紹C語言程序設計方法。本書的特點如下:
1.使用實際生活中的例子和直觀的圖示,來通俗易懂地講解難于理解的概念。
2.采用案例驅動和循序漸進方式,從一個應用實例出發,先利用現有知識編寫出一個較為簡單的程序,然后在此基礎上,不斷擴充,在擴充的過程中引入一個新的概念和知識點,逐漸編寫出一個較大的程序。
3.每個例程都有詳細的講解,重點內容和段落給出了中文注解,適合以C作為入門語言的讀者對照閱讀,既方便初學者熟悉相關概念和內容,也便于母語不是英語的讀者熟悉英文的專業詞匯,尤其適合雙語教學。
4.每章后面都有一節介紹初學者編程時易犯的錯誤,以幫助初學者在程序設計中避免這些錯誤。
5.每章后面都有快速語法參考,總結本章內容,便于讀者快速查詢相關內容。
6.每章后面都有精心設計的、有趣的習題,便于讀者測試和強化對相關內容的理解。
7.有相關的教學網站和教材網站,方便讀者下載示例的源代碼和教學課件等資料。
本書是繼國內首次出版中英文對照混排式雙語版教材《C++雙語版程序設計》之后出版的第二本雙語版程序設計教材。PaulKelly是一位治學非常嚴謹的教師,本書的第二作者蘇小紅在與他合著過程中,經常為一個細節內容的編寫進行交流與討論,書稿完成后又進行了多次校對工作。本著對所有讀者負責的精神,我們真誠地歡迎讀者對教材提出寶貴意見,可以通過發送電子郵件或在網站上留言等多種方式與我們交流討論。
蘇小紅
哈爾濱工業大學計算機科學與技術學院
2013年3月
Chapter One Introduction to C(引言)
1.1 Brief history of C(C語言簡史)
1.2 Why programmers use C(為什么程序員愛用C語言)
1.2.1 C is portable
1.2.2 C is a structured programming language
1.2.3 C is efficient
1.2.4 C is flexible
1.2.5 C is powerful
1.2.6 C is concise
1.3 Developing a C program(開發C程序)
1.4 Suggestions for learning C Programming(學習C語言程序設計的建議)
Chapter Two C Data Types(C數據類型)
2.1 Constants(常量)
2.2 Variables(變量)
2.3 Simple output to the screen(簡單的屏幕輸出)
2.4 Comments(注釋)
2.5 Data types(數據類型)
2.5.1 Short integer data types
2.5.2 Long integer data types
2.5.3 Unsigned integer data types
2.5.4 Double floating-point data type
2.6 Data type sizes(數據類型的大小)
Programming pitfalls
Quick syntax reference
Exercises
Chapter Three Simple Arithmetic Operations and Expressions(簡單的算術運算和表達式)
3.1 C operators(C運算符)
3.1.1 The assignment operator
3.1.2 Arithmetic operators
3.1.3 Increment and decrement operators
3.1.4 Combined operators
3.2 Operator precedence(運算符優先級)
3.3 Type conversions and casts(類型轉換與強制類型轉換)
Programming pitfalls
Quick syntax reference
Exercises
Chapter Four Keyboard Input and Screen Output(鍵盤輸入和屏幕輸出)
4.1 Simple keyboard input(簡單的鍵盤輸入)
4.2 Using a width and precision specification in printf( )
[在函數printf( )中使用域寬和精度說明]
4.3 Single-character input and output(單個字符的輸入和輸出)
Programming pitfalls
Quick syntax reference
Exercises
Chapter Five Control Statements: If and Switch(控制語句:if和switch)
5.1 The if statement(if語句)
5.2 The if-else statement(if-else語句)
5.3 Logical operators(邏輯運算符)
5.4 Nested if statements(嵌套的if語句)
5.5 The switch statement(switch語句)
5.6 The conditional operator ?:(條件運算符)
Programming pitfalls
Quick syntax reference
Exercises
Chapter Six Iterative Control Statements: while, do-while, and for
(循環控制語句:while、do-while和for)
6.1 The while statement(while語句)
6.2 The do-while loop(do-while循環)
6.3 The for statement(for語句)
6.4 Nested loops(嵌套的循環)
Programming pitfalls
Quick syntax reference
Exercises
Chapter Seven Arrays(數組)
7.1 Introduction to arrays(引言)
7.2 Initialising arrays(數組初始化)
7.3 Two-dimensional arrays(二維數組)
7.4 Initialising two-dimensional arrays(二維數組的初始化)
7.5 Multi-dimensional arrays(多維數組)
Programming pitfalls
Quick syntax reference
Exercises
Chapter Eight Pointers(指針)
8.1 Variable addresses(變量的地址)
8.2 Pointer variables(指針變量)
8.3 The dereference operator *(解引用運算符*)
8.4 Why use pointers? (為什么使用指針)
Programming pitfalls
Quick syntax reference
Exercises
Chapter Nine Pointers and Arrays(指針和數組)
9.1 Pointers and one-dimensional arrays(指針和一維數組)
9.2 Pointers and multi-dimensional arrays(指針和多維數組)
9.3 Dynamic memory allocation(動態內存分配)
9.3.1 The malloc function
9.3.2 The calloc function
9.3.3 The realloc function
9.3.4 Allocating memory for multi-dimensional arrays
Programming pitfalls
Exercises
Chapter Ten Strings(字符串)
10.1 String literals(字符串)
10.2 Long character strings(長字符串)
10.3 Strings and arrays(字符串和數組)
10.4 Displaying a string(顯示一個字符串)
10.5 The puts function[puts函數]
10.6 The gets function[gets函數]
10.7 Accessing individual characters of a string(訪問字符串中的單個字符)
10.8 Assigning a string to a pointer(用字符串為字符指針賦值)
10.9 String functions(字符串處理函數)
10.9.1 Finding the length of a string
10.9.2 Copying a string
10.9.3 String concatenation
10.9.4 Comparing strings
10.9.5 Other string functions
10.10 Converting numeric strings to numbers(數值字符串向數值的轉換)
10.11 Arrays of strings(字符串數組)
Programming pitfalls
Quick syntax reference
Exercises
Chapter Eleven Functions(函數)
11.1 Introduction(引言)
……