大數據、人工智能推動數字經濟的大發(fā)展,應用型高校以培養(yǎng)計算思維 專業(yè)應用的新工科人才為己任。計算思維能力體現在數據的符號化表達與流程自動化處理兩個方面。大學計算機培養(yǎng)學生符號化數據表達能力,程序設計課程培養(yǎng)學生的自動化處理能力。
C 語言由于其卓越的優(yōu)點,在國內外得到了廣泛的應用,幾乎所有的理工科大學都開設了C 語言程序設計這門公共基礎課,通過學習這門課程使學生掌握程序設計的基本方法并逐步形成正確的程序設計思想,能夠使用 C 語言進行程序設計并具備調試程序的能力,為后繼課程及其他程序設計課程的學習和應用打下基礎。
在多年非計算機專業(yè)的計算機系列課程教學工作中,我們深切地感到多數學生總停留在學會 C 語言的基本語法、理論,編寫簡單的 C 語言程序,通過書面考試的水平上;并且,雖然目前介紹 C 語言的教材很多,但大多是圍繞編程語言本身的體系展開,以講解語言知識為主,特別是語法知識,輔以一些編程技巧的介紹,不利于培養(yǎng)學生的計算思維能力與工程應用能力。
上海工程技術大學作為首批卓越工程師教育培養(yǎng)計劃試點的本科專業(yè)單位及新工科建設地方高校的牽頭單位之一,要求培養(yǎng)具備大學本科基礎知識,并有一定的實踐能力與應用能力的高級技術人才,強化工程能力和創(chuàng)新能力。卓越工程師計劃旨在培養(yǎng)掌握實際操作技能、能為企業(yè)創(chuàng)造更多實際價值的人才。因此,C 語言程序設計課程的教學重點應該是培養(yǎng)學生的實際編程能力,提高計算思維 專業(yè)應用的能力。教材也要以程序設計為中心來組織內容,學生必須通過大量的編程訓練,在實踐中掌握語言知識,培養(yǎng)程序設計的基本能力,并逐步理解和掌握程序設計的思想和方法,提高學生的計算思維能力與信息素養(yǎng)。
在多年非計算機專業(yè)的 C 語言程序設計課程教學工作中,我們深切地感到這門課要不斷改革,讓學生愛聽、愛學,還要充分體現這門課程的重要性和實用性,讓學生能夠學有所用、學以致用,體會計算思維的方法論與理念,促進自己的專業(yè)學習,促進新工科建設。基于此,我們編寫了這本《C 語言程序設計》。本書以程序設計思想的掌握為主線,以編程應用為驅動,通過案例和問題引入內容,由淺入深,重點訓練學生的編程思想,提高學生應用 C 語言的能力,達到提升計算思維能力的目的。
本書與同類教材相比,具有以下特點:
(1)是一本適合卓越工程師計劃、新工科建設的 C 語言程序設計教材
一般 C 語言程序設計課程課時為 64 學時或者更多,但現在教學改革,課時基本在減少,48學時的計劃安排也比較多。本書為重應用、少學時的靈活教材,需要分清重點、難點。我們將順序、選擇、循環(huán)三種結構,一維數組、函數、指針作為重點內容;簡單介紹用戶自定義類型、宏定義、文件和語法;并且強調實踐編程能力,重應用、輕語法。學生可參考其他參考書,或者利用本書配
套 MOOC 資源。
(2)以實用技能為核心
工程應用型大學重點要培養(yǎng)學生的實際工程技能和創(chuàng)新能力。因此,本書不是一本介紹語法的書,而是幫助學生通過大量實例了解怎么設計和運用算法,怎樣用語言工具和編程環(huán)境去實現編程,從而處理實際問題。在教材編寫上,我們不求語法面面俱到,而是結合工程需求,以實用技能為核心,重點講解在實際編程中經常使用的一些核心技術,對于其他語法內容則少講或不講,需要的可以參考附錄或者其他參考書。
與傳統的教材編排方式不同,在基本遵循 C 語言教學體系的情況下,本書將所有教學內容用例題組織。即根據要介紹的內容精心編寫相應的例題,將大量正確、規(guī)范的程序介紹給學生,在講解例題的過程中,使學生學習語法、了解概念、掌握算法。
(3)以動手能力為突破點
按傳統教材的教學方式,很多學生 C 語言語法學得很好,但卻不會編程。在書的結構設計上,強調實踐和動手能力,使學生從第 1 堂課起就練習編程,并貫穿始終:從模仿程序到改寫程序,后自己編寫程序。在教材編寫和教學過程中,都要求學生動手、動手、再動手,要讓學生敢于編碼、樂于編碼、大量編碼,不要把學習重點放在語法規(guī)則上,而是要提高動手能力,提高實際編程經驗。
(4)多形式、分層次的練習題目
為了鼓勵學生多思考、多練習、多動手,提高學生的學習效果,本書各章都配有大量的例題解析和多形式、分層次的習題。為了滿足不同層次學生的學習需要,編程題也層次多樣:有些題目難度較低,學生根據本章節(jié)講解的知識點就可以輕松完成;有些題目難度加大,要求學生認真思考、調試才能完成;還有些題目難度更大,一般為綜合運用題,要求學生綜合所學的知識,從多個知識點和角度考慮,是對于學有余力的學生提出的思考題,能夠充分提高學生的編程能力,鍛煉學生的工程能力和創(chuàng)新能力,鼓勵學生利用 C 語言知識解決專業(yè)的具體問題。
全書共 11 章。第 1 章 C 語言概述:介紹 C 語言的特點和實現過程;第 2 章用 C 語言編寫簡單程序:從實例出發(fā),簡單介紹順序、選擇和循環(huán) 3 種控制結構的初步使用,以及在實例程序中用到的語言知識;第 3 章選擇結構程序設計:講解選擇結構程序設計的思路和方法;第 4 章循環(huán)結構程序設計:講解循環(huán)結構程序設計的思路和方法;第 5 章數據類型和表達式:介紹數據類型等一些語法知識;在初步學習了三種結構程序設計后的流程與算法設計;第 6 章數組:講解數組的用法;第 7 章函數:講解函數定義與調用;第 8 章指針及其應用:講解指針的用法;第 9 章結構體、共用體和枚舉類型:講解自定義的數據類型及其用法;第 10 章宏定義與文件包含:講解宏定義、文件包含與條件編譯的用法;第 11 章文件:講解文件的操作。
本書由陳強、黃容、趙毅任主編并負責統稿。教研室多位同事對本書的初稿進行了審閱,并提出了許多寶貴的修改意見。此外,本書的編寫還得到了各級領導的關心和支持,在此一并表示感謝!
由于編者水平有限,書中難免有不妥之處,我們衷心希望得到廣大讀者的批評指正。
編 者
2021年5月