C語(yǔ)言作為一種簡(jiǎn)潔、高效的語(yǔ)言,目前是絕大多數(shù)高校本科生學(xué)習(xí)程序設(shè)計(jì)的入門(mén)語(yǔ)言。
《C語(yǔ)言程序設(shè)計(jì)(第2版)/高等學(xué)校計(jì)算機(jī)基礎(chǔ)教育教材精選》所有作者均來(lái)自教學(xué)第一線,具有多年教學(xué)經(jīng)驗(yàn),本書(shū)概念清晰,注重實(shí)用,運(yùn)用大量的例題和精選的習(xí)題,有助于學(xué)生快速掌握C語(yǔ)言程序設(shè)計(jì)的基本方法。
《C語(yǔ)言程序設(shè)計(jì)(第2版)/高等學(xué)校計(jì)算機(jī)基礎(chǔ)教育教材精選》共10章,內(nèi)容包括程序設(shè)計(jì)概述、基本數(shù)據(jù)類型、順序結(jié)構(gòu)程序設(shè)計(jì)、選擇結(jié)構(gòu)程序設(shè)計(jì)、循環(huán)結(jié)構(gòu)程序設(shè)計(jì)、函數(shù)、數(shù)組、指針、結(jié)構(gòu)體、聯(lián)合體和枚舉、文件。
本書(shū)可以作為高等學(xué)校非計(jì)算機(jī)專業(yè)學(xué)生的教材,也可以作為本科新生或C語(yǔ)言愛(ài)好者的自學(xué)教材。本書(shū)還配有輔助教材《C語(yǔ)言習(xí)題及實(shí)驗(yàn)指導(dǎo)》(第2版)。
《C語(yǔ)言程序設(shè)計(jì)(第2版)/高等學(xué)校計(jì)算機(jī)基礎(chǔ)教育教材精選》主要是面向大學(xué)非計(jì)算機(jī)專業(yè)本科新生而寫(xiě),作者全部來(lái)自于教學(xué)一線,具有多年的C語(yǔ)言程序設(shè)計(jì)教學(xué)實(shí)際經(jīng)歷。
教材內(nèi)容不拘泥于語(yǔ)法,采用豐富的案例描述C語(yǔ)言的應(yīng)用,輔以精挑細(xì)選的常用考試題型的習(xí)題幫助讀者檢驗(yàn)學(xué)習(xí)效果。因而特別適合作為大學(xué)新生學(xué)習(xí)C語(yǔ)言程序設(shè)計(jì)的教材或參考書(shū),也可作為高職計(jì)算機(jī)專業(yè)的學(xué)生學(xué)習(xí)C語(yǔ)言程序設(shè)計(jì)的教材或參考書(shū)。
第2版前言
C語(yǔ)言程序設(shè)計(jì)(第2版)本教材第1版自出版以來(lái),已經(jīng)過(guò)3次印刷,盡管在后兩次印刷時(shí)對(duì)個(gè)別內(nèi)容進(jìn)行了修訂,但使用中仍發(fā)現(xiàn)有些內(nèi)容達(dá)不到一些專業(yè)的教學(xué)要求。第2版主要進(jìn)行了如下的修訂:
(1) 增加了3.5節(jié)“位運(yùn)算符”。
。2) 增加了9.6節(jié)“聯(lián)合體”和9.7節(jié)“枚舉類型”。
教學(xué)大綱中沒(méi)有以上內(nèi)容的專業(yè)在教學(xué)中可跳過(guò)以上內(nèi)容。
(3) 對(duì)各章后的習(xí)題進(jìn)行了補(bǔ)充。
目前與本教材配套的網(wǎng)絡(luò)教學(xué)平臺(tái)——北京信息科技大學(xué)計(jì)算中心網(wǎng)絡(luò)教學(xué)平臺(tái)(http://cms.bistu.edu.cn)已經(jīng)開(kāi)通,選擇本教材進(jìn)行C語(yǔ)言程序設(shè)計(jì)教學(xué)的各學(xué)校主講教師可以享受在本平臺(tái)免費(fèi)開(kāi)課及資源共享,有意開(kāi)課的老師請(qǐng)給作者發(fā)送郵件申請(qǐng)具體開(kāi)課事宜。作者郵箱:wenjie_li@126.com或者wenjie_li@bistu.edu.cn。
由于作者水平和精力所限,本次修訂后仍可能有錯(cuò)誤。如果發(fā)現(xiàn)錯(cuò)誤,請(qǐng)給作者的郵箱發(fā)信,在此對(duì)大家的支持表示衷心感謝!
作者
2014年3月30日
第1版前言
C語(yǔ)言程序設(shè)計(jì)(第2版)大家對(duì)計(jì)算機(jī)都不陌生,但是會(huì)用計(jì)算機(jī)的人是否都懂得計(jì)算機(jī)是如何完成我們交給它的任務(wù)的,相信會(huì)有很多人不明白。這也是目前各高校無(wú)論對(duì)于計(jì)算機(jī)專業(yè)還是非計(jì)算機(jī)專業(yè),甚至文科專業(yè),都要開(kāi)設(shè)程序設(shè)計(jì)這類課程的原因之一。C語(yǔ)言作為一種簡(jiǎn)潔高效并且支持結(jié)構(gòu)化編程的程序設(shè)計(jì)語(yǔ)言,在講究效率的時(shí)代,對(duì)于幫助學(xué)習(xí)者掌握程序設(shè)計(jì)的基本思想和方法,進(jìn)而更好地理解計(jì)算機(jī)的工作,會(huì)有極大的幫助。
本書(shū)雖然像傳統(tǒng)的教材那樣,按照知識(shí)學(xué)習(xí)的規(guī)律,順序介紹C語(yǔ)言的語(yǔ)法和用C語(yǔ)言解決實(shí)際問(wèn)題的方法,但并不是一本C語(yǔ)言的語(yǔ)法書(shū)。本書(shū)完全是從應(yīng)用的角度出發(fā),對(duì)C語(yǔ)言的語(yǔ)法進(jìn)行展開(kāi)的,所以不要把本書(shū)作為語(yǔ)法大全。
本書(shū)的讀者對(duì)象是大學(xué)本科新生,尤其是非計(jì)算機(jī)專業(yè)的同學(xué),他們希望通過(guò)學(xué)習(xí)C語(yǔ)言程序設(shè)計(jì)來(lái)理解計(jì)算機(jī)的工作,盡管他們可能今后并不會(huì)成為程序員,但他們希望知道計(jì)算機(jī)能做什么以及如何做,以便當(dāng)他們?cè)诮窈蟮墓ぷ髦,需要向程序員提出他們的軟件需求時(shí),能夠很好地與軟件開(kāi)發(fā)人員進(jìn)行溝通,這是非計(jì)算機(jī)專業(yè)本科生必備的能力。
程序設(shè)計(jì)是一項(xiàng)工作,程序就是這項(xiàng)工作的產(chǎn)品。如果我們要制造產(chǎn)品,必須有好的原材料,這些原材料對(duì)于程序來(lái)說(shuō)就是程序設(shè)計(jì)語(yǔ)言的語(yǔ)法知識(shí),以及各種問(wèn)題的解決方法和步驟。所以本書(shū)在介紹C語(yǔ)言語(yǔ)法的同時(shí),介紹了各種常見(jiàn)問(wèn)題的解決方法和思路(算法),讀者通過(guò)這些內(nèi)容的積累,等到創(chuàng)造自己的作品(程序)時(shí)就會(huì)得心應(yīng)手。所以讀者一定要盡可能多地積累算法,真正做到熟能生巧。
本書(shū)第1章和第8章由李文杰編寫(xiě),第2章和第9章由徐英慧編寫(xiě),第3章由賈艷萍編寫(xiě),第4章由張良編寫(xiě),第5章由崇美英編寫(xiě),第6章由黃宏博編寫(xiě),第7章由李穎編寫(xiě),第10章由方煒煒編寫(xiě)。全書(shū)由李文杰負(fù)責(zé)統(tǒng)稿,北京信息科技大學(xué)計(jì)算中心主任周長(zhǎng)勝副教授主審。在書(shū)稿規(guī)劃和撰寫(xiě)的各個(gè)階段,劉梅彥和劉亞輝老師多次提出了建設(shè)性的意見(jiàn),清華大學(xué)出版社的白立軍編輯自始至終都毫無(wú)怨言地為作者提供各種方便,使本書(shū)得以及時(shí)出版。
本書(shū)的所有例程都是在Visual C++ 6.0集成開(kāi)發(fā)環(huán)境調(diào)試的,所給出的程序運(yùn)行情況也是在Windows XP+Visual C++ 6.0環(huán)境下得到的。本書(shū)配套的教學(xué)資源包括多媒體教學(xué)課件和所有范例程序的源代碼,可以從清華大學(xué)出版社網(wǎng)站獲取。因作者水平所限,書(shū)中難免會(huì)出現(xiàn)某些錯(cuò)誤。歡迎讀者就書(shū)中內(nèi)容與作者進(jìn)行交流。
作者
2010年5月于北京信息科技大學(xué)計(jì)算中心
第1章 程序設(shè)計(jì)概述
1.1 程序和程序設(shè)計(jì)
1.1.1 程序的概念
1.1.2 程序設(shè)計(jì)
1.1.3 程序設(shè)計(jì)語(yǔ)言
1.2 C語(yǔ)言概述
1.2.1 C語(yǔ)言簡(jiǎn)介
1.2.2 C語(yǔ)言程序示例
1.2.3 為何要學(xué)C語(yǔ)言
1.3 算法及其描述
1.3.1 算法的概念
1.3.2 算法的特性
1.3.3 算法的描述
1.3.4 結(jié)構(gòu)化程序設(shè)計(jì)
1.4 C語(yǔ)言程序開(kāi)發(fā)過(guò)程
1.4.1 使用計(jì)算機(jī)解題的過(guò)程
1.4.2 常用的C語(yǔ)言開(kāi)發(fā)環(huán)境
習(xí)題1
第2章 基本數(shù)據(jù)類型
2.1 數(shù)據(jù)類型概述
2.2 標(biāo)識(shí)符、常量和變量
2.2.1 標(biāo)識(shí)符
2.2.2 常量
2.2.3 變量
2.3 整型數(shù)據(jù)
2.3.1 整型常量的表示
2.3.2 整型變量
2.3.3 整型常量的類型
2.4 實(shí)型數(shù)據(jù)
2.4.1 實(shí)型常量的表示
2.4.2 實(shí)型數(shù)據(jù)在內(nèi)存中的存放形式
2.4.3 實(shí)型變量
2.5 字符數(shù)據(jù)
2.5.1 字符在內(nèi)存中的存放形式
2.5.2 字符常量
2.5.3 字符變量
2.5.4 字符串常量
2.6 數(shù)據(jù)的輸入與輸出
2.6.1 字符數(shù)據(jù)的輸入和輸出
2.6.2 格式化輸入輸出
習(xí)題2
第3章 順序結(jié)構(gòu)程序設(shè)計(jì)
3.1 算術(shù)運(yùn)算和算術(shù)表達(dá)式
3.1.1 整數(shù)算術(shù)運(yùn)算
3.1.2 實(shí)數(shù)算術(shù)運(yùn)算
3.1.3 混合算術(shù)運(yùn)算
3.1.4 算術(shù)表達(dá)式
3.1.5 算術(shù)表達(dá)式的計(jì)算規(guī)則
3.2 賦值運(yùn)算和賦值表達(dá)式
3.2.1 賦值運(yùn)算符
3.2.2 賦值表達(dá)式
3.3 自增自減運(yùn)算
3.4 優(yōu)先級(jí)和類型轉(zhuǎn)換
3.4.1 優(yōu)先級(jí)
3.4.2 類型轉(zhuǎn)換
3.5 位運(yùn)算符
3.5.1 “按位與”運(yùn)算符&
3.5.2 “按位或”運(yùn)算符|
3.5.3 “按位異或”運(yùn)算符^
3.5.4 “按位取反”運(yùn)算符
3.5.5 “按位左移”運(yùn)算符<<
3.5.6 “按位右移”運(yùn)算符>>
3.5.7 位運(yùn)算賦值運(yùn)算符
……
第4章 選擇結(jié)構(gòu)程序設(shè)計(jì)
第5章 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)
第6章 模塊化程序設(shè)計(jì)——函數(shù)
第7章 數(shù)組
第8章 指針
第9章 結(jié)構(gòu)體、聯(lián)合體和枚舉
第10章 文件