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

主站蜘蛛池模板: 71pao成人国产永久免费视频| 成人韩免费网站| 欧美日韩激情在线| 中文字幕在线欧美| 99久久无色码中文字幕| 91在线无码精品秘九色APP| 激情无码字幕综合| 欧美综合一区二区三区| 亚洲va在线∨a天堂va欧美va| 91小视频在线观看免费版高清| 噜噜噜久久| 男女性色大片免费网站| 成人在线观看一区| 国产国语一级毛片在线视频| 一级一级特黄女人精品毛片| 亚洲水蜜桃久久综合网站| 欧美一级在线看| 国产18在线播放| 色爽网免费视频| 国产网站一区二区三区| 国产精品自在线天天看片| 精品成人免费自拍视频| 欧美第一页在线| 成人免费网站在线观看| 亚洲一区二区三区国产精华液| av手机版在线播放| 最新国产成人剧情在线播放 | 精品无码一区二区在线观看| 97在线碰| 黄网站欧美内射| 国产麻豆另类AV| 久草网视频在线| 天天色综网| 亚洲第一福利视频导航| 四虎国产永久在线观看| 男女精品视频| 久久一本日韩精品中文字幕屁孩| 国产欧美日韩综合在线第一| 国产成人乱无码视频| 欧美在线观看不卡| 欧美在线一级片| 亚洲视频免费播放| 97色婷婷成人综合在线观看| 激情综合网址| 韩日无码在线不卡| 97超爽成人免费视频在线播放 | 精品久久人人爽人人玩人人妻| 免费人成又黄又爽的视频网站| 国产又大又粗又猛又爽的视频| 国产在线视频欧美亚综合| 欧美国产日产一区二区| 日本少妇又色又爽又高潮| 欧美国产在线看| 又爽又黄又无遮挡网站| 欧美精品导航| 日韩在线观看网站| 久久网欧美| 国产精品亚洲五月天高清| 日韩无码黄色| 成人福利在线观看| 久久青青草原亚洲av无码| 一区二区影院| 国产白浆在线观看| 欧美成人午夜视频| 人妻丰满熟妇AV无码区| 中文无码精品a∨在线观看| 无码精油按摩潮喷在线播放| 国产偷国产偷在线高清| 欧美午夜视频在线| 看av免费毛片手机播放| 久久大香香蕉国产免费网站| 亚洲欧美另类专区| 亚洲人成人无码www| 免费人成视网站在线不卡| jizz国产视频| 国产丰满成熟女性性满足视频| 99色亚洲国产精品11p| 免费播放毛片| 久久国产精品77777| 91av成人日本不卡三区| 欧美69视频在线| 亚洲精品国产自在现线最新|