C程序設(shè)計(jì)競(jìng)賽實(shí)訓(xùn)教程

出版時(shí)間:2012-7  出版社:機(jī)械工業(yè)出版社  作者:劉高軍,何麗 編著  頁(yè)數(shù):226  

前言

隨著計(jì)算機(jī)技術(shù)的發(fā)展,計(jì)算機(jī)已應(yīng)用到社會(huì)的各個(gè)領(lǐng)域,對(duì)我們生活、生產(chǎn)、科技等各個(gè)方面都產(chǎn)生了很大影響。計(jì)算機(jī)教育也已成為大學(xué)教育的一個(gè)重要組成部分,C語(yǔ)言程序設(shè)計(jì)作為計(jì)算機(jī)專業(yè)的基礎(chǔ)課程,是學(xué)生必須要掌握的,也是進(jìn)行思維方法、問(wèn)題抽象和解決等方面訓(xùn)練的有效工具。在C語(yǔ)言程序設(shè)計(jì)的教學(xué)中,基本上是以語(yǔ)句、語(yǔ)法和程序基本結(jié)構(gòu)為重點(diǎn),以語(yǔ)言自身體系內(nèi)容開展教學(xué),對(duì)于如何從問(wèn)題本身入手進(jìn)行分析、抽象和解決等方面涉及不深,雖然語(yǔ)言中的各種語(yǔ)法現(xiàn)象和程序結(jié)構(gòu)都已基本掌握,但在實(shí)際應(yīng)用中,特別是解決一些有一定難度的問(wèn)題時(shí),還是感到無(wú)從入手。目前,各類學(xué)科競(jìng)賽,特別是ACM國(guó)際大學(xué)生程序設(shè)計(jì)大賽在學(xué)生中有很大影響力,學(xué)生們?cè)趯W(xué)習(xí)了程序設(shè)計(jì)課程之后,都有參加各類競(jìng)賽的愿望,希望自己能在競(jìng)賽中有所表現(xiàn),但僅從程序設(shè)計(jì)課程中掌握的知識(shí)來(lái)看,是明顯不夠的。怎樣才能快速提高學(xué)生的語(yǔ)言應(yīng)用能力,提高對(duì)實(shí)際問(wèn)題的分析和抽象能力,使學(xué)生們?cè)谡莆樟嘶菊Z(yǔ)言后,能夠進(jìn)一步深入了解和掌握語(yǔ)言特性,并能在各種程序設(shè)計(jì)競(jìng)賽中,展示自己在問(wèn)題抽象和程序設(shè)計(jì)方面的能力呢?我們通過(guò)多年的教學(xué)實(shí)踐,對(duì)學(xué)生們進(jìn)一步學(xué)習(xí)的需求和愿望有較清楚的了解。學(xué)生們想通過(guò)進(jìn)一步的學(xué)習(xí)和實(shí)踐,更加深刻地了解語(yǔ)言本身的細(xì)節(jié)特點(diǎn),循序漸進(jìn)地學(xué)習(xí)一些基礎(chǔ)算法知識(shí),以達(dá)到運(yùn)用基礎(chǔ)算法解決一些實(shí)際問(wèn)題的目的。    本書就是在這種背景下編寫的,主要對(duì)象是基本掌握了C語(yǔ)言語(yǔ)法知識(shí)的讀者。書中總結(jié)了多年的教學(xué)經(jīng)驗(yàn),在內(nèi)容編排上從易到難,學(xué)習(xí)過(guò)程從簡(jiǎn)單到復(fù)雜、再到常用算法的應(yīng)用,逐步引導(dǎo)學(xué)生在實(shí)踐中掌握科學(xué)的思維方式,實(shí)現(xiàn)真正的從語(yǔ)言到程序設(shè)計(jì)的跨越。本書的一部分內(nèi)容是對(duì)C語(yǔ)言的深入解析,這里我們不再講解基本語(yǔ)法和程序結(jié)構(gòu),而是對(duì)C語(yǔ)言中經(jīng)常容易混淆和不易理解的知識(shí)點(diǎn)進(jìn)行深入分析,使讀者真正掌握C語(yǔ)言的精髓;另一部分內(nèi)容是程序設(shè)計(jì)的基本方法,這里總結(jié)了程序設(shè)計(jì)中的常用方法,采用以問(wèn)題為中心的講授方式,重點(diǎn)介紹問(wèn)題的分析和抽象方法,力求理論與實(shí)際相結(jié)合、算法與程序相統(tǒng)一,突出方法在解決實(shí)際問(wèn)題中的應(yīng)用。所有問(wèn)題及方法的敘述均采用統(tǒng)一格式,對(duì)每個(gè)題目從問(wèn)題描述、問(wèn)題分析到程序?qū)崿F(xiàn)連貫而自成一體,方便讀者理解和掌握。    本書結(jié)構(gòu)簡(jiǎn)明清晰,內(nèi)容深入淺出,全書共分11章。    第1章:語(yǔ)言解析,主要對(duì)C語(yǔ)言中的難點(diǎn)問(wèn)題進(jìn)行分析,從更深層次解讀C語(yǔ)言中不易理解的知識(shí)點(diǎn)。    第2章:輸入輸出格式,按ACM大學(xué)生程序設(shè)計(jì)競(jìng)賽以及一些學(xué)科競(jìng)賽中常用的數(shù)據(jù)輸入輸出格式進(jìn)行分類,討論了不同輸入輸出格式的實(shí)現(xiàn)方法。    第3章:簡(jiǎn)單數(shù)據(jù)處理問(wèn)題,主要包括一些常見的簡(jiǎn)單問(wèn)題,涉及的理論一般為初等數(shù)學(xué),或者是一些現(xiàn)實(shí)生活中的常識(shí),通過(guò)對(duì)問(wèn)題進(jìn)行分析和抽象,得到解決問(wèn)題的方法。    第4章:遞推,在介紹常用遞推方法的基礎(chǔ)上,重點(diǎn)討論了具有遞推關(guān)系問(wèn)題的抽象方法,通過(guò)對(duì)典型問(wèn)題求解方法的分析,講述遞推方法在實(shí)際問(wèn)題中的應(yīng)用。    第5章:進(jìn)制轉(zhuǎn)換問(wèn)題,介紹了程序設(shè)計(jì)中常用的進(jìn)制轉(zhuǎn)換問(wèn)題的實(shí)現(xiàn)方法,并討論了各種不同進(jìn)制之間進(jìn)行轉(zhuǎn)換的一般方法。    第6章:字符串處理問(wèn)題,介紹了字符串處理的相關(guān)函數(shù),通過(guò)實(shí)例介紹字符串處理的方法和需要注意的一些問(wèn)題。    第7章:大數(shù)問(wèn)題,重點(diǎn)講述了大數(shù)的存儲(chǔ)和處理方法,通過(guò)實(shí)例介紹大數(shù)進(jìn)行算術(shù)運(yùn)算時(shí)所采用的一般方法。    第8章:枚舉,介紹了枚舉方法的基本思想和適合采用枚舉方法求解的典型問(wèn)題,重點(diǎn)討論了在減少枚舉量、提高程序效率方面的一般方法。    第9章:模擬,重點(diǎn)講述了運(yùn)算模擬和過(guò)程模擬,討論了實(shí)際問(wèn)題中非數(shù)值數(shù)據(jù)的抽象和表示,介紹了模擬方法在一些典型問(wèn)題求解中的應(yīng)用。    第10章:回溯與遞歸,詳細(xì)介紹回溯與遞歸的基本思想以及程序?qū)崿F(xiàn)的基本框架,通過(guò)實(shí)例介紹回溯與遞歸在實(shí)際問(wèn)題中的應(yīng)用。    第11章:搜索,介紹了采用搜索法解決問(wèn)題的基本思路,重點(diǎn)討論了深度優(yōu)先搜索和廣度優(yōu)先搜索的基本方法和程序?qū)崿F(xiàn)框架,通過(guò)實(shí)際問(wèn)題講述兩種方法的應(yīng)用。    書中所有程序均通過(guò)上機(jī)調(diào)試,部分章節(jié)配有例題,方便讀者的學(xué)習(xí)和練習(xí)。    由于編者水平有限,書中所述難免有不當(dāng)之處,懇請(qǐng)廣大讀者批評(píng)指正。    編  者    2012.06

內(nèi)容概要

  《C程序設(shè)計(jì)競(jìng)賽實(shí)訓(xùn)教程》是以大學(xué)生程序設(shè)計(jì)競(jìng)賽為應(yīng)用背景的程序設(shè)計(jì)綜合訓(xùn)練教程,以具有初級(jí)C語(yǔ)言基礎(chǔ)的讀者為對(duì)象,從C語(yǔ)言的深度解析和程序設(shè)計(jì)基本方法兩方面進(jìn)行分析介紹,使讀者達(dá)到深入理解C語(yǔ)言和全面掌握程序設(shè)計(jì)基本方法的目的。全書內(nèi)容按常用程序設(shè)計(jì)方法劃分為不同專題,理論聯(lián)系實(shí)際,強(qiáng)調(diào)動(dòng)手實(shí)踐,深入淺出,便于讀者學(xué)習(xí)和理解。
  本書適合具有一定C語(yǔ)言基礎(chǔ)的初、中級(jí)讀者使用,可作為大學(xué)程序設(shè)計(jì)課程或參加ACM競(jìng)賽的培訓(xùn)教材,也可作為相關(guān)專業(yè)師生的參考用書。

書籍目錄

第1章 語(yǔ)言解析
1.1 關(guān)于變量的存儲(chǔ)類別
1.2 關(guān)于數(shù)值在內(nèi)存中的表示
1.2.1 字符類型和整數(shù)類型
1.2.2 浮點(diǎn)數(shù)類型
1.3 容易用錯(cuò)的保留字
1.4 自增、自減運(yùn)算符
1.5 關(guān)于指針
1.5.1 指針變量的概念
1.5.2 指針變量的引用
1.5.3 指針和數(shù)組
1.5.4 指針的算術(shù)運(yùn)算和關(guān)系運(yùn)算
1.5.5 指針數(shù)組和數(shù)組指針
1.5.6 數(shù)組的首地址和數(shù)組首元素的地址
1.6 關(guān)于存儲(chǔ)模式
1.7 結(jié)構(gòu)體和共用體
1.7.1 結(jié)構(gòu)體
1.7.2 共用體
1.8 常見的內(nèi)存錯(cuò)誤
1.8.1 對(duì)未初始化的指針?biāo)缚臻g賦值
1.8.2 空間分配太小
1.8.3 數(shù)組使用超界
1.8.4 使用已釋放的空間
1.8.5 內(nèi)存泄漏
第2章 輸入輸出格式
2.1 A+B 問(wèn)題
2.2 字母轉(zhuǎn)換問(wèn)題
第3章 簡(jiǎn)單數(shù)據(jù)處理問(wèn)題
3.1 最大公約數(shù)
3.2 數(shù)根
3.3 雞兔同籠
3.4 電梯
3.5 路邊的樹
3.6 大數(shù)的位數(shù)
3.7 會(huì)繞圈的數(shù)
3.8 尾數(shù)相等
3.9 競(jìng)賽排名
3.10 找數(shù)
第4章 遞 推
4.1 兔子繁殖
4.2 捕魚
4.3 賣西瓜
4.4 平面分隔
4.5 走臺(tái)階
4.6 棋盤完美覆蓋
4.7 漢諾塔
4.8 數(shù)字序列
4.9 Fibonacci 數(shù)列
4.10 分?jǐn)?shù)數(shù)列
4.11 過(guò)河卒
第5章 進(jìn)制轉(zhuǎn)換問(wèn)題
5.1 進(jìn)制轉(zhuǎn)換
5.2 確定進(jìn)制
5.3 負(fù)進(jìn)制轉(zhuǎn)換
第6章 字符串處理問(wèn)題
6.1 字符類型函數(shù)和字符串操作函數(shù)
6.2 字符串操作時(shí)容易出現(xiàn)的問(wèn)題
6.3 最長(zhǎng)子串
6.4 字符串相等
6.5 統(tǒng)計(jì)字符數(shù)
6.6 密碼
第7章 大數(shù)問(wèn)題
7.1 大數(shù)加法
7.2 大數(shù)乘法
7.3 大數(shù)除法
7.4 高精度計(jì)算
第8章 枚 舉
8.1 枚舉法的基本程序框架
8.2 簡(jiǎn)化算法模型
8.3 優(yōu)選枚舉對(duì)象
8.4 精簡(jiǎn)循環(huán)次數(shù)
8.5 改變枚舉方式
8.6 轉(zhuǎn)換約束檢查
第9章 模 擬
9.1 運(yùn)算模擬
9.1.1 除法模擬
9.1.2 乘法模擬
9.2 過(guò)程模擬
9.2.1 操作步驟模擬
9.2.2 顯示模擬
第10章 回溯與遞歸
10.1 回溯
10.1.1 回溯法描述及程序框架
10.1.2 找組合數(shù)
10.1.3 填數(shù)
10.1.4 串的劃分
10.2 遞 歸
10.2.1 訪問(wèn)二叉樹的根結(jié)點(diǎn)
10.2.2 串的進(jìn)一步劃分
10.2.3 分解質(zhì)因數(shù)
10.2.4 求二叉樹的后序序列
10.2.5 8皇后問(wèn)題
10.2.6 素?cái)?shù)環(huán)
10.2.7 旋轉(zhuǎn)方陣
第11章 搜 索
11.1 石油探測(cè)
11.2 迷宮問(wèn)題
11.3 馬的走法
11.4 變換字符串
11.5 整倍數(shù)
附錄 ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽介紹
參考文獻(xiàn)

章節(jié)摘錄

語(yǔ)言解析C語(yǔ)言作為一種應(yīng)用廣泛的語(yǔ)言,目前在各高校計(jì)算機(jī)專業(yè)課程體系中,都將其列為重要的專業(yè)基礎(chǔ)課。當(dāng)我們學(xué)習(xí)了C語(yǔ)言以后,對(duì)C語(yǔ)言的語(yǔ)法以及程序設(shè)計(jì)方法有了一定的了解,并且也用C語(yǔ)言編寫過(guò)一些程序,但是對(duì)于C語(yǔ)言中的一些特點(diǎn)是否能真正把握,是否能夠運(yùn)用自如地利用語(yǔ)言特性來(lái)解決問(wèn)題,寫出精練清晰的程序,特別是C語(yǔ)言中有一些容易混淆的地方,這些都需要在不斷地編程練習(xí)過(guò)程中逐步掌握和提高。在這里我們不再講解C語(yǔ)言中的基本語(yǔ)法和結(jié)構(gòu),而是對(duì)語(yǔ)言中一些難于理解和容易出錯(cuò)的內(nèi)容進(jìn)行討論。當(dāng)然在編寫程序時(shí),用法上可以采用其他方法,以避免問(wèn)題的混淆,但從對(duì)C語(yǔ)言的深層理解角度,必須把這些問(wèn)題搞清楚,特別是從概念上一定要清楚。這對(duì)于我們用C語(yǔ)言來(lái)處理復(fù)雜的數(shù)據(jù)結(jié)構(gòu)、編寫高效程序?qū)⑵鸬街陵P(guān)重要的作用。

編輯推薦

《C程序設(shè)計(jì)競(jìng)賽實(shí)訓(xùn)教程》適合具有一定C語(yǔ)言基礎(chǔ)的初、中級(jí)讀者使用,可作為大學(xué)程序設(shè)計(jì)課程或參加ACM競(jìng)賽的培訓(xùn)教材,也可作為相關(guān)專業(yè)師生的參考用書。

圖書封面

評(píng)論、評(píng)分、閱讀與下載


    C程序設(shè)計(jì)競(jìng)賽實(shí)訓(xùn)教程 PDF格式下載


用戶評(píng)論 (總計(jì)17條)

 
 

  •   ACM競(jìng)賽必讀書,強(qiáng)烈推薦
  •   有很多C的算法,還有一些不錯(cuò)的基礎(chǔ)知識(shí),對(duì)C競(jìng)賽很有用
  •   作為算法入門的很不錯(cuò)的叢書!可以通過(guò)這些訓(xùn)練對(duì)算法有著基本的掌握!
  •   書的內(nèi)容是C高手的基礎(chǔ)
  •   內(nèi)容 不錯(cuò) 適合,新手
  •   內(nèi)容詳細(xì),對(duì)編程水平的提高很有幫助。
  •   感覺內(nèi)容很經(jīng)典,看得懂
  •   很給力的書,常見的好多問(wèn)題都有講解。
  •   看了半本了,挺好的,由淺入深,挺實(shí)用的
  •   好好好好好,,
  •   本校出版,支持
  •   還沒(méi)看。努力學(xué)。
  •   考藍(lán)橋杯,所以買的,真的很合適
  •   不錯(cuò)。如果還能再深點(diǎn)就好了!
  •   常見的問(wèn)題都有所涉及,解答初學(xué)者的疑惑,很不錯(cuò)。
  •   代碼較多,就是當(dāng)當(dāng)對(duì)書的包裝太不講究了
  •   內(nèi)容除了例子就是例子,不是很實(shí)用~~~~~
 

250萬(wàn)本中文圖書簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7