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

淺談調試技術在非計算機專業的C語言程序設計教學中的應用

2016-11-21 11:01:28王洋
教育教學論壇 2016年42期

王洋

摘要:“C語言程序設計”是一門非計算機專業大學生必修的專業基礎課,但在實際教學課堂中,對一些概念如變量的補碼、指針變量、函數的嵌套調用與遞歸調用,學生普遍反映概念抽象難以理解。針對這種問題,提出了一種基于Visual Studio 2013調試工具的教學方法。通過單步調試的“慢動作回放”,使學生能夠直觀地看到計算機底層所表示的內容。經過課堂實踐證明,這種方法實現起來簡單、方便,并且可以達到很好的教學效果。

關鍵詞:非計算機專業;C語言程序設計;調試工具;VS2013

中圖分類號:G642.0 ? ? 文獻標志碼:A ? ? 文章編號:1674-9324(2016)42-0177-02

一、引言

“C語言程序設計”課程對非計算機專業的理工科學生來說,是一門非常重要的基礎課程,但相比于其他程序設計語言,C語言初學起來十分困難。其主要原因是:(1)C語言數據類型和運算符多,表達式復雜;(2)初學者在學習過程中暫時不能使用機器思維。為了使學生學習好“C語言程序設計”這門課程,許多教育工作者對教學方法進行了深入的探索,積累了豐富的教學經驗[1-3]。盡管如此,如何使學生能更好地掌握C語言程序設計仍然值得教育工作者進一步探索。本文準備從調試的目的和任務入手,給出若干程序設計和調試的技巧,使學生更好地掌握C語言程序設計。

學習調試之前需要弄清楚兩個問題:為什么要調試?怎樣去調試?從英文單詞debug上可以看出,調試的本意是“解除程序中的錯誤(bug)”。為了能對程序進行查錯和改錯,就有必要對程序的局部進行專門的分析,觀察程序的運行過程。這樣做的另一個好處是輔助程序員對C語言語法進一步地理解。

二、Visual Studio 2013的調試工具在C語言程序設計教學中的使用

1.使用Memory和Watch探析簡單變量。

對于C語言中的如下程序段

int main() {int a = -1;float b = 100.625;return 0;}

通過F10單步跟蹤程序,在執行return語句之前,通過在watch窗口輸入&a獲得了變量a的地址,在本例中為:0x0046f890,得到圖1,其內容為十六進制的FF FF FF FF,它對應的十進制數為:-1,這樣可以使學生理解負數補碼的作用。

在watch窗口中輸入&b獲得了變量b的地址,在本例中為:0x0046f884,得到圖2,其內容為十六進制的42 C9 40 00,它對應的十進制數為100.625,這樣可以使學生對單精度浮點數的編碼格式有一個直觀的了解。

2.使用Memory和Watch理解字符串。字符串在C語言中是以字符數組形式存儲的,并以‘\0作為結束標志。對于如下代碼段:

char string[10] =”bbbbb”;

通過在Watch窗口獲得的string值為0x0031fe90,則得到字符串的首地址,在Memory中加以查看,結果如圖3。

在圖中,從0x0031fe90到0x0031fe96處四個字節的內容分別為0x62,0x62,0x62,0x62,0x62,0x62,十六進制的62對應十進制的98,而98為字符b的ASCII碼,0為\0的ASCII碼,通過該圖,學生可以直觀地看到字符在內存中是如何以ASCII碼形式存儲的,并且C語言字符串又是如何以‘\0為結束標志的。

3.使用Memory和Watch理解指針。指針和指針變量在C語言程序設計教學中屬于重點和難點。在教學中,學生經常容易混淆兩者的概念。指針代表變量的地址,指針變量用于存放地址。通過Memory查看內存情況,可以使學生對地址產生感性的認識,對內存分布情況有直觀的印象。對于如下的代碼:

char ch = ‘b,* p = NULL;p = &ch;

通過在內存中查看p的內容,可以看到它的值為,正好與ch的地址相同。除上述內容外,還可以使用同樣的方法對結構體和結構體成員,共用體和共用體成員之間的關系進行解析,使學生對構造類型在計算機內存中是如何分布的有一定直觀的了解。

4.使用Call Stack查看函數調用堆棧。函數的嵌套調用與遞歸調用在教學中屬于難點,學生對函數的調用順序經常感到迷惑,通過VS 2013的Call Stack圖形化工具,可以形象直觀地展示函數的調用過程。對于如下的代碼段:

#include

void funb() {printf("This is funb!\n");}

void funa() {funb();}

int main(){funa();return 0;}

Call Stack工具可以清晰地顯示出函數a與函數b的調用順序,通過逐語句的執行,學生對函數嵌套調用能產生直觀的印象。對于函數的遞歸調用,學生在學習漢諾塔程序時即使清除遞歸調用的概念,但對程序中函數的調用過程仍會產生疑惑,同理,遞歸調用也可以使用Call Stack工具進行演示,通過調用關系圖與代碼之間的對比分析,學生就可以對函數遞歸調用的調用順序有所了解。

三、結語

由于C語言程序設計設計課程中的有些概念比較抽象,比較底層,不易為非計算機專業的學生所理解。在使用VS 2013的調試工具后,可以將這部分內容在計算機內的實現方法直觀地展示給學生。本文提出了使用VS 2013調試工具進行C語言程序設計輔助教學的方法,并輔以若干實例論證此方法,并在實際教學過程中得到了證實。

參考文獻:

[1]張玉春,孫大元.C語言程序設計教程[M].北京:清華大學出版社,2013.

[2]孫大元,張玉春.C語言程序設計實驗指導與習題解析[M].北京:清華大學出版社,2013.

[3]謝紅霞,羅國明,吳紅梅.基于程序調試的C程序設計教學與實踐[J].信息技術,2011,(11):174-176.

Application of Debugging Technique in C Language Programming Teaching of Non-computer Major

WANG Yang

(Jilin University Public computer teaching and research center,Changchun,Jilin ?130012,China)

Abstract:"C programming language" is a required professional course for non-computer major college student,but in the actual teaching in the classroom,some concepts such as variables complement,pointer variables,function of nested calls and recursive calls,Students generally reflect the concept is too abstract to understand.For this problem,This paper proposes a teaching method based on Visual Studio 2013 debugging tools.By step through the slow-motion replay,it makes students able to visually see the content of underlying computer.Through classroom practice proof,this method is simple,convenient and can achieve good teaching effect.

Key words:non-computer major;C programming language;debugging technique;VS2013

主站蜘蛛池模板: 久久久久人妻一区精品| 精品自窥自偷在线看| 免费一极毛片| 欧美成人国产| 国产乱码精品一区二区三区中文 | 无码又爽又刺激的高潮视频| 中文国产成人精品久久一| 久久精品无码一区二区日韩免费| 免费在线国产一区二区三区精品 | 国产一区二区三区精品久久呦| 亚洲最大综合网| 亚洲人成日本在线观看| 四虎影视库国产精品一区| 日本免费一级视频| 国产精品欧美日本韩免费一区二区三区不卡| 国产综合另类小说色区色噜噜| 久久国产av麻豆| 成人福利在线免费观看| 一本一道波多野结衣av黑人在线| 色播五月婷婷| 亚洲有码在线播放| 国产精品冒白浆免费视频| 凹凸国产分类在线观看| 亚洲天堂精品在线观看| 91日本在线观看亚洲精品| 91精品啪在线观看国产91九色| 亚洲天堂日本| 久久激情影院| 国产精品专区第一页在线观看| 国产永久免费视频m3u8| www.youjizz.com久久| 中文字幕日韩久久综合影院| 免费观看三级毛片| 中文毛片无遮挡播放免费| 欧美黄网在线| 色九九视频| 日韩无码黄色| 原味小视频在线www国产| 99福利视频导航| 亚洲男女在线| 久久这里只有精品国产99| 九色视频线上播放| 日韩精品毛片| 任我操在线视频| 99re在线观看视频| 国产乱人乱偷精品视频a人人澡| 婷婷综合在线观看丁香| 亚洲欧美成人在线视频| 亚洲aaa视频| 色哟哟精品无码网站在线播放视频| 免费可以看的无遮挡av无码| 亚洲精品国产精品乱码不卞 | 国产一区二区在线视频观看| 国产在线视频欧美亚综合| 一级毛片免费播放视频| 日本一本正道综合久久dvd| 国产中文一区a级毛片视频 | 亚洲人成网线在线播放va| 国产va视频| 91亚洲精选| 亚洲精品天堂自在久久77| 国产真实乱人视频| 亚洲人成色在线观看| 91娇喘视频| 四虎在线观看视频高清无码| 色综合综合网| 日韩精品久久无码中文字幕色欲| 91热爆在线| 四虎影视库国产精品一区| 99精品国产电影| 伊人色综合久久天天| 毛片国产精品完整版| 午夜毛片免费观看视频 | 国产精品成人啪精品视频| 欧美综合中文字幕久久| 欧美日韩国产精品综合| 最新无码专区超级碰碰碰| 日本一区高清| 波多野结衣一区二区三区88| 久久黄色视频影| 美女一级免费毛片| 国产精品页|