《高級語言程序設(shè)計:C/C 版》共分9章,主要包含C/C 基礎(chǔ)知識、順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、數(shù)組、函數(shù)、指針、結(jié)構(gòu)體、文件等內(nèi)容。《高級語言程序設(shè)計:C/C 版》以問題求解為導(dǎo)向,將典型案例與程序設(shè)計相結(jié)合,在選擇案例時緊扣競賽和考研需求,且注重所選取案例的知識性、趣味性、啟發(fā)性,同時將案例統(tǒng)一部署在在線評測系統(tǒng)上,讀者不但能夠循序漸進地學(xué)習(xí)程序設(shè)計知識,而且可以方便快捷地將所學(xué)知識應(yīng)用于編程實踐。《高級語言程序設(shè)計:C/C 版》可作為本科計算機相關(guān)專業(yè)的C語言程序設(shè)計程序設(shè)計基礎(chǔ)高級語言程序設(shè)計等課程的基礎(chǔ)教材,也可作為大學(xué)生程序設(shè)計競賽參賽者及C/C 語言自學(xué)者、開發(fā)者的入門參考書,對參加計算機專業(yè)研究生入學(xué)考試的考生也有一定的參考作用。
1.以問題求解為導(dǎo)向深入講解高級語言程序設(shè)計,以在線評測編程問題為載體,把對問題的分析和求解作為串聯(lián)教材各章節(jié)知識的主線,注重運用程序設(shè)計知識求解具體問題。2.配有授課電子課件、微課視頻、源代碼、教案、教學(xué)大綱、實驗指導(dǎo)書等資源,可幫助讀者深入淺出地理解高級語言程序設(shè)計的技術(shù)內(nèi)涵。
計算機世界猶如廣袤無垠的宇宙,而高級語言程序設(shè)計則是其中最為璀璨的星系之一。在科技日新月異的今天,掌握高級語言程序設(shè)計無疑是打開編程世界大門的金鑰匙。編者深刻地認(rèn)識到,一本優(yōu)秀的高級語言程序設(shè)計教材需要具備深入淺出的講解、豐富實用的案例以及對編程本質(zhì)的深刻洞察。為了使初學(xué)者能夠相對輕松地開啟學(xué)習(xí)之旅,真切地領(lǐng)略到程序設(shè)計所蘊含的獨特魅力,同時也為了向參加程序設(shè)計競賽或計算機專業(yè)考研的讀者提供思維碰撞的機會,編者精心確立了編寫《高級語言程序設(shè)計:C/C 版》所遵循的指導(dǎo)思想及基本原則。(1)突出問題求解高級語言程序設(shè)計不是僵化機械地照搬照抄語法規(guī)則,而是運用高級語言高效地進行問題求解,問題求解能力才是衡量一名優(yōu)秀程序設(shè)計者的關(guān)鍵標(biāo)準(zhǔn)。《高級語言程序設(shè)計:C/C 版》以問題求解為導(dǎo)向深入講解高級語言程序設(shè)計,以在線評測編程問題為載體,把對問題的分析和求解作為串聯(lián)教材各章節(jié)知識的主線,注重運用程序設(shè)計知識求解具體問題。(2)緊扣競賽考研高級語言程序設(shè)計作為計算機學(xué)科的核心基礎(chǔ)技能,在競賽和考研的征程中發(fā)揮著不可或缺的關(guān)鍵作用。《高級語言程序設(shè)計:C/C 版》精心設(shè)計并挑選了一些源自程序設(shè)計競賽和計算機專業(yè)考研的真實案例,并盡可能注重將案例的知識性、趣味性與啟發(fā)性融于一體,讓讀者深刻理解如何運用高級語言求解應(yīng)用問題,助力讀者在競賽和考研的激烈競爭中快速準(zhǔn)確地解題。(3)強化教學(xué)交互《高級語言程序設(shè)計:C/C 版》配備了完整的教學(xué)課件、教學(xué)大綱、課程教案以及案例源代碼等教學(xué)資源,并將書中案例部署到在線評測平臺,讀者能夠隨時隨地進行在線編程實踐練習(xí)。教師可將課程資源部署在教學(xué)平臺,從而使理論教學(xué)與精選案例相結(jié)合、實踐教學(xué)與在線評測相結(jié)合、在線教學(xué)與學(xué)習(xí)平臺相結(jié)合,為課程提供多元化的教學(xué)交互方式和能力考核模式。(4)培育計算思維在高級語言程序設(shè)計的學(xué)習(xí)過程中,計算思維是將程序代碼從單純的語法堆砌轉(zhuǎn)化為有效解決問題工具的關(guān)鍵所在!陡呒壵Z言程序設(shè)計:C/C 版》不是簡單地介紹語法規(guī)則,而是精心設(shè)計并選取了一些實際案例,要求讀者運用所學(xué)的高級語言知識和計算思維來解決問題,讓讀者能夠在問題求解中不斷錘煉自己的計算思維能力,提高運用高級語言解決復(fù)雜問題的能力。《高級語言程序設(shè)計:C/C 版》中的大部分例題和課后編程習(xí)題來自河南工程學(xué)院OJ(http://www.haueacm.top/),書中部分編程例題和習(xí)題參考改編自openJudge NOI(http://noi.openjudge.cn/)、洛谷(https://www.luogu.com.cn/)、?途W(wǎng)(https://www.nowcoder.com/)、AcWing(https://www. acwing.com/)、鄭州輕工業(yè)大學(xué)OJ(http://acm.zzuli.edu.cn/)等平臺,在此對出題者及相關(guān)的老師和同學(xué)們表示最誠摯的感謝!
魏濤,男,1981年5月出生,工學(xué)博士,中共黨員,教授,碩士生導(dǎo)師,河南省高等學(xué)校優(yōu)秀共產(chǎn)黨員,河南省普通高等學(xué)校教學(xué)指導(dǎo)委員會委員(計算機類),河南省青年骨干教師。長期致力于計算機視覺、圖像處理與模式識別等領(lǐng)域研究,發(fā)表SCI檢索期刊論文7篇、出版專著2部,承擔(dān)國家自然科學(xué)基金2項、省級科研項目5項,主持授權(quán)國家發(fā)明專利2項,獲得河南省科技進步獎二等獎3項。
前言第1章 基礎(chǔ)知識1.1 程序設(shè)計語言1.2 C/C 發(fā)展簡史1.3 第一個C 程序1.4 內(nèi)存與變量1.5 cin/cout輸入輸出1.5.1 使用cin輸入1.5.2 使用cout輸出1.5.3 cout格式控制1.6 整數(shù)的表示1.6.1 進制轉(zhuǎn)換1.6.2 補碼概念1.6.3 整數(shù)類型1.7 浮點類型1.8 字符類型1.9 程序設(shè)計步驟與流程圖1.9.1 程序設(shè)計步驟1.9.2 程序流程圖1.10 本章實例習(xí)題第2章 順序結(jié)構(gòu)2.1 常量2.2 運算符與表達式2.2.1 算術(shù)運算符與算術(shù)表達式2.2.2 賦值運算符與賦值表達式2.2.3 逗號運算符與逗號表達式2.2.4 自增運算符與自減運算符2.2.5 位運算符2.2.6 運算符的優(yōu)先級2.3 數(shù)據(jù)類型轉(zhuǎn)換2.3.1 自動類型轉(zhuǎn)換2.3.2 強制類型轉(zhuǎn)換2.4 scanf/printf輸入輸出2.4.1 printf格式輸出函數(shù)2.4.2 scanf格式輸入函數(shù)2.4.3 putchar與getchar函數(shù)2.5 本章實例習(xí)題第3章 選擇結(jié)構(gòu)3.1 用if語句實現(xiàn)選擇結(jié)構(gòu)3.1.1 if語句3.1.2 嵌套的if語句3.2 關(guān)系運算符與關(guān)系表達式3.3 邏輯運算符與邏輯表達式3.4 條件運算符與條件表達式3.5 switch語句3.6 本章實例習(xí)題第4章 循環(huán)結(jié)構(gòu)4.1 while語句4.2 do…while語句4.3 for語句4.4 break/continue語句4.5 多重循環(huán)4.6 算法執(zhí)行效率4.6.1 算法及其特性4.6.2 算法評價標(biāo)準(zhǔn)4.6.3 時間復(fù)雜度與執(zhí)行時間4.7 本章實例習(xí)題第5章 數(shù)組5.1 一維數(shù)組5.1.1 定義與引用一維數(shù)組5.1.2 一維數(shù)組的初始化5.2 數(shù)組排序5.3 數(shù)組查找5.4 字符數(shù)組與字符串5.4.1 字符數(shù)組的初始化5.4.2 字符串的輸入輸出5.4.3 C語言的字符串處理函數(shù)5.4.4 C 的字符串處理5.5 二維數(shù)組5.5.1 定義與引用二維數(shù)組5.5.2 二維數(shù)組的初始化5.6 本章實例習(xí)題第6章 函數(shù)6.1 定義與調(diào)用函數(shù)6.1.1 定義函數(shù)6.1.2 調(diào)用函數(shù)6.2 函數(shù)的參數(shù)6.2.1 形參與實參6.2.2 參數(shù)的傳遞6.3 變量的作用域6.3.1 局部變量6.3.2 全局變量6.4 變量的生存期6.5 函數(shù)的嵌套調(diào)用6.6 函數(shù)的遞歸調(diào)用6.7 排列與組合6.7.1 next_permutation6.7.2 排列6.7.3 組合6.8 本章實例習(xí)題第7章 指針7.1 定義與引用指針7.2 指針與一維數(shù)組7.2.1 指針指向數(shù)組元素7.2.2 指針的運算7.2.3 指針變量作為函數(shù)參數(shù)7.3 指針與字符串7.4 指針數(shù)組與多重指針7.4.1 指向指針的指針7.4.2 指針數(shù)組7.4.3 帶參數(shù)的main函數(shù)7.4.4 指向數(shù)組的指針7.5 指針與函數(shù)7.5.1 返回指針的函數(shù)7.5.2 指向函數(shù)的指針7.6 動態(tài)內(nèi)存分配7.6.1 C語言中的動態(tài)內(nèi)存分配7.6.2 C 中的動態(tài)內(nèi)存分配7.7 本章實例習(xí)題第8章 結(jié)構(gòu)體8.1 定義和使用結(jié)構(gòu)體8.1.1 定義結(jié)構(gòu)體類型8.1.2 定義結(jié)構(gòu)體變量8.1.3 引用結(jié)構(gòu)體成員8.2 結(jié)構(gòu)體數(shù)組與指針8.3 結(jié)構(gòu)體與單鏈表8.4 共用體類型8.5 枚舉類型8.6 使用typedef聲明新類型名8.7 本章實例習(xí)題第9章 文件9.1 文件基本概念9.2 文件打開與關(guān)閉9.3 文件讀寫9.3.1 字符讀寫函數(shù)9.3.2 字符串讀寫函數(shù)9.3.3 數(shù)據(jù)塊讀寫函數(shù)9.3.4 格式化讀寫函數(shù)9.3.5 隨機讀寫函數(shù)9.4 文件重定向9.5 本章實例習(xí)題附錄附錄A Dev-C 使用指南附錄B 基本ASCII碼字符表參考文獻