【正文】
Ch由上述命令外殼 (mand shell)和一個(gè)集成開發(fā)環(huán)境 (Ch Integrated Development Environment, ChIDE)兩大模塊構(gòu)成。 c = a + b。函數(shù) addition()可以用于程序或如圖 28 所示的命令外殼中。} double c c = add(, 20) 基于 ch 平臺(tái) c 語言程序設(shè)計(jì)的教學(xué)探討 6 件只含有一個(gè)函數(shù)定義。 Ch的函數(shù)文件是一種擴(kuò)展名為 .chf的文件,此類文struct tag {int i。 C語言標(biāo)準(zhǔn)庫中的所有函數(shù)都可以 進(jìn)行交互式執(zhí)行,也可以在用戶自定義的函數(shù)中使用。 Ch shell還可以方便地檢查 C語言結(jié)構(gòu)或 C++類的對(duì)齊,如圖 25所示。 圖 23 Ch shell示例 1 任何有效的 C語言表達(dá)式都可以在 Ch shell中求值。 Ch shell中的默認(rèn)提示符是可配置的。在一個(gè)平臺(tái)上開發(fā)的 程 序 可 以 在 其 他 任 何 一 個(gè) 平 臺(tái) 上 運(yùn) 行 。在運(yùn)行 在處理某些任務(wù)時(shí), C語言功能及其編譯 /鏈接 /運(yùn)行 /調(diào)試等繁瑣過程不盡完美且效率不高。 ChIDE操作簡便,是專門為教師授課和學(xué)生學(xué)習(xí)而開發(fā)的。從我國率先引進(jìn)的學(xué)校來看,基于 ch 平臺(tái) c 語言程序設(shè)計(jì)的教學(xué)探討 3 其對(duì)學(xué)生成績的提高十分明顯。本文介紹的 Ch是跨平臺(tái)的 C/C++解釋計(jì)算環(huán)境,對(duì)于提高計(jì)算機(jī)編程入門教學(xué)具有良好的效果。 C語言可以在各種計(jì)算機(jī)上運(yùn)行,其中包括微控制器、微型計(jì)算機(jī)、手執(zhí)設(shè)備、個(gè)人電腦、工作站乃至超型計(jì)算機(jī)。有些需要編寫數(shù)千行 C語言代碼才能解 決的問題, Ch代碼只需寥寥數(shù)行即可完成。 Ch還能解釋使用面向?qū)ο缶幊烫匦缘?C++程序。 Ch借鑒了很多其他語言和軟件包的特性和創(chuàng)意,它和其他一些語 言和軟件包的關(guān)系見圖 11。與其他大部分 C語言編譯器相比較, Ch支持更多 C99的新增特性。 Ch設(shè)計(jì)嚴(yán)格遵循了 C語言標(biāo)準(zhǔn),是 C語言的超集。提高大學(xué)生 C/C++的程序設(shè)計(jì)能力和實(shí)際動(dòng)手能力 ,對(duì)他們的專業(yè)發(fā)展及今后的就業(yè)具有非常重要的意義。 關(guān)鍵詞 : C語言; CH解釋 器 ; C語言程序設(shè)計(jì)教學(xué) Discussion based on the teaching of ch platform c language programming Abstract: with the rapid development of information technology, C language has been into a variety of electronic products. Therefore the cultivation of can skilled grasp the C language talent is very urgent, but well known C language is a puter program design teaching is also more difficult to learn the most popular programming languages. This paper introduces the Ch platform is fit for interactive teaching the concept of cross platform C / C + + explains puting environment, is a plete C language interpreter, support the new C language standard C99 in most of the new features and C + + class. It consists of an interactive mand shell and special teaching and friendly interface integrated development environment two big modules, thus forming a kind of new C program design teaching platform and the new teaching model. Ch support for puting array, provides graphics rendering library and advanced numerical functions, convenient to be able to solve many plex issues related to engineering and science. Ch because of its crossplatform implementation of C / C + + features, so that it can be in the Linux, Unix, Windows and other operating system operation. Ch also can be used as engine script seamlessly embedded into the piled program, realize the flexible programming. This article will focus on the introduction of Ch based on the C program design in teaching shows the advantage. The use of this platform to a considerable extent, improves the teaching of puter progra m design, practical teaching and students39。 Ch因其 跨平臺(tái)執(zhí)行 C/C++的特點(diǎn) ,使 它可以在Linux、 Unix、 Windows 等多種操作系運(yùn)行 。所以培養(yǎng)能 熟練掌握 C語言的人才便顯得十分迫切,但是總所周知 C語言是計(jì)算機(jī)程序設(shè)計(jì)入門教學(xué)中最流行也較難學(xué)的編程語言之一。 其次 ,感謝我的班主任、 傳授我知識(shí)的每一位老師以及身邊所有的朋友與同學(xué),四年的生活相處不久,卻從他們身上學(xué)到了太多,必將終身受益。 首先誠摯的感謝我的畢業(yè)論文導(dǎo)師張會(huì)榮。參與同一工作的其他同志對(duì)本研究所作的任何貢獻(xiàn)已在論文中作了明確的說明并表示了謝意。 本科畢業(yè)論文(設(shè)計(jì)) 論文題目: 基于 ch 平臺(tái) c 語言程序設(shè)計(jì)的教學(xué)探討 作 者: 學(xué)號(hào): 2021121329 學(xué) 院: 物理與電子工程學(xué)院 年 級(jí): 2021 級(jí) 專 業(yè): 物理學(xué) 指導(dǎo)教師: 職稱: 講師 日 期: 2021 年 5 月 18 日 曲靖師范學(xué)院教務(wù)處制 曲靖師范學(xué)院 本論文(設(shè)計(jì))經(jīng)答辯小組全體成員審查,確認(rèn)符合曲靖師范學(xué) 院本科 (學(xué)士學(xué)位 )畢業(yè)論文(設(shè)計(jì))質(zhì)量要求。 簽名: 日期: 論文使用授權(quán)說明 本論文作者完全了解曲靖師范學(xué)院有關(guān)保留、使用畢業(yè)(學(xué)位)論文的規(guī)定,即學(xué)校有權(quán)保留論文及送交論文復(fù)印件,允許論文被查閱和借閱;學(xué)??梢怨颊撐牡娜炕虿糠謨?nèi)容。本論文的所有研究工作從論文的選題、實(shí)現(xiàn)條件到論文寫作等階段都是在張會(huì)榮老師的悉心指導(dǎo)下完成的。 最后要感謝我的父母,在我生命的每一個(gè)分秒,都給予我無私的愛與關(guān)懷;在我成長的每一個(gè)腳步里以及我大學(xué)生涯的每一個(gè)階段,都給予我充分的支持與期望。本文介紹的 Ch平臺(tái)正是契合了面向交互式教學(xué)這一理念的跨平臺(tái) C/C++解釋計(jì)算環(huán)境,是一個(gè)完整的 C語言解釋器,支持最新 C語言標(biāo)準(zhǔn) C99中大部分的新增特性以及 C++的類。 Ch還可以作為引擎腳本無縫地嵌入到編譯的程序中,實(shí)現(xiàn)柔性編程。 learning enthusiasm, help students more easily understand and master the puter program design in the field of engineering and science is the important basic skills. Key words: language interpreter C。 當(dāng)初設(shè)計(jì)和開發(fā) Ch的主要目的是為了更有效地進(jìn)行 C語言計(jì)算機(jī)程序設(shè)計(jì)入門教學(xué),同時(shí)兼顧智能機(jī)電系統(tǒng)方面的科研和工程應(yīng)用 [1][2]。作為一個(gè)完整的 C語言解釋器 ,Ch支持 C89標(biāo)準(zhǔn) [5]的所有特性。所 以使用 Ch可以極大地簡化很多編程任務(wù)。 圖 11 Ch和其他一些計(jì)算機(jī)語言和軟件包的關(guān)系 基于 ch 平臺(tái) c 語言程序設(shè)計(jì)的教學(xué)探討 2 Ch的以下主要功能是一般的 C語言編譯器所無法提供的。其次,一些應(yīng)用于工程和科學(xué)方面的語言 (如 MATLAB和 Mathematica)所具有的高級(jí)數(shù)值計(jì)算和圖形繪制特性也被 Ch擴(kuò)展到 C語言上。此外, Ch還可以無縫地嵌入到用 C或 C++語言編寫的編譯應(yīng)用程序中,使應(yīng)用程序可以用 C/C++腳本柔性編程,極大地?cái)U(kuò)展了應(yīng)用程序的功能。在目前制造的所有微處理器中,只有不到 5%的處理器用于新的個(gè)人電腦和工作站中,剩余的則用于工業(yè)機(jī)器、醫(yī)療設(shè)備、交通燈控制器 和家用電器等的嵌入式系統(tǒng)中。 應(yīng)用現(xiàn)狀 C語言的廣泛應(yīng)用也擴(kuò)展了許多的開發(fā)平臺(tái),目前普遍運(yùn)用的主要有: Ch 、 Turbo C++ 、 Visual C++ 2021和微軟的 Visual C++。這對(duì) ch平臺(tái)在我國大規(guī)模普及起到了十分積極的意義。 ChIDE的特征和布局都是那些沒有任何編程經(jīng)驗(yàn)的初學(xué)者而設(shè)置的;其四: Ch的高級(jí)科學(xué)計(jì)算功能,調(diào)用高級(jí)函數(shù);其五:可視化的繪圖能力,圖形繪制對(duì)數(shù)值結(jié)果的可視化和 解釋是極為重要的。隨著計(jì)算機(jī)硬件越來越便宜,計(jì)算速度越來越快, Ch作為跨平臺(tái) C/C++解釋器,其在程序設(shè)計(jì)效率、柔性及成本 方面的優(yōu)勢已被越來越廣泛應(yīng)用,特別是在 C語言程序設(shè)計(jì)教學(xué)上。 在輔助初學(xué)者學(xué)習(xí)計(jì)算機(jī)編程方面, Ch有很多專門開發(fā)的警告和出錯(cuò)提示 信息,而不用如段故障和總線錯(cuò)誤之類含義模糊且令人費(fèi)解的出錯(cuò)提示信息。為簡易起見,下文關(guān)于 Ch shell的命令行敘述中只顯示提示符 ,而不列出完整路徑。因此,把 Ch當(dāng)作計(jì)算器使用也是相當(dāng)方便的。 圖 25 Ch shell示例 3 本例中的 int和 double雖然分別占 4和 8個(gè)字節(jié),但為了對(duì)齊,結(jié)構(gòu)體 s的 int和 double兩個(gè)字段共占 16個(gè)字節(jié),而不是 12個(gè)。比如,在交互式解釋執(zhí)行如圖 26所示的代碼: 圖 26 交互式解釋執(zhí)行代碼 在隨機(jī)數(shù)值生成函數(shù) rand()中種入時(shí)間值 srand (time(NULL))。 double d。函數(shù)文件名和函數(shù)定義是相同的。 圖 28 函數(shù) addition()用于命令外殼中 C/C++程序無需編譯即可直接進(jìn)行交互式執(zhí)行。 return c。 ChIDE允許用戶在 IDE中編輯、調(diào)試或運(yùn)行 C/C++程序, 其用戶界面支持包括中文在內(nèi)的 30多種語言。單擊錯(cuò)誤提示就可以直接跳轉(zhuǎn)到有錯(cuò)誤的那一行 。 另外,它具有自動(dòng)語法高亮顯示,可 幫助用戶發(fā)現(xiàn)程序的一些語法錯(cuò)誤。變量 a和 i以及表達(dá)式 2*g的值可以通過將相應(yīng)命令輸入右下角的調(diào)試窗格中獲取。 C99 為 C 語言添加了可變長數(shù)組和復(fù)數(shù),使得數(shù)值計(jì)算得到極大簡化。這些數(shù)值擴(kuò)展極大地簡化了工程和科學(xué)中復(fù)雜問題的編程。一維的計(jì)算數(shù)組作矢量處理,而二維數(shù)組則作為線性代數(shù)矩陣處理。如果程序中沒有包含頭文件 ,那么 標(biāo)識(shí)符 array就被作為變量名使用。 linsolve(x, a, b)。 } 基于 ch 平臺(tái) c 語言程序設(shè)計(jì)的教學(xué)探討 10 圖 213 用數(shù)值分析函數(shù) linsolve()求解線性方程組 輸出結(jié)果如圖 214 所示。通過高級(jí)數(shù)值分析函數(shù)庫,用戶只需調(diào)用一個(gè)函數(shù)就能解決諸如 LU分解、 QR分解、偽逆、奇異值分解、矩陣的特征值和特征向量、非線性方程、常微分方程等復(fù)雜數(shù)值分析問題。 Ch在 C/C++的框架下,為二維和三維圖形繪制提供了幾乎最簡捷的方案。三維繪圖與二維繪圖方法x = A*x = 基于 ch 平臺(tái) c 語言程序設(shè)計(jì)的教學(xué)探討 11 也是一樣的。 retval = sin(x)/x。 /* number of data points for (x, y) for plotting */ fplotxy(sinc, x0, xf, num, function sinc(x), x, sinc(x))。相比傳統(tǒng)平臺(tái)只需更少得多的代碼即