999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于數(shù)據(jù)類型結(jié)構(gòu)觀點的C語言中賦值運算教學方法

2018-04-08 07:36:32馬吉權(quán)金英郭興凱
黑龍江教育·理論與實踐 2018年2期
關(guān)鍵詞:結(jié)構(gòu)

馬吉權(quán) 金英 郭興凱

摘要:C語言一直是高校信息技術(shù)專業(yè)最重要的課程之一。C語言教學方法的探討一直以來也是教研領域中的一個熱點。針對C語言中賦值運算學生理解、運用能力相對偏弱的問題,本文引入了基于數(shù)據(jù)類型結(jié)構(gòu)的C語言賦值運算的教學觀點,強調(diào)計算機底層的處理機制的分析。在此基礎上,利用數(shù)據(jù)類型的一級結(jié)構(gòu)化處理,實現(xiàn)了二級數(shù)據(jù)類型結(jié)構(gòu)的直接賦值。

關(guān)鍵詞:C語言;數(shù)據(jù)類型;結(jié)構(gòu)

1 引言

C是軟件開發(fā)中最流行的語言之一。相比于Java,C語言在嵌入式軟件、系統(tǒng)軟件、對實時性要求較高的軟件開發(fā)中,具有明顯的優(yōu)勢。計算機科學與技術(shù)專業(yè)、軟件工程專業(yè)、物聯(lián)網(wǎng)工程專業(yè)等信息技術(shù)相關(guān)專業(yè)中,C語言通常都是基礎專業(yè)必修課。C語言對構(gòu)建學生的計算思維能力、培養(yǎng)學生的軟件設計與開發(fā)能力至關(guān)重要。作為第一門程序設計語言類課程,C語言對后續(xù)專業(yè)課的學習影響很大。如何講好C語言是每一位任課教師必須認真思考的問題。

C語言的語法規(guī)則嚴謹、運算豐富。常見的運算符包括算數(shù)運算符、關(guān)系運算符、邏輯運算符、賦值運算符等。C語言對參與運算的變量和操作數(shù)的要求是非常嚴格的,如果不能很好地理解每種運算符的運算機制,則容易在程序開發(fā)過程中發(fā)生錯誤,有些錯誤在編譯階段還無法發(fā)現(xiàn),會造成嚴重的隱患。其中,賦值運算是C語言中使用最多的運算符,共分3大類11種:簡單賦值運算符(=),復合算數(shù)賦值運算符(+=,-=,*=,/=,%=),復合位運算賦值運算符(&=,|=,^=,>>=,<<=)。這些賦值運算均已簡單賦值運算為基礎。

C語言中賦值運算看似簡單,但是當它與復雜的數(shù)據(jù)類型遇到一起的時候,也會對學習造成一定的困擾。哪些數(shù)據(jù)類型允許賦值,哪些數(shù)據(jù)類型不允許直接賦值是C語言學習中的一個難點。很多的教材里面對賦值的問題也進行了一些討論,但是更多的是讓學生記住一些賦值的規(guī)則,并沒有給出更加深入的解釋,所以造成學生對這部分知識掌握的并不扎實,經(jīng)常在做題和實際程序開發(fā)過程中發(fā)生錯誤。

本文探討基于結(jié)構(gòu)觀點的C語言賦值運算的教學方法,試圖講清楚為什么賦值運算在某些復雜數(shù)據(jù)類型(如數(shù)組)中無法直接使用,而在另外一些復雜數(shù)據(jù)類型(如結(jié)構(gòu)體)又可以直接使用的原因。讓學生更好地理解賦值運算計算機的分析和處理過程,從而進一步加深學生對賦值運算的理解。

2 賦值運算的本質(zhì)

為了深入理解賦值運算,首先分析一下賦值運算在計算機內(nèi)部完成的實際操作是什么樣的。賦值運算是針對變量而言的,而變量實質(zhì)上是操作系統(tǒng)分配給用戶使用的一塊指定的內(nèi)存空間。變量類型代表了分配的內(nèi)存空間的大小以及使用規(guī)則,變量名代表了該變量所分配的內(nèi)存空間,利用取地址運算符&可以獲得具體的變量在內(nèi)存中的分配空間的第一個字節(jié)的址值。變量的賦值,就是將賦值運算 = 右側(cè)表達表達式的結(jié)果存入指定的內(nèi)存空間中。如果兩側(cè)的數(shù)據(jù)類型一致,則將結(jié)果直接寫入內(nèi)存即可;如果類型不一致,則編譯器會按照預先制定的轉(zhuǎn)換規(guī)則首先將結(jié)果處理成滿足變量類型的要求,然后在存入指定的內(nèi)存空間。

這里,不難發(fā)現(xiàn):無論是相同數(shù)據(jù)類型變量賦值,還是可兼容的不同類型的變量賦值,賦值的基礎都是變量的類型,可以說賦值是以類型為基本單位進行的。

3 C語言數(shù)據(jù)類型的結(jié)構(gòu)觀點

通過以上的分析,不難發(fā)現(xiàn),賦值運算與數(shù)據(jù)類型是密切相關(guān)的。那么我們就先來總結(jié)一下C語言中的數(shù)據(jù)類型:

C語言中一共包含6種基本的數(shù)據(jù)類型,4種構(gòu)造數(shù)據(jù)類型,指針數(shù)據(jù)類型和空類型,共計12種數(shù)據(jù)類型。在所有的這些數(shù)據(jù)類型中,除數(shù)組和枚舉類型外,其余的所有數(shù)據(jù)類型編譯器給分配的存儲空間都是確定大小的唯獨數(shù)組的空間大小是不確定的。這里的不確定不是對用戶而言的,而是指作為系統(tǒng)無法知道一個數(shù)組到底占用多大的內(nèi)存空間。

這里,我們不妨賦予數(shù)據(jù)類型一種結(jié)構(gòu)的概念,即具有一級結(jié)構(gòu)的數(shù)據(jù)類型和具有二級結(jié)構(gòu)的數(shù)據(jù)類型。所謂具有一級結(jié)構(gòu)的數(shù)據(jù)類型是指系統(tǒng)能夠根據(jù)其數(shù)據(jù)類型計算得到實際需要的內(nèi)存空間;所謂具有二級結(jié)構(gòu)的數(shù)據(jù)類型是指該數(shù)據(jù)類型是在編譯器已知的數(shù)據(jù)類型的基礎之上建立的復合數(shù)據(jù)類型,如基本數(shù)據(jù)類型數(shù)組、結(jié)構(gòu)體數(shù)組,指針數(shù)組等。通過以上數(shù)據(jù)類型的結(jié)構(gòu)定義,不難發(fā)現(xiàn),數(shù)據(jù)類型的結(jié)構(gòu)觀點還是與系統(tǒng)密切相關(guān)的,其本質(zhì)還是反應了系統(tǒng)對數(shù)據(jù)類型的處理機制。雖然數(shù)組與結(jié)構(gòu)體、共用體和枚舉類型都屬于C語言中的構(gòu)造數(shù)據(jù)類型,但是結(jié)構(gòu)體和共用體為具有一級結(jié)構(gòu)的數(shù)據(jù)類型,而數(shù)組和枚舉類型為具有二級結(jié)構(gòu)的數(shù)據(jù)類型。

4 C語言中賦值運算的教學方法

一般在C語言賦值運算的時候,教師總是將更多的精力放在介紹賦值運算操作本身,而對數(shù)據(jù)類型對賦值運算的影響介紹的相對較少,所以造成學生早后期的學習中經(jīng)常犯如下的錯誤:

上面的代碼在邏輯上似乎是很合理的,但是如果用數(shù)據(jù)類型的結(jié)構(gòu)觀點來進行分析的話,就可以發(fā)現(xiàn):數(shù)組a[5]系統(tǒng)并不知道它占用了多大的內(nèi)存空間;與此同時,對于數(shù)組b[5],系統(tǒng)也不清楚它占用多大的內(nèi)存空間,所以這樣的賦值是無法實現(xiàn)的。當然,也可以進一步解釋,a與b所保存的均為數(shù)組a[5]和數(shù)組b[5]的首地址,而這個地址是個常量值,是不允許修改的。

對于結(jié)構(gòu)體數(shù)據(jù)類型,學生往往會因為認為數(shù)組無法直接賦值,而結(jié)構(gòu)體比數(shù)組的結(jié)構(gòu)更復雜,所以也無法直接賦值。

這里,教師可以根據(jù)數(shù)據(jù)類型的結(jié)構(gòu)觀點,進一步給出解釋:在定義a、b兩個結(jié)構(gòu)體變量的時候,系統(tǒng)給a、b分配了確定大小的一樣的內(nèi)存空間,而且根據(jù)結(jié)構(gòu)體的定義可知,兩個變量內(nèi)存單元的使用規(guī)則是一樣的,所以可以直接賦值。

接下來,還可以給學生提出一個這樣的問題:如果數(shù)組想要直接賦值,有什么辦法嗎?這樣去引起學生對數(shù)據(jù)類型,內(nèi)存管理,賦值運算等等進一步的思考,并積極地鼓勵學生大膽地到計算機上嘗試。再講解了利用循環(huán)的方式(包括函數(shù)實現(xiàn))進行兩個數(shù)組之間的賦值之后,可以給出如下的示例:

5 結(jié)論

C語言的賦值運算非常靈活,學生一般掌握得不夠深入。本文通過引入數(shù)據(jù)類型的結(jié)構(gòu)觀點,將數(shù)據(jù)類型劃分為一級結(jié)構(gòu)和二級結(jié)構(gòu),使學生深刻理解賦值運算的基礎條件和處理機制。以此為基礎,利用這種數(shù)據(jù)類型結(jié)構(gòu)觀點還可以實現(xiàn)程序的優(yōu)化。本文也說明在實際的教學過程中,教師需要對課本知識進一步升華和總結(jié),才能讓學生更好的理解、運用。

參考文獻:

[1] 陳浩. C語言教學方法探討[J]. 電腦知識與技術(shù), 2015, 11: 58-59.

[2] 王軍英, 馬紅梅. C語言程序設計教學存在的問題與對策[J]. 教育理論與實踐, 2015.

[3] 黃智勇, 陳建軍, 張麗麗. C語言教學的思考及教學優(yōu)化[J]. 當代教育實踐與教學研究:電子刊, 2016.

[4] 梁科輝, 范華. C語言中數(shù)據(jù)類型轉(zhuǎn)換及其應用探究[J]. 山東廣播電視大學學報, 2016: 87-88.

[5] 田原. C語言運算符的結(jié)合性等3個語法問題探究[J]. 荊楚理工學院學報, 2016, 31: 91-95.

編輯/岳鳳

猜你喜歡
結(jié)構(gòu)
DNA結(jié)構(gòu)的發(fā)現(xiàn)
《形而上學》△卷的結(jié)構(gòu)和位置
哲學評論(2021年2期)2021-08-22 01:53:34
論結(jié)構(gòu)
中華詩詞(2019年7期)2019-11-25 01:43:04
新型平衡塊結(jié)構(gòu)的應用
模具制造(2019年3期)2019-06-06 02:10:54
循環(huán)結(jié)構(gòu)謹防“死循環(huán)”
論《日出》的結(jié)構(gòu)
縱向結(jié)構(gòu)
縱向結(jié)構(gòu)
我國社會結(jié)構(gòu)的重建
人間(2015年21期)2015-03-11 15:23:21
創(chuàng)新治理結(jié)構(gòu)促進中小企業(yè)持續(xù)成長
主站蜘蛛池模板: 成人亚洲国产| 澳门av无码| 成人精品视频一区二区在线| 伊人久久精品无码麻豆精品 | 亚洲欧美综合另类图片小说区| 欧美中日韩在线| 免费观看成人久久网免费观看| 高清无码不卡视频| 国产国产人免费视频成18| 在线观看91精品国产剧情免费| 国产精品永久在线| 欧美特黄一级大黄录像| 色视频国产| 伊人久综合| 国产欧美日本在线观看| 女人18一级毛片免费观看| 色妞www精品视频一级下载| 国产剧情一区二区| 视频二区亚洲精品| 国产在线观看一区二区三区| 99视频全部免费| 欧美在线观看不卡| 亚洲爱婷婷色69堂| 婷婷六月天激情| 亚洲高清免费在线观看| 欧美成一级| 国产精品欧美日本韩免费一区二区三区不卡| 国产哺乳奶水91在线播放| 四虎永久免费地址在线网站| 国产精品第一区在线观看| 国产精品自在自线免费观看| 中文字幕久久波多野结衣| 91国内外精品自在线播放| 人禽伦免费交视频网页播放| 国产精品性| 无码中文字幕乱码免费2| 看看一级毛片| 一级毛片在线免费视频| av尤物免费在线观看| 亚洲国产一成久久精品国产成人综合| 久久大香香蕉国产免费网站| 99九九成人免费视频精品| 国产精品毛片在线直播完整版| 国产精品林美惠子在线观看| 亚洲AV无码乱码在线观看代蜜桃| 亚洲国产精品无码久久一线| 亚洲Aⅴ无码专区在线观看q| 91成人免费观看在线观看| 国产成人区在线观看视频| 99热这里只有免费国产精品| 日韩欧美一区在线观看| 成人小视频网| 18黑白丝水手服自慰喷水网站| 国产一级妓女av网站| 精品一區二區久久久久久久網站| 97se亚洲综合在线天天| 欧美激情成人网| 在线精品视频成人网| 大陆精大陆国产国语精品1024| 久久精品无码国产一区二区三区| 国产幂在线无码精品| 亚洲最大看欧美片网站地址| 久草视频福利在线观看| 成人在线观看不卡| 国产欧美网站| 国产色伊人| 在线看AV天堂| 国产99精品久久| 亚洲AⅤ无码国产精品| 国产一区二区三区精品欧美日韩| 亚洲精品波多野结衣| 精品三级网站| h视频在线播放| 日韩高清中文字幕| 亚洲天堂.com| 伊人国产无码高清视频| 久久a级片| 色偷偷一区二区三区| 91无码人妻精品一区| 国产手机在线观看| 精品国产免费观看一区| 91视频99|