C程序設計案例教程(基礎)(自主模式)

自主模式

  • 什么是隨堂模式?

    隨堂模式課程一般為每學期一輪次,課程每周更新,作業、考試有截止時間,由課程提供方老師、助教指導,課程完結,成績由老師確認后,統一發放證書。

  • 什么是自主模式?

    自主模式課程常年開放加入,課件全部開放,作業、考試無截止時間,有學堂在線招募選拔的助教指導,考核通過即可自動獲得證書。

國家級精品

來自于: 中國農業大學 | 分類: 計算機(633)

課程描述

C語言曾開發出UNIX操作系統等經典系統。隨著物聯網、人工智能、大數據、云計算等新技術不斷發展,也廣泛用于開發各種應用程序,且易于使用,還具有硬件底層執行能力,因此能夠持久豐富與發展,在TIOBE世界排行榜中始終位于前列。

什么是認證證書?
免費學習
認證學習
名師簽名
實名認證
權威性
紙質證書
付費購買
免費贈送

課程簡介

    C語言作為經典系統軟件開發設計語言,曾開發出UNIX經典操作系統等軟件系統。隨著物聯網、人工智能、大數據、云計算等新技術不斷發展,C程序設計廣泛用于各種應用程序開發,經久不衰。系統學習C語言程序設計,系統掌握現代計算思維編程技術方法,是熟練現代編程的重要基礎,也是現代社會工作和科技創新人才的必備基礎。
     計算機科學教育正發展成為科學思維和工程思維教育的重要基礎。C語言在TIOBE世界排行榜中持久排名前列,TIOBE提供世界范圍計算機程序設計語言指數排名,每月更新新一次,C語言程序設計始終是系統掌握各種編程技術方法的重要基礎,因此編程學習也逐漸成為現在基礎教育的一部分。

    本課程根據現代編程技術發展和人才培養需要,結合我校“新工科”、“雙一流”教學改革不斷建設,課程體系完整,知識點案例豐富,特別適合隨時隨地自主學習、系統實踐。其在線教學版教材也于2019年1月出版,也適合線上線下多種模式混合式教學。

    本課程分為基礎篇和進階篇,本課為基礎篇,主要結合MOOC教學特點,優化提煉基礎部分知識點,通過案例應用來解析相關的知識要點,學習掌握程序算法實現,及相關的語義語法基本規范等相關技術及實驗方法。

    本課程主要內容包括計算機程序設計算法與實現、C語言程序設計組成結構、編譯運行、各種數據存儲類型及相關運算、各類程序流程控制命令與控制結構、數組的創建定義與使用、函數定義與變量的作用、編譯預處理與宏定義的使用方法等基礎知識內容。

    本課程學習規劃,可按章節自主選擇知識點相關內容和學習方式。如各知識要點的授課視頻,案例分析視頻、編程實驗視頻、習題分析視頻等。每小節均有小節討論及知識要點綜述和相關練習,每章都有單元測試,或自測練習及習題分析解答等。在學習過程中可根據內容自主選擇問題討論、編程練習、自測練習等,以強化知識要點基礎訓練與計算思維技術方法。本課程提倡跟隨案例動手實踐,積極參加各種主題討論等線上線下多種形式學習模式。

    C程序設計學習特點:

    C語言是現代編程的重要基礎,ANSI標準定義的命令關鍵字只有32個,運算符34個,程序控制語句也只有9種,這些在學習中都不難理解,也比較易于掌握。

對初學者來說,每當遇到實驗或編程分析以解決實際問題時,總體會感覺上“難”掌握。特別是非計算機專業同學,這種現象比較普遍。

     要越過心理“難點”這道坎兒,運用計算思維方法養成習慣是關鍵。通過案例分析和引導,勤動手多實踐,訓練掌握如何自如地表達實際問題求解過程與程序算法,才能有效編寫組織程序,實現相關運算邏輯的計算結果。

     計算機程序設計中,掌握知識要點的計算思維方法是核心,通過實驗驗證則是有效掌握程序算法實現的關鍵。這是一個實踐應用熟練過程。

     MOOC學習優勢:

     MOOC學習是一種基于豐富多樣化學習資源,并擁有多種學習選擇模式的自主式構建知識點結構體系的學習環境。也特別適合計算機程序設計類課程的基礎型學習和創新創意編程的學習,尤其是清華學堂在線。在這里,我們不僅可以隨時隨地自主選擇分享主講老師精心準備的各種上線資源,同時還可共享國內外名校的精品資源。在學習過程中,可參與各種學習討論,線上線下分享動手實踐和體驗。在這里,我們可隨時分享自己想得到和想不到的各種問題,或許可以得到來自全球名校各位高手點撥,分享各種創意學習思維方式,分享知識熱點討論和求解思路方法等。

      在分享每個知識點的學習體驗,提高自主學習效率和學習質量的同時,不斷獲得學習實踐的成就感,哪怕是一點點,積少成多,積點滴則匯成江海河流,就從最簡單的案例開始。


展開

課程章節

第0章 課前認知與體驗
0.1 C程序設計編程基本結構與實驗方法
0.2 本章知識要點自測練習
第1章 計算機程序設計算法實現
1.1 程序設計概述(1.1.1 程序設計語言、1.1.2 程序設計過程)
1.2 程序設計算法與實現(程序設計算法與實現、例1.1案例實驗與分析)
1.3 計算機程序算法的表示(1.3.1 自然語言描述、1.3.2 程序流程圖描述、1.3.3 N-S圖描述、1.3.4 程序設計語言描述)
1.4 程序算法實現案例分析
第1章 自測練習與單元測試
第1章 隨堂實驗(實訓)計算機信息的表示與計算(1.從ASCII編碼應用看計算思維編程設計; 2.程序設計的算法檢驗; 3.鍵盤字符編碼的測試; 4.數制轉換算法分析應用)
第2章 C程序設計結構組成與編譯運行
2.1 C語言程序設計概述(2.1.1 C語言程序設計的發展、2.1.2 C程序設計特點、2.1.3 C程序設計組成結構)
2.2 C程序設計的編譯與運行(2.2.1 編輯調試與編譯運行步驟、2.2.2 常用編譯運行環境)
2.3 C語言程序設計語義規范(2.3.1 C語言程序的基本規范、例2-3案例實驗與分析、2.3.2 C語言程序設計標識符、2.3.3 C語言的保留關鍵字)
第2章 自測練習與單元測試
第3章 數據存儲類型與相關運算
3.1 數據存儲方式(3.1.1數據存儲與數制轉換 3.1.2數據存儲類型與定義 3.1.3存儲地址與占用空間 3.1.4數據常量分類 3.1.5程序變量定義)
3.2 數據存儲方式應用(3.2.1數據存儲的正負數問題 3.2.2數據變量取值范圍 3.2.3實型數據存儲方式 3.2.4字符型數據存儲方式 3.2.5各種存儲類型的混合運算)
3.3 運算符與運算表達式(3.3.1 運算符優先級與數據類型轉換 3.3.2 算術運算符與算術運算表達式 3.3.3 賦值運算符與賦值運算表達式(上) 3.3.3 賦值運算符與賦值運算表達式(下) 3.3.4 逗號運算符與逗號運算表達式 3.3.5 關系運算符與關系運算表達式 3.3.6 邏輯運算符與邏輯運算表達式(上) 3.3.6 邏輯運算符與邏輯運算表達式(下) 3.3.7 條件運算符與條件運算表達式)
第3章自測練習與單元測試
第3章單元測試
第4章 順序結構程序設計
4.1 C程序設計流程控制(4.1.1程序基本流程控制、4.1.2順序結構流程控制)
4.2 基本順序結構命令語句(4.2.1 基本順序命令、4.2.2表達式語句)
4.3 常用基本輸入輸出函數(4.3.1字符類型輸入函數、4.3.2字符類型輸出函數、4.3.3.1格式化輸出函數的數據格式控制和使用、4.3.3.2格式化輸入函數的數據格式控制和使用)
第4章 自測練習與單元測試
第5章 條件分支選擇結構程序設計
5.1 條件分支選擇結構(5.1.1簡單if分支選擇結構、5.1.2 if-else分支選擇結構、5.1.3嵌套的if-else選擇結構、5.1.4 else-if多路分支選擇結構算法分析和應用)
5.2 switch~case條件選擇開關語句(5.2.1switch-case條件選擇結構、5.2.2 switch-case條件選擇語句及break命令使用方法和特點)
5.3 條件選擇綜合案例分析
5.4 算法分析-排序算法基礎
第5章 自測練習與單元測試
第6章 循環控制結構程序設計
6.1 循環控制結構(6.1.1 循環控制結構組成要素、6.1.2 while()~循環控制結構、6.1.3 do~while()循環控制結構、6.1.4 for()循環控制結構、)
6.2 循環控制結構的嵌套
6.3 循環控制結構的輔助控制命令(6.3.1 無條件轉移命令goto語句、6.3.2 終止循環執行命令break語句、6.3.3 返回循環條件命令continue語句)
6.4 幾種循環控制結構的比較
6.5 循環控制結構綜合案例分析
6.6 算法分析-迭代算法設計與實現
6.7 算法分析-枚舉算法設計與實現
第6章 自測練習與單元測試
第7章 數組定義及應用
7.1 數組的性質
7.2 一維數組的定義與引用(7.2.1一維數組的定義、7.2.2一維數組元素的引用、7.2.3一維數組的初始化、7.2.4一維數組應用案例)
7.3 多維數組定義與應用(7.3.1二維數組的定義與引用、7.3.2二維數組程序算法案例、7.3.3 三維數組的定義與應用、7.3.4多維數組的應用)
7.4 字符數組與字符串操作(7.4.1字符數組的定義與初始化、7.4.2字符串的處理及應用、7.4.3常用的字符串處理函數(puts()函數、gets()函數、strcat()函數、strcmp()字符串比較函數、strcpy()函數、strlen ()函數、strlw()函數、strupr()函等 )、7.4.4 字符數組應用案例)
7.5 算法分析-字符串排序算法設計與實現
第7章 自測練習與單元測試
第7章 單元測試
第8章 函數與變量(上)——函數與調用
8.1 C語言函數分類與應用(8.1.1 C語言函數分類、8.1.2 系統標準庫函數、8.1.3 自定義函數)
8.2 自定義函數與函數類型
8.3 自定義函數參數與參數傳遞(8.3.1形式參數和實際參數、8.3.2數組作為函數參數)
8.4 自定義函數的調用
8.5 函數的嵌套調用
8.6 函數的遞歸調用
8.6.2 算法分析——遞歸算法的設計與實現
第8章 函數與變量(下)——變量及函數的操作范圍
8.7 函數變量的存儲與作用域(8.7.1局部變量、8.7.2 全局變量)
8.8 動態存儲變量和靜態存儲變量(8.8.1 程序變量的存儲類型、8.8.2 auto型動態存儲變量、 8.8.3 extern全程變量、8.8.4 static靜態局部與靜態全局變量、 8.8.5 register型寄存器變量)
8.9 全局函數和局部函數(8.9.1 static局部函數、8.9.2 extern全局函數)
8.10 函數與變量綜合案例分析
8.11 算法分析-外部函數的設計與實現
8.12 實驗分析-外部函數的設計與實現
第8章 自測練習與單元測試
第9章 編譯預處理
9.1 編譯預處理命令
9.2 宏定義與宏代換(9.2.1 不帶參數的宏定義 、9.2.2帶參數的宏定義 、9.2.3宏定義作用域的終止 )
9.3 文件包含處理
9.4 條件編譯
第9章 自測練習與單元測試
編程算法設計基礎綜合練習-0.學習計算思維技術與方法;1.實現數據輸入計算與結果驗證;2.程序設計算法設計與實現過程;3.問題求解編程算法不是唯一的;4.迭代算法的程序設計與實現
編程算法設計基礎綜合練習
程序算法分析設計綜合實驗-1.密碼強度設置的檢測驗證;2.找出梅森數和梅森素數;3.比對DNA編碼最大相似序列;4.找出DNA編碼中最高GC-Ratio子序列;5.分解任意正整數的質因子
程序算法分析設計綜合實驗
2016結課測試(自主模式)
2016結課測試(自主模式)

授課教師

  • 張莉 中國農業大學 信息與電氣工程學院計算機系 教授

    張莉,中國農業大學教授,碩士生導師,教育部寶鋼教育優秀教師。研究方向主要有信息系統建模、機器學習、數據庫原理、智慧教育環境及農業信息化服務等教學科研。 主持完成主要有國家精品在線開放課程1門、教育部“十一五”國家級規劃教材1套,北京市精品教材2部,北京市高等教育教學成果獎1項、校級教學成果獎5項,校級精品教材2部、農業部中華農業教育優秀教材1部等。 相關兼職主要有CCF(中國計算機學會)教育工作委員會委員、ACM SIGCSE China (美國計算機協會計算科學教育專業中國委員會)委員、CCF教育專業委員會委員、全國高等院校計算機教育研究會常務理事、全國高等院校計算機基礎教育研究會在線教育專業委會副主任委員兼秘書長、北京市高教學會計算機教育研究會常務理事等。

精華筆記

精華筆記正在評選中,去看看全部筆記

常見問題

1.本課程主講教材是什么?

《C程序設計案例教程(第3版)》在線教學版,張莉,2019.1,清華大學出版社,ISBN 978-7-302-51830-3

2.本課程應該使用那種C/C++集成開發環境?

本課程所有案例和實驗,均可使用MS Visual Studio C/C++開發環境、C-Free C/C++開發工具、Dev-C++C/C++開發工具等,各種C/C++集成開發工具都可以,都不會影響本課程編程學習和實驗效果。

农村做什么生意赚钱