本書以案例“學生成績管理系統(tǒng)”為主線,循序漸進導入C語言程序設計知識,所選案例貼近生活,注重培養(yǎng)程序設計的思路、方法、技巧以及良好的編程風格,幫助初學者快速、輕松運用C語言進行結(jié)構(gòu)化程序設計,學會與計算機交流溝通,熟悉計算機解決問題的方式方法,具備計算思維能力和利用C語言程序求解問題的實踐應用能力。
全書共10個項目,其中前6個項目,各項目設計獨立的案例,重點是學習、掌握C語言程序設計的語法規(guī)則。項目7~10逐步完成和完善“學生成績管理系統(tǒng)”,從設計、開發(fā)、優(yōu)化到系統(tǒng)的最后完善,完成系統(tǒng)設計的同時介紹相關知識點。全書貫穿算法,實例豐富,實用性強。本書配有多媒體課件、源代碼和電子教案等資源,便于教學以及讀者自學使用。
本書適合作為高等職業(yè)院校理工科“C語言程序設計”課程的教材,也可作為計算機培訓機構(gòu)與考研輔導班、編程自學人員的參考書,還可作為軟件應用開發(fā)人員、程序愛好者以及計算機等級考試者的參考書。
本書遵循職業(yè)教育教材編寫規(guī)律和職業(yè)院校學生學習規(guī)律,配套齊全
前言
C語言是一種廣泛流行的結(jié)構(gòu)化程序設計語言,高校普遍開設的“C語言程序設計”課程,是一門培養(yǎng)探索創(chuàng)新精神、計算思維能力和實踐應用能力的特色鮮明的課程。
基于黨的二十大報告中“我們要堅持教育優(yōu)先發(fā)展、科技自立自強、人才引領驅(qū)動,加快建設教育強國、科技強國、人才強國,堅持為黨育人、為國育才,全面提高人才自主培養(yǎng)質(zhì)量,著力造就拔尖創(chuàng)新人才,聚天下英才而用之”的相關要求,本書以學生的全面發(fā)展為培養(yǎng)目標,融“知識學習、技能提升、素質(zhì)培育”于一體。在詳細講述基礎理論和基礎知識的同時融入拓展活動,設置相應的研討、調(diào)研、論述等開放性題目,鼓勵學生自主查資料、看官媒、勤思考,樹立正確的人生觀和價值觀,增強自信心、自豪感和責任感,懂得根據(jù)事物發(fā)展規(guī)律去解決問題,促進學生敢于創(chuàng)新,發(fā)揚團隊精神,培養(yǎng)科學嚴謹?shù)膶W習態(tài)度,學習精益求精的工匠精神。
全書共10個項目,內(nèi)容包括:項目1創(chuàng)建第一個C程序,介紹C語言的發(fā)展及特點,C程序設計的基本結(jié)構(gòu)、思想、方法;項目2學生成績管理系統(tǒng)中相關數(shù)據(jù)設計及簡單處理,介紹標識符與關鍵字、數(shù)據(jù)類型、運算符與表達式等;項目3數(shù)據(jù)處理及封面與菜單的初步設計,介紹基本語句、輸入/輸出函數(shù)及順序結(jié)構(gòu)應用案例;項目4學生成績的等級判定,闡述選擇結(jié)構(gòu)的特點,介紹if語句、switch語句、選擇結(jié)構(gòu)的廣泛應用;項目5學生成績的分組匯總,剖析循環(huán)結(jié)構(gòu)的執(zhí)行流程,介紹while語句、do…while語句、for語句、break語句、continue語句及循環(huán)嵌套的應用;項目6利用數(shù)組完善項目中數(shù)據(jù)的處理,講述一維數(shù)組、二維數(shù)組、字符數(shù)組以及運用數(shù)組處理數(shù)據(jù)的方法;項目7利用函數(shù)進行項目的整體框架設計,介紹函數(shù)的定義形式、函數(shù)的調(diào)用、函數(shù)參數(shù)的傳遞及返回值、函數(shù)的聲明、函數(shù)的嵌套與遞歸、函數(shù)的應用案例;項目8利用結(jié)構(gòu)體實現(xiàn)項目,介紹結(jié)構(gòu)體類型變量的定義、初始化以及引用方法,結(jié)構(gòu)體數(shù)組,結(jié)構(gòu)體與指針和函數(shù)的應用,共用體、枚舉類型以及自定義符typedef聲明類型別名,結(jié)構(gòu)體與共用體應用案例;項目9利用指針優(yōu)化項目,講述指針的含義、指針變量的初始化以及引用方法、指針與數(shù)組、字符串、指針應用案例;項目10利用文件完善項目,闡述文件的概念及分類,介紹文件類型指針、文件的讀寫操作以及文件應用案例。
前言每個項目均設有教學目標、知識目標及技能目標,除了配備大量與知識點相匹配的經(jīng)典例題以外,每個項目還配有項目小結(jié)、拓展案例、拓展活動、實踐訓練及思考與練習。實例內(nèi)容使讀者能理論聯(lián)系實際,深入理解C語言的知識內(nèi)涵、程序功能、程序調(diào)試方法和技巧。本書配有多媒體教學課件、電子教案、源代碼等,利于教師備課、學生自學。
本書由包頭職業(yè)技術學院原莉、王學慧擔任主編,原莉、王學慧負責策劃、統(tǒng)稿,高建芳、李玉霞、劉杰擔任副主編,王霞、鄔學敏、徐也參與教材編寫。具體編寫分工如下:王學慧編寫開篇、項目1、項目2及附錄,原莉編寫項目5、項目7、項目10,高建芳編寫項目3、項目4,李玉霞編寫項目6,鄔學敏編寫項目8,王霞編寫項目9,劉杰、徐也負責整理教材資源。浙江紹超智能科技有限公司陳立鋼副總經(jīng)理作為主審審定了書中的程序內(nèi)容,并對教材的總體結(jié)構(gòu)提出了建設性的意見。
由于編者水平有限,書中難免存在疏漏之處,懇請專家、同行和讀者不吝賜教。
編者
職業(yè)院校教師
目錄
前言
二維碼清單
開篇
開篇案例學生成績管理系統(tǒng)
項目1創(chuàng)建第一個C程序
任務1.1認識C程序
【知識儲備1.1】認識C語言及C程序
1.1.1C語言的產(chǎn)生和發(fā)展
1.1.2C語言的特點
1.1.3C程序的實現(xiàn)過程
1.1.4C程序的結(jié)構(gòu)
任務1.2創(chuàng)建及運行第一個C程序
【知識儲備1.2】C程序的開發(fā)環(huán)境及運行
1.2.1C程序的開發(fā)環(huán)境
1.2.2在Visual C++ 6.0集成開發(fā)環(huán)境下運行C程序
任務1.3運用算法描述問題
【知識儲備1.3】程序算法基礎
1.3.1程序
1.3.2程序設計語言
1.3.3程序設計方法
1.3.4程序設計的一般步驟
1.3.5算法
1.3.6軟件編程規(guī)范
【拓展案例】
【拓展活動】
【項目小結(jié)】
【實踐訓練】
【思考與練習】
目錄
項目2學生成績管理系統(tǒng)中相關數(shù)據(jù)設計及簡單處理
任務2.1學生成績管理系統(tǒng)中的相關數(shù)據(jù)設計
【知識儲備2.1】基本數(shù)據(jù)及其運算
2.1.1基本字符、標識符和關鍵字
2.1.2C語言的數(shù)據(jù)類型
2.1.3常量和變量
任務2.2學生成績總分及平均分的計算
【知識儲備2.2】運算符和表達式
2.2.1算術運算符和算術表達式
2.2.2賦值運算符和賦值表達式
2.2.3逗號運算符和逗號表達式
2.2.4數(shù)據(jù)間的混合運算與類型轉(zhuǎn)換
【拓展案例】
【拓展活動】
【項目小結(jié)】
【實踐訓練】
【思考與練習】
項目3數(shù)據(jù)處理及封面與菜單的初步設計
任務3.1輸入學生的成績,計算總分及平均分并輸出
【知識儲備3.1】數(shù)據(jù)的輸入和輸出
3.1.1C語句
3.1.2格式輸出函數(shù)
3.1.3格式輸入函數(shù)
3.1.4單個字符的輸出和輸入函數(shù)
任務3.2項目封面、菜單的順序執(zhí)行設計
【知識儲備3.2】順序結(jié)構(gòu)程序設計及其應用
3.2.1順序結(jié)構(gòu)程序設計
3.2.2順序結(jié)構(gòu)的特點
【拓展案例】
【拓展活動】
【項目小結(jié)】
【實踐訓練】
【思考與練習】
項目4學生成績的等級判定
任務4.1輸入學生成績,判斷其合法性
【知識儲備4.1】單分支和雙分支選擇結(jié)構(gòu)程序設計及其應用
4.1.1選擇結(jié)構(gòu)判定條件的構(gòu)成
4.1.2單分支和雙分支選擇結(jié)構(gòu)程序設計
任務4.2學生成績轉(zhuǎn)化為等級
【知識儲備4.2】多分支選擇結(jié)構(gòu)程序設計及其應用
4.2.1嵌套if…else語句
4.2.2switch語句
【拓展案例】
【拓展活動】
【項目小結(jié)】
【實踐訓練】
【思考與練習】
項目5學生成績的分組匯總
任務5.1計算一個小組學生成績的總分及平均分
【知識儲備5.1】循環(huán)結(jié)構(gòu)程序設計及其應用
5.1.1while語句
5.1.2do…while語句
5.1.3for語句
5.1.4三種循環(huán)語句的比較
任務5.2計算每個小組學生成績的總分及平均分
【知識儲備5.2】循環(huán)嵌套的應用
5.2.1循環(huán)的嵌套
5.2.2break語句和continue語句
【拓展案例】
【拓展活動】
【項目小結(jié)】
【實踐訓練】
【思考與練習】
項目6利用數(shù)組完善項目中數(shù)據(jù)的處理
任務6.1計算多個學生一門課程的總分和平均分
【知識儲備6.1】一維數(shù)組的定義及其應用
6.1.1一維數(shù)組的定義
6.1.2一維數(shù)組的引用
6.1.3一維數(shù)組的初始化
6.1.4一維數(shù)組的應用
任務6.2計算多個學生多門課程的總分和平均分
【知識儲備6.2】二維數(shù)組的定義及其應用
6.2.1二維數(shù)組的定義
6.2.2二維數(shù)組的引用
6.2.3二維數(shù)組的初始化
6.2.4二維數(shù)組的應用
任務6.3字符數(shù)組與字符串的應用
【知識儲備6.3】字符數(shù)組與字符串
6.3.1字符數(shù)組的定義、引用和初始化
6.3.2字符串
6.3.3字符串處理函數(shù)
6.3.4字符數(shù)組的應用
【拓展案例】
【拓展活動】
【項目小結(jié)】
【實踐訓練】
【思考與練習】
項目7利用函數(shù)進行項目的整體框架設計
任務7.1學生成績管理系統(tǒng)功能模塊設計
【知識儲備7.1】函數(shù)的定義、聲明及調(diào)用
7.1.1函數(shù)的定義及其聲明
7.1.2函數(shù)的調(diào)用
7.1.3學生成績管理系統(tǒng)功能模塊設計方法
任務7.2統(tǒng)計小組學生一門課程的總分及平均分
【知識儲備7.2】函數(shù)的分類
7.2.1無參函數(shù)
7.2.2空函數(shù)
7.2.3有參函數(shù)
7.2.4任務實現(xiàn)
任務7.3求小組若干門課程的總分及平均分
【知識儲備7.3】函數(shù)的嵌套與遞歸
7.3.1函數(shù)的嵌套調(diào)用
7.3.2函數(shù)的遞歸調(diào)用
7.3.3任務實現(xiàn)
任務7.4輸出排序后小組三門課成績單
【知識儲備7.4】函數(shù)參數(shù)
7.4.1數(shù)組元素作為函數(shù)參數(shù)
7.4.2數(shù)組名作為函數(shù)參數(shù)
7.4.3任務實現(xiàn)
【拓展案例】
【拓展活動】
【項目小結(jié)】
【實踐訓練】
【思考與練習】
項目8利用結(jié)構(gòu)體實現(xiàn)項目
任務8.1用結(jié)構(gòu)體實現(xiàn)數(shù)據(jù)的增加、刪除、修改和顯示
【知識儲備8.1】認識結(jié)構(gòu)體
8.1.1結(jié)構(gòu)體概述
8.1.2結(jié)構(gòu)體類型
8.1.3結(jié)構(gòu)體數(shù)組
8.1.4結(jié)構(gòu)體和函數(shù)參數(shù)的傳遞
8.1.5共用體
8.1.6枚舉類型
8.1.7類型定義
8.1.8學生成績管理系統(tǒng)的實現(xiàn)
【拓展案例】
【拓展活動】
【項目小結(jié)】
【實踐訓練】
【思考與練習】
項目9利用指針優(yōu)化項目
任務9.1用指針實現(xiàn)學生成績的輸入與輸出
【知識儲備9.1】認識指針
9.1.1指針的概念
9.1.2指針與數(shù)組
任務9.2用指針優(yōu)化學生成績錄入與瀏覽
【知識儲備9.2】指針的更多應用
9.2.1指針與結(jié)構(gòu)體
9.2.2指針與函數(shù)
【拓展案例】
【拓展活動】
【項目小結(jié)】
【實踐訓練】
【思考與練習】
項目10利用文件完善項目
任務10.1學生數(shù)據(jù)的存儲和反復利用