書采用工學結合、任務驅動的模式編寫,在編寫過程中,明確知識、技能、思政目標,以完成“學生成績管理系統”為主線,設立順序漸進的8個項目。通過項目分析,又將其分成若干個具體的任務,每個任務包含著C語言的若干個知識點和技能點;副線以“小學生加減運算訓練”遞進題的編程來鞏固復習前面所學的各個知識點;子線以解決來自于生活中又帶有趣味性的實際問題來引導學生對任務中的知識點進行深入思考及對C語言知識的擴展認識。即通過主線、副線、子線“三線”融合的方式使學生進一步加深對C語言知識點的理解,再配合課后的實踐訓練及綜合訓練提高學生的應用技能。本書采用“技能需求、問題引導、任務驅動”的方式編寫,強調“任務”的目標性和教學情境的創建,使學生帶著真實的任務在探索中學習,以注重培養學生的實踐能力為前提。本書既可以作為高職學生的教學用書,還可作為計算機愛好者的自學參考書和計算機培訓班的教材。
周雅靜,女,教授,寧波城市職業學院院長,主要教授C語言程序設計、數據庫技術及應用等課程,并為這些課程建設了豐富的教學資源,如微課、教案、素材等。編寫的教材中,多次獲得“十二五”職業教育國家規劃教材、“十三五”職業教育國家規劃教材。除此之外,她還在多個期刊發表多篇論文。
項目1?學生成績的總分與平均分的計算
任務1-1?學生成績的輸入/輸出
任務提出及實現
1.任務提出
2.具體實現
相關知識
1.C語言程序的結構
2.C語言程序運行環境及運行方法
3.數據類型
4.格式輸出函數──printf()函數
5.格式輸入函數──scanf()函數
知識擴展
1.轉義字符
2.格式化輸出
3.單個字符的輸入/輸出
4.字符串常量
舉一反三
實踐訓練
☆ 初級訓練
☆ 深入訓練
任務1-2?總分及平均分的計算
任務提出及實現
1.任務提出
2.具體實現
相關知識
1.算術運算符和算術表達式
2.賦值運算和賦值表達式
3.自增、自減及逗號運算符
舉一反三
實踐訓練
☆ 初級訓練
☆ 深入訓練
綜合訓練一
項目2?輸入學生成績轉化為等級
任務2-1?輸入學生成績,判斷其合法性
任務提出及實現
1.任務要求
2.具體實現
相關知識
1.關系運算符與關系表達式
2.邏輯運算符與邏輯表達式
3.條件語句
4.條件運算符與條件表達式
舉一反三
實踐訓練
☆ 初級訓練
☆ 深入訓練
任務2-2 將輸入的學生成績轉化為等級
任務提出及實現
1.任務提出
2.具體實現
相關知識
1.if語句的嵌套
2.switch語句
舉一反三
實踐訓練
☆初級訓練
☆ 深入訓練
綜合練習二
項目3?學生成績的分組匯總
任務3-1?求一個小組學生成績的總分及平均分
任務提出及實現
1.任務提出
2.具體實現
相關知識
1.while循環
2.do…while語句
3.for語句
知識擴展
1.for 語句的多種表示方法
2.break語句
舉一反三
實踐訓練
☆ 初步訓練
☆ 深入訓練
任務3-2?求每個小組學生成績的總分及平均分
任務提出及實現
1.任務提出
2.具體實現
相關知識
1.?常見的循環嵌套
2.循環嵌套的運用
3.循環嵌套的實例
舉一反三
實踐訓練
☆ 初級訓練
☆ 深入訓練
綜合練習三
項目4?多個學生成績的排序
任務4-1?多個學生一門課成績的輸入/輸出
任務提出及實現
1.任務提出
2.具體實現
相關知識
1.一維數組的定義
2.一維數組的引用
3.一維數組的初始化
舉一反三
實踐訓練
☆ 初步訓練
☆ 深入訓練
任務4-2?多個學生一門課成績的排序
任務提出及實現
1.任務提出
2.具體實現
相關知識
1.求最高分
2.排序
舉一反三
實踐訓練
☆ 初級訓練
☆ 深入訓練
任務4-3?學生姓名的輸入/輸出
任務提出及實現
1.任務提出
2.具體實現
相關知識
1.一維字符數組
2. 二維字符數組
知識擴展
1.字符串比較函數strcmp()
2.復制字符串函數strcpy()
舉一反三
實踐訓練
☆ 初級訓練
☆ 深入訓練
任務4-4?多個學生多門課成績的排序
任務提出及實現
1.任務提出
2.具體實現
相關知識
1.二維數組的定義
2.二維數組的引用
3.二維數組的初始化
4.二維數組的應用
舉一反三
實踐訓練
☆ 初步訓練
☆ 深入訓練
綜合練習四
項目5?根據條件進行學生成績匯總
任務5-1?統計小組一門課程的總分及平均分
任務提出及實現
1.任務提出
2.具體實現
相關知識
1.無參函數
2.空函數
3.有參函數
舉一反三
實踐訓練
☆ 初級訓練
☆ 深入訓練
任務5-2?統計小組若干門課程的總分及平均分
任務提出及實現
1.任務提出
2.具體實現
相關知識
1.嵌套函數
2.嵌套函數的應用
知識擴展
1.遞歸函數
2.遞歸函數的應用
舉一反三
實踐訓練
☆ 初級訓練
☆ 深入訓練
任務5-3?輸出排序后小組三門課的成績單
任務提出及實現
1.任務提出
2.具體實現
相關知識
1.數組名作為函數參數
2.數組名作為函數參數的應用
舉一反三
實踐訓練
☆ 初級訓練
☆ 深入訓練
綜合訓練五
項目6?用指針優化學生成績排名
任務6-1?了解指針
任務提出及實現
1.任務提出
2.具體實現
相關知識
1.地址和指針的概念
2.指針變量
3.指針變量的應用
4.指針變量作為函數參數
舉一反三
實踐訓練
☆ 初級訓練
☆深入訓練
任務6-2?用指針優化全班同學一門課成績的輸入/輸出
任務提出及實現
1.任務提出
2.具體實現
相關知識
1.指向數組元素的指針
2.一維數組元素的指針訪問方式
舉一反三
實踐訓練
☆ 初級訓練
☆ 深入訓練
任務6-3?用指針優化某班同學三門課成績的輸入/輸出
任務提出及實現
1.任務提出
2.具體實現
相關知識
1.二維數組的指針訪問方式
2.二維數組的指針訪問應用
舉一反三
實踐訓練
☆ 初級訓練
☆ 深入訓練
任務6-4?用指針實現輸出最高分的記錄
任務提出及實現
1.任務提出
2.具體實現
相關知識
知識擴展
1.字符串的表示形式
2.用指針變量來實現對字符串的訪問
舉一反三
實踐訓練
☆ 初級訓練
☆ 深入訓練
綜合訓練六
項目7?學生成績單制作
任務7-1?用結構體數組進行學生信息的輸入/輸出
任務提出及實現
1.任務提出
2.具體實現
相關知識
1.結構體類型
2.結構體變量的引用
3.結構體變量的初始化
4.結構體數組
5.指向結構體類型數據的指針
舉一反三
實踐訓練
任務7-2?輸出排序后的學生成績單
任務提出及實現
1.任務提出
2.具體實現
相關知識
1.求平均分最高學生的信息
2.學生成績排序
舉一反三
實踐訓練
綜合訓練七
項目8?學生成績文件管理
任務8-1?將學生成績順序讀寫到文件中
任務提出及實現
1.任務提出
2.具體實現
相關知識
1.文件的打開/關閉
2.文件的讀寫
舉一反三
實踐訓練
任務8-2?將學生成績隨機讀寫到文件中
任務提出及實現
1.任務提出
2.具體實現
相關知識
1.指針指向文件開頭的函數(rewind()函數)
2.fseek()函數
舉一反三
實踐訓練
綜合訓練八
附錄A?運算符表
附錄B?常用標準庫函數
1.數學標準庫函數(函數原型:math.h)
2.輸入/輸出庫函數(函數原型:stdio.h)
3.字符函數與字符串函數(函數原型:string.h)
4.其他函數(函數原型:stdlib.h)
附錄C?ASCII字符編碼表
參考文獻