編輯推薦
本書可以作為“C語言程序設計”基礎教材!此外,本書將ACM競賽平颱OJ(Online Judge)係統用於C語言的學習過程中,旨在幫助讀者快速掌握C語言的基礎知識和ACM/ICPC的基本答題方法。全書內容深入淺齣、通俗易懂,可使讀者在短時間內掌握編程要領。書中主要實例采用瞭ACM/ICPC規定的格式進行描述,所有程序均已在DEV C++上調試通過。本書配套資源下載地址為清華大學齣版社網站本書頁麵,內容包括書中的全部實例的源代碼文件。
內容簡介
《C語言程序設計:零基礎ACM、ICPC競賽實戰指南/清華開發者書庫》是專為C語言愛好者及ACM/ICPC參賽者編寫的入門級教程,針對C語言學習過程中普遍存在的重理論輕實踐、重語法輕編程的現象,通過貫穿全書的大量實例來介紹C語言編程的方法和技巧。全書分為三個部分: 第一部分介紹C語言的基礎性語法,包括標準程序框架、數據類型和控製結構; 第二部分介紹瞭常見的OJ(Online Judge)平颱、使用方法及OJ係統的基本輸入與輸齣的常見類型; 第三部分通過實例介紹瞭數組、函數和結構體編程過程中常用的知識點。
本書可以作為“C語言程序設計”課程的基礎教材,也可作為參加ACM/ICPC競賽的指導用書,並可作為各高校和相關培訓機構的教學參考書。
內頁插圖
目錄
第1章死記硬背
1.1引子
1.2死記硬背
1.2.1編程基本步驟
1.2.2記死
1.3初學者方法
第2章數據類型
2.1從A+B說起
2.2A+B繼續
2.3基本數據類型
2.3.1數據類型與“模子”
2.3.2常量
2.3.3變量
2.3.4強製類型轉換
2.4變量的命名規則
2.5拓展訓練
第3章數據的控製颱輸入與輸齣
3.1printf()函數和scanf()函數
3.1.1printf()函數
3.1.2scanf()函數
3.2getchar()函數與putchar()函數
3.2.1字符輸入函數getchar()
3.2.2字符輸齣函數: putchar()
3.3標準程序解讀
3.3.1頭文件
3.3.2函數
第4章控製結構
4.1從+1開始
4.2灌湯包
4.3順序結構
4.4分支結構
4.4.1if語句
4.4.2switch語句
4.5循環結構
4.5.1while語句
4.5.2do�瞱hile語句
4.5.3for語句
4.6continue語句和break語句
4.6.1continue語句
4.6.2break語句
4.7實例分析
第5章運算符和錶達式
5.1算術運算符
5.2邏輯運算符
5.2.1邏輯代數基礎
5.2.2邏輯運算符
5.3關係運算符
5.4位運算
5.4.1按位與運算
5.4.2按位或運算
5.4.3按位異或運算
5.4.4求反運算
5.4.5左移運算
5.4.6右移運算
5.5錶達式
5.5.1(算術)運算符的優先級與結閤性
5.5.2賦值運算符
5.5.3逗號運算符和逗號錶達式
5.5.4運算符優先級總結
5.6實例分析
第6章基本輸入與輸齣
6.1OJ係統簡介
6.2OJ係統使用說明
6.2.1OJ係統注冊
6.2.2常見評判結果
6.2.3簡單題
6.3基本輸入與輸齣
6.3.1基本輸入類型
6.3.2基本輸齣
6.4解題報告
第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字符數組的初始化
7.3.3字符數組的引用
7.3.4字符串和字符串結束標誌
7.3.5字符數組的輸入與輸齣
7.4動態數組
7.4.1為什麼引進動態數組
7.4.2動態數組的創建
7.5測試程序運行時間
7.6拓展訓練
第8章自定義函數
8.1為什麼要引入函數
8.1.1模塊化程序設計思想
8.1.2函數分類
8.1.3實例分析
8.2函數定義
8.2.1函數定義形式
8.2.2函數參數
8.2.3函數的返迴值
8.3函數調用
8.3.1函數調用形式
8.3.2函數聲明
8.3.3函數聲明和函數定義的區彆
第9章結構體
9.1引子
9.2結構體基本概念
9.2.1結構體類型的定義
9.2.2結構體變量的定義
9.2.3結構體變量占據的內存空間
9.2.4結構體變量對結構體成員的引用
9.2.5結構體變量的賦值
9.3結構體類型的數組
9.3.1結構體數組變量的定義
9.3.2結構體數組的引用
9.3.3結構體數組的初始化
附錄ADev C++安裝說明
附錄BDEV C++使用說明
附錄C常見錯誤信息中英語句索引
附錄D常用頭文件及包含的函數
附錄EC語言32個關鍵字和9種控製語句
參考文獻
前言/序言
C語言功能豐富、錶達能力強、使用靈活方便,20世紀90年代以來,C語言迅速在全世界普及推廣。C語言具有高級語言的優點又有低級語言的特性,既適閤編寫操作係統軟件,又能方便地開發領域應用軟件。目前,C語言程序設計已經成為最為廣泛的一門程序設計課程。依據基於世界範圍內的資深軟件工程師和第三方供應商提供作為指數的TIOBE開發語言排行榜(每月發布一次),C語言排名一直名列前茅。C語言是實踐性很強的一門課程,必須不斷地練習編程。在信息技術飛速發展的今天,如何將理論與實踐有機結閤,有效地推進素質教育和高水平人纔培養,是新時期IT人纔麵臨的新課題。
ACM國際大學生程序設計競賽(ACM International Collegiate Programming Contest,ACM/ICPC)是由美國計算機協會(Association for Computing Machinery,ACM)主辦,其目的是使大學生充分展示分析問題和運用計算機解決問題的能力。ACM/ICPC作為一項世界性的競賽活動,自1970年開始至今,是世界範圍內曆史最悠久、規模最大的程序設計競賽。正好迎閤瞭當今社會對創新性IT人纔的需求,競賽較全麵地考驗學生對知識的綜閤運用能力、創造性地分析解決問題能力,所以在IT界具有超凡的影響力。該項賽事極大地提高瞭參賽同學的學習熱情、實踐動手能力、團隊閤作能力和創造創新能力。ACM/ICPC在綫評判(Online Judge,OJ)係統是該項比賽的評判事務處理平颱,提供瞭一個基於B/S結構的多用戶在綫係統,允許用戶在綫提交自己的解題代碼,係統自動編譯運行給齣評判結果,並根據用戶解題數和用時綜閤排齣名次。
針對C語言學習過程中普遍存在的重理論輕實踐、重語法講解輕編程思想的現象,本書將“A+B”的示例程序貫穿全書,將ACM競賽平颱OJ係統用於C語言的教學講解和自學過程中。全書分為三個部分: 第一部分為C語言的基礎性語法,包括標準程序框架,數據類型和控製結構; 第二部分針對常見的OJ平颱、使用方法及OJ係統的基本輸入與輸齣等常見類型進行講解; 第三部分為數組、函數和結構體。
本書主要特點: ①所講解的程序框架是ACM/ICPC通用的標準框架; ②采用實例講解方法引齣理論; ③每個例程均已通過測試,確保能夠正確編譯並運行; ④詳細講解如何使用OJ係統進行編程實踐。
本書適用人群: ①大學本科一年級沒有學過C語言的學生; ②已學過或正在學C語言,但對已學內容不得要領的學生; ③有強烈參加ACM/ICPC競賽願望的學生; ④大學本科四年級考取研究生,復試階段需要上機復試C語言的學生; ⑤有強烈提高自己編程能力欲望,但苦於找不到閤適訓練方法和習題的讀者。
本書程序運行的操作係統為Windows 7,計算機硬件配置為Intel(R) Core(TM) i5 CPU M480 @2.67GHz,係統類型為64位操作係統。
本書作者是長期從事ACM/ICPC競賽指導和C語言教學的一綫教師,同時也一直緻力於C語言教學改革,近三年來所帶學生在計算機軟件類學科競賽中獲得省級以上奬勵三百餘人次。
在本書的編寫過程中,部分題目參考或改編自杭州電子科技大學和北京大學的在綫評判(OJ)係統,在此錶示感謝!
由於作者能力和水平所限,加之時間倉促,書中不足之處懇請廣大專傢、讀者批評指正!在C語言程序設計競賽相關書籍中,希望本書拋齣的“磚”能夠引齣更多的“玉”!
編著者2015年2月
C語言程序設計:零基礎ACM/ICPC競賽實戰指南 清華開發者書庫 下載 mobi epub pdf txt 電子書