<dd id="saiiy"></dd>
  1. <s id="saiiy"></s>

    1. <s id="saiiy"></s>
      1. <span id="saiiy"><blockquote id="saiiy"></blockquote></span>

        理論課教案模版

        發(fā)布時(shí)間:2024-11-13 10:00:52   來(lái)源:黨團工作    點(diǎn)擊:   
        字號:

         《嵌入式 C 語(yǔ)言編程 - 基礎》理論課教案

         第 1 章

         C 語(yǔ)言基礎

          一、整章授課思路 [40 分鐘] .......................................................................................................................... 3 1. 回顧、預習檢查、任務(wù)、目標部分 [5 分鐘] ................................................................................... 3 2. 什么是程序、指令以及流程圖[10 分鐘] ............................................................................................ 3 3. C 語(yǔ)言基礎和簡(jiǎn)介[10 分鐘] ................................................................................................................ 4 4. 編譯和執行 C 程序[10 分鐘] ............................................................................................................... 5 5. 補充內容[3 分鐘] .................................................................................................................................. 6 6. 總結

         [2 分鐘] ...................................................................................................................................... 6 二、 學(xué)員問(wèn)題匯總 ........................................................................................................................................ 6 三、 作業(yè)布置 ................................................................................................................................................ 7

          課時(shí):1 學(xué)時(shí) 授課人:XXX

         ? 本書(shū)目 標

         ? 重點(diǎn)介紹 C 語(yǔ)言在整個(gè)課程體系中的地位 ? 解 講解 PPT :C 語(yǔ)言在嵌入式領(lǐng)域的重要性

         —— 提高學(xué)生對本門(mén)課的興趣 ? 參考資料推薦

         —— 提供參考資料 及經(jīng)典書(shū)籍 ? 程序設計語(yǔ)言 ? C 陷阱與缺陷 ? C 專(zhuān)家編程 ? C 語(yǔ)言編程規范 ? 理解算法、流程圖以及程序的概念 ? 掌握用 C 語(yǔ)言進(jìn)行程序設計的基本方法。

         ? 掌握 C 語(yǔ)言的基礎知識,包括基本數據類(lèi)型、表達式、控制結構等 ? 掌握 C 語(yǔ)言的高級知識,包括數組、指針、函數、字符串、結構、文件操作等 ? 課時(shí)及上課時(shí)間分配

         —— 整本書(shū)授課思路及進(jìn)度安排 ? 3 天理論課時(shí) ? 第一天:

         ? 第一章 1 課時(shí) ? 第二章 2 課時(shí) ? 第三章 1 課時(shí) ? 第四章 2 課時(shí) ? 第五章

         2 課時(shí) ? 第二天:

         ? 第六章 3 課時(shí) ? 第七章 2 課時(shí) ? 第八章 3 課時(shí) ? 第三天 ? 第九章

         3 課時(shí) ? 第十章

         2 課時(shí) ? 第十一章 3 課時(shí) ? 1 天做課后題

         8 課時(shí) ? 1 天綜合實(shí)驗

         8 課時(shí) ? 本章 目標

         ? 了解程序、算法和流程圖的概念 ? 熟練掌握 C 程序的基本結構 ? 掌握 C 程序的編譯和運行過(guò)程 ? 使用 GCC 創(chuàng )建 C 程序 ? 本章重點(diǎn)

         ? C 程序的基本結構和注釋 ? C 語(yǔ)言的編譯和執行 ? 本章難點(diǎn)

         ? 如何學(xué)習及學(xué)好 C 語(yǔ)言? 批注 [r1]: 從業(yè)務(wù)角度描述,學(xué)員學(xué)完本書(shū)能干什么、能作出什么東西,參考 PPT 上的描述。

         批注 [r2]: 從業(yè)務(wù)角度描述,學(xué)員學(xué)完本章能干什么、能作出什么東西,參考 PPT 上的描述。

         批注 [r3]: 注意描述要簡(jiǎn)潔明了,其他老師一看就明白,方便交流。

         一、 整章授課思路

         [ [4 40 0 分鐘] ]

         本章依次講解三個(gè)問(wèn)題:

         ? 程序、算法和流程圖 ? C 程序的基本結構、編譯和運行過(guò)程 ? 使用 GCC 創(chuàng )建 C 程序 1. 回顧、預習檢查、 任務(wù)、目標 部分

         [ [5 5 分鐘] ]

         根據 PPT 中提供的問(wèn)題,逐一提問(wèn)學(xué)員,注意給予學(xué)員引導,建立學(xué)員的信心。

         ? main()函數的返回值默認是整型 [int] main()中的 int 默認可以省略 ? \n 代表?yè)Q行 ? 計算機為什么使用二進(jìn)制語(yǔ)言:硬件易于實(shí)現,計算簡(jiǎn)單 2. 什么是程序、指令以及流程圖[ [1 10 0 分鐘] ]

         2.1 什么是程序?

         ? 引入:

         程序語(yǔ)言,顧名思義就是語(yǔ)言,是用于交流的,程序就是計算機的語(yǔ)言和人的語(yǔ)言的翻譯者,做一個(gè)程序員就是要把人類(lèi)世界的問(wèn)題用計算機的方法去解決和展現

         ? 講解要點(diǎn):程序 起源:

         幾十年前,有一個(gè)老美(叫什么 Niklaus Wirth),弄了一個(gè)破玩意兒:

         “Algorithm + Data Structures = Programs”

         好了,這孩子出名啦,全世界都他的這個(gè)玩意奉為經(jīng)典。

          當我們中國人看到了以后,心想啊,那玩意兒是經(jīng)典啊,不能改啊,我們 就這樣翻譯吧:

         “算法 + 數據結構 = 程序”

         或者

         “程序 = 算法 + 數據結構”

         ? 課堂案例:

         打個(gè)比方,一個(gè)程序就 像一個(gè)用 漢語(yǔ) (程序設計語(yǔ)言)寫(xiě)下的紅燒肉 菜譜 (程序),用于指導 懂漢語(yǔ)和烹飪手法的人 (體系結構)來(lái)做這個(gè)菜。通常,計算機程序要經(jīng)過(guò)編譯和連結而成為一種人們不易看清而計算機可解讀的格式,然后運行。未經(jīng)編譯就可運行的程序,通常稱(chēng)之為腳本程序(script)。

          ? :

         驗證案例:(無(wú),這里僅做示范)

         2.2 算法 ? 引入:

         算法就是處理事情的方法,比如出門(mén)前要先穿衣服,穿衣服要先穿哪件再穿哪件,這就是算法。。。

         ? 講解要點(diǎn):

         批注 [r4]: 指整章的整體思路,先講什么,后講什么,它們之間如何串起來(lái)。

         批注 [r5]: 各技能點(diǎn)的逐一講解,技能點(diǎn)的講解一般包括:

         1)引入:通過(guò)生活案例或代碼案例引出本次課講解的技能,主要讓學(xué)員明白為什么用學(xué)這個(gè)技能。

         2)講解要點(diǎn):該技能點(diǎn)講解的大致思路、注意問(wèn)題、相關(guān)提問(wèn)等。切忌把 PPT 上講解的技能點(diǎn)再重復羅列一遍,造成“重復冗余”。

         3)課堂案例:上課講解使用的案例名稱(chēng),案例放置在對應文件夾中,Word 中不需要粘貼源代碼。

         4)驗證案例:用于檢驗學(xué)員學(xué)習效果的案例,PPT 一般出現在小結部分。多用現場(chǎng)編程題,其次是問(wèn)答題。案例放置在對應文件夾中 說(shuō)明:

         1、對本章重點(diǎn)、難點(diǎn)部分,要求進(jìn)行詳細描述,其他部分完全可以從簡(jiǎn)描述。

         2、非重難點(diǎn)的技能點(diǎn)講解,可以沒(méi)有“引入”和“檢驗案例”。

         3、如果技能點(diǎn)比較復雜,可 以往下細分。

         算法是一系列解決問(wèn)題的清晰指令,也就是說(shuō),能夠對一定規范的輸入,在有限時(shí)間內獲得所要求的輸出。算法常常含有重復的步驟和一些比較或邏輯判斷。如果一個(gè)算法有缺陷,或不適合于某個(gè)問(wèn)題,執行這個(gè)算法將不會(huì )解決這個(gè)問(wèn)題。不同的算法可能用不同的時(shí)間、空間或效率來(lái)完成同樣的任務(wù)。一個(gè)算法的優(yōu)劣可以用空間復雜度與時(shí)間復雜度來(lái)衡量。

         一個(gè)算法應該具有以下五個(gè)重要的特征:

         1、有窮性:

         一個(gè)算法必須保證執行有限步之后結束;

         2、確切性:

         算法的每一步驟必須有確切的定義;

         3、輸入:一個(gè)算法有 0 個(gè)或多個(gè)輸入,以刻畫(huà)運算對象的初始情況,所謂 0 個(gè)輸入是指算法本身定除了初始條件;

         4、輸出:一個(gè)算法有一個(gè)或多個(gè)輸出,以反映對輸入數據加工后的結果。沒(méi)有輸出的算法是毫無(wú)意義的;

         5、可行性:

         算法原則上能夠精確地運行,而且人們用筆和紙做有限次運算后即可完成。

         算法的優(yōu)劣:用空間復雜度與時(shí)間復雜度來(lái)衡量 例:空間換時(shí)間,時(shí)間換空間。——來(lái)上班的方式選擇。打車(chē)?走路?

         ? 課堂案例

         案 例:

         計算長(cháng)方形的面積

         2.3 流程圖

         ? 引入:

         千言萬(wàn)語(yǔ)不如一張圖。

         ? 講解要點(diǎn):

         流程圖:使用圖形表示算法的思路是一種極好的方法 流程圖在 匯編語(yǔ)言和早期的 BASIC 語(yǔ)言環(huán)境中得到應用,由于其中的轉向過(guò)于任意,帶來(lái)了許多副作用,現已趨向消亡。

         較新的是有利于結構化程序設計的 PAD 圖,對 PASCAL 或 或 C 語(yǔ)言都極適用。

         ? 課堂案例 :

         案例:

         流程圖來(lái)畫(huà)計算 長(cháng)方形的面積 3. C C 語(yǔ)言基礎和簡(jiǎn) 介[ [1 10 0 分鐘] ]

         3.1 C 語(yǔ)言簡(jiǎn)介之語(yǔ)言特性

         ? 引入:

         1、紙帶 2、匯編語(yǔ)言的特點(diǎn):速度快 3、C 語(yǔ)言:強大——可以直接修改 PC 上的值,簡(jiǎn)單——易懂,不挑機器及特性(高級)

         ? 講解要點(diǎn):

         ? 機器語(yǔ)言或稱(chēng)為二進(jìn)制代碼語(yǔ)言 計算機可以直接識別,不需要進(jìn)行任何翻譯。每臺機器的指令,其格式和代碼所代表的含義都是硬性規定的,故稱(chēng)之為面向機器的語(yǔ)言,也稱(chēng)為機器語(yǔ)言。它是第一代的計算機語(yǔ)言。機器語(yǔ)言對不同型號的計算機來(lái)說(shuō)一般是不同的。

          ? 匯編語(yǔ)言(AssemblyLanguage) 是面向機器的程序設計語(yǔ)言。在匯編語(yǔ)合中,用助記符(Memoni)代替操作碼,用地址符號(Symbol)或標號(Label)代替地址碼。這樣用符號代替機器語(yǔ)言的二進(jìn)制碼,就把機器語(yǔ)言變成了匯編語(yǔ)言。于是匯編語(yǔ)言亦稱(chēng)為符號語(yǔ)言。使用匯編語(yǔ)言編寫(xiě)的程序,機器不能直接識別,要由一種程序將匯編語(yǔ)言翻譯成機器語(yǔ)言,這種起翻譯作用的程序叫匯編程序,匯編程序是系統軟件中語(yǔ)言處理系統軟件。匯編程序把匯編語(yǔ)言翻譯成機器語(yǔ)言的過(guò)程稱(chēng)為匯編。

         本質(zhì)上匯編語(yǔ)言和機器語(yǔ)言是一一對應的,即一條匯編語(yǔ)言對應一條機器指令.而一條高級語(yǔ)言一般可以相當于多條機器或匯編指令,這大大提高了軟件開(kāi)發(fā)效率,讓復雜軟件的出現成為可能. ? C 語(yǔ)言簡(jiǎn)介之 C 語(yǔ)言強大

         ? C 語(yǔ)言入門(mén)容易,用起來(lái)難

         ? C++入門(mén)難,用起來(lái)方便

         ? 課堂案例 :

         既然要學(xué)習 C 語(yǔ)言,則需要大概了解一下 C 語(yǔ)言的是怎么產(chǎn)生怎么發(fā)展的。

         C 語(yǔ)言是在 B 語(yǔ)言基礎上發(fā)展起來(lái)的。在 B 語(yǔ)言之前經(jīng)歷了 ALGOL60、CPL、BCPL語(yǔ)言。

         使用 B 語(yǔ)言寫(xiě)了第一個(gè) UNIX 操作系統。B 語(yǔ)言過(guò)于簡(jiǎn)單。功能有限。在 1973 年貝爾實(shí)驗室的 Dennis Ritchie 在 B 語(yǔ)言基礎上設計了 c 語(yǔ)言。

         其目的為描述和實(shí)現 UNIX 系統的。同年, Ken Thompson 和 Dennis Ritchie 合作把原來(lái)使用匯編語(yǔ)言編寫(xiě)的 UNIX 改為 C 語(yǔ)言來(lái)實(shí)現。之后 C 語(yǔ)言發(fā)展經(jīng)歷了三個(gè)重要的發(fā)展階段。

         到現在為止雖然出現了很多的程序設計語(yǔ)言,但是 C 語(yǔ)言依舊具有強壯的生命力,在很多行業(yè)領(lǐng)域仍然使用。我們現在學(xué)習 c 語(yǔ)言可以為學(xué)習其它語(yǔ)言打下基礎。

         4. 編譯和執行 C C 程 序[ [1 10 0 分鐘] ]

         C 4.1 C 語(yǔ)言的基本結構

          ? 引入:

         那么一個(gè) C 程序怎么才能變成計算機可識別的二進(jìn)制代碼 ? 講解要點(diǎn)

         1.一個(gè) C 語(yǔ)言源程序可以由一個(gè)或多個(gè)源文件組成。

         2.每個(gè)源文件可由一個(gè)或多個(gè)函數組成。

         3.一個(gè)源程序不論由多少個(gè)文件組成,都有一個(gè)且只能有一個(gè) main 函數,即主函數。

         4.源程序中可以有預處理命令(include 命令僅為其中的一種),預處理命令通常應放在源文件或源程序的最前面。

         5.每一個(gè)說(shuō)明,每一個(gè)語(yǔ)句都必須以分號結尾。但預處理命令,函數頭和花括號“}”

         之后不能加分號。

         6.標識符,關(guān)鍵字之間必須至少加一個(gè)空格以示間隔。若已有明顯的間隔符,也可不再加空格來(lái)間隔。

          ? 課堂案例 :

         案例:

         helloworld.c

         4.2 C 語(yǔ)言的編譯和執行

         ? 引入:

         回顧:Linux 開(kāi)發(fā)基礎第六章內容,詳細剖析 C 程序編譯的整個(gè)過(guò)程

         ? 講解要點(diǎn):

          解釋器或直譯器(Interpreter)是一種供執行其他程式的電腦程式,解釋器只像一位“中間人”,每次執行程式時(shí)都要先轉成另一種語(yǔ)言再作執行,因此解釋器的程式運行速度比較緩慢。

         相對地,編譯器并不執行程式或原程式碼,而是一次過(guò)將其翻譯成另一種語(yǔ)言,如機械碼,以供多次執行而無(wú)需再經(jīng)編譯。其制成品無(wú)需依賴(lài)編譯器而執行,程式運行速度比較快。

         ? 課堂案例 :

         案例:

         編譯并連接執行 c helloworld.c 程序

          5. 補充內容[ [3 3 分鐘] ]

         如何學(xué)習 C 語(yǔ)言 C 語(yǔ)言在嵌入式領(lǐng)域的重要性 6. 總結

         [ [2 2 分鐘] ]

         ? 根據 PPT 上的問(wèn)題,對本次課進(jìn)行總結。

         二、

         學(xué)員 問(wèn)題 匯總

         ? 問(wèn)題 1:C 語(yǔ)言有哪些經(jīng)典的書(shū)籍和教材?

         答:C 程序設計語(yǔ)言 C 陷阱與缺陷等 ? 問(wèn)題 2:在 vi 中怎么設置 tab 鍵為空 4 格

         答:在用戶(hù)主目錄下建文件 .exrc 內容為 set ts=4 set sw=4 set ai 即可 批注 [r6]: 課堂上學(xué)員常問(wèn)的一些問(wèn)題,上多次課后,需要進(jìn)行歸納匯總,便于教員間相互交流、學(xué)術(shù)例會(huì )研討等。

         三、

         作業(yè)布置

         ? 預習作業(yè):

         ? 1)

         用 Gcc 編譯一個(gè) C 程序 ? 復習作業(yè):

         ? 1)教材題 無(wú) ? 2)補充作業(yè) 1:使用 Gcc 編譯 Helloworld.c 程序 批注 [r7]:

         包括預習作業(yè)和課后作業(yè)。

         預習作業(yè):

         用于學(xué)員預習本章時(shí)完成的作業(yè)。

         課后作業(yè):

         用于本章講解完畢時(shí)布置的作業(yè)。

        国产另类无码专区|日本教师强伦姧在线观|看纯日姘一级毛片|91久久夜色精品国产按摩|337p日本欧洲亚洲大胆精

        <dd id="saiiy"></dd>
        1. <s id="saiiy"></s>

          1. <s id="saiiy"></s>
            1. <span id="saiiy"><blockquote id="saiiy"></blockquote></span>