第一篇:高級程序設計教學大綱
華中科技大學文華學院 《高級程序設計》課程教學大綱
一、課程名稱:高級程序設計 Senior Program Design
二、課程編碼:
三、學時與學分:32/2
四、先修課程:C語言程序設計
五、課程性質:必修
六、課程教學目標及要求 高級程序設計是計算機相關類本科生的一門專業必修課,是在程序設計基礎(C 語言)后的一門重要的后續課程,它是為學生掌握當前最基本的程序設計方法而設置的。高級程序設計對降低軟件的復雜性,改善其重用性和可維護性,提高軟件的生產率,有著十分重要的意義。通過本課程的學習,使學生理解面向對象程序設計思想,掌握面向對象程序設計的基本概念和技術。由于程序設計思想、概念和技術離開了具體的實現語言會顯得太抽象,本課程選擇 C++ 作為面向對象程序設計的實現語言。
通過本課程的學習,學生對面向對象的程序設計思想、概念和技術有較好的理解。通過面向對象思維的訓練,使學生逐漸掌握現代編程能力,為今后的軟件開發和各種信息處理打下良好的基礎。
七、適用學科專業
計算機相關專業
八、基本教學內容與學時安排
第一章 面向對象程序設計基本概念(2學時)
【內容】
面向對象程序的主要結構特點、對象與類、對象的狀態、對象的交互、數據的抽象和分裝、繼承與封裝、多態與重載的基本概念。
【基本要求】
要求能用 C++ 語言編寫結構和類、并實現類的抽象與封裝,分清類與對象的
不同,并初步掌握多態與重載。
【重點與難點】
重點:類、封裝、繼承、多態的概念;
難點:多態與重載。
第二章 C++ 面向對象技術特點和概述(4學時)
【內容】
I/O 流、變量說明與作用域、函數聲明與參數傳遞、結構、聯合與類的比較、const 修飾符、inline 關鍵字、函數重載、作用域運算符、類型轉換、new 和 delete、指針和應用。
【基本要求】
要求能用 C++ 語言編寫含有 I/O 流輸入輸出的程序 , 理解 inline 關鍵字的作用,能用 new 和 delete 實現對象的內存管理,掌握和理解 this 指針。
【重點與難點】
重點:內存管理;
難點:this指針。
第三章 類和對象的基本概念(2學時)
【內容】
結構與類、類的聲明、私有成員和公有成員、成員函數和數據成員的定義、對象的定義及引用、構造函數與析構函數、帶缺省參數的構造函數、構造函數重載、拷貝構造函數、對象數組和對象指針、向函數傳遞對象、靜態成員、友員成員、類對象成員。
【基本要求】
要求能用 C++ 語言編寫程序,進一步掌握私有成員和公有成員的概念,定義成員函數和數據成員,掌握對象的定義和引用,自定義和重載構造和析構函數,靈活運用靜態成員、友員成員、類對象成員和正確使用對象數組和對象指針。
【重點與難點】
重點:構造函數、析構函數;
難點:友元、對象數組和指針。
第四章 派生類與繼承(2學時)
【內容】
繼承、派生類聲明、公有派生和私有派生、保護成員、派生類的構造與析構、多重繼承、多重繼承的構造與析構、多重繼承的二義性和虛基類。
【基本要求】
要求能用 C++ 語言編寫結構和類、并實現類的抽象與封裝,分清類與對象的不同,并初步掌握多態與重載。
【重點與難點】
重點:多重繼承;
難點:虛基類。
第五章 多態性(2學時)
【內容】
編譯時的多態性和運行時的多態性、函數重載、運算符重載(成員和友員、單目和雙目)、++ 和 — 的重載(++ 在前和在后)、+ 和-的重載、= 和 []()重載、類型轉換、虛函數、純虛函數和抽象類。
【基本要求】
要求能用 C++ 語言編寫程序,著重掌握運算符的重載,正確使用成員函數重載和友員函數重載,掌握類型轉換、虛函數和抽象類。
【重點與難點】
重點:運算符的重載,虛函數;
難點:抽象類。
第六章 面向對象程序設計基本概念(2學時)
【內容】
面向對象程序的主要結構特點、對象與類、對象的狀態、對象的交互、數據的抽象和分裝、繼承與封裝、多態與重載的基本概念。
【基本要求】
要求能用 C++ 語言編寫程序并掌握函數模板和類模板的使用。【重點與難點】
重點:類、封裝、繼承、多態的概念;
難點:多態與重載。
第七章 模板(2學時)
【內容】
函數模板與模板函數、函數模板的異常處理、類模板與模板類。
【基本要求】
要求能用 C++ 語言編寫程序并掌握函數模板和類模板的使用。【重點與難點】
重點:函數模板;
難點:類模板。
第八章C++ 的輸入輸出流(2學時)
【內容】
C++ 流、流類庫、輸入輸出格式控制、文件輸入輸出、輸入輸出流運算符 << 和 >> 的重載。
【基本要求】
要求理解 C++ 的流技術,能使用 Cin、Cout 實現 C++ 語言的輸入輸出(包括文件),掌握 << 和 >> 運算符的重載。
【重點與難點】
重點:輸入輸出方式;
難點:運算符重載
第九章 可視化的面向對象編程技術(2學時)
【內容】
可視化編程基本概念、屬性方法和事件、可視類和非可視類、容器類和非容器類、控件 / 類和對象、控件和類的封裝、自定義控件、控件的繼承和重載、軟件重用概念。
【基本要求】
要求初步掌握可視化編程的基本概念,理解可視化技術是面向對象編程技術發展的結果,進一步掌握面向對象技術的特點和概念。
【重點與難點】
重點:可視化編程概念;
難點:控件的掌握。
九、使用教材與參考資料
教 材:《C++面向對象程序設計》 譚浩強,清華大學出版社,2006 1版
十、課程考試
考核方式:筆試(閉卷)
評分方式:平時成績占30%,考試占70%
修訂人:呂植成 審定人:
年 月 日
第二篇:高級程序設計-教學大綱
高級程序設計
Advanced Programming Languages
課程編碼:05305100 學分:2.5 課程類別:專業方向課(必修)計劃學時:48 其中講課:32 實驗或實踐:0 上機:16 適用專業:電子商務
推薦教材:王路群《JAVA高級程序設計》,中國水利水電出版社,2006年。
參考書目:陳靜,楊青,鄭世玨,《高級語言程序設計與應用教程》,清華大學出版社,2006年。
王浩,《高級語言程序設計》,武漢理工大學出版社,2006年。
課程的教學目的與任務
通過本課程的講授,使學生在已有JAVA基礎上,進一步深入的學習,為今后從事信息系統開發與研究奠定程序基礎。該課程圍繞著JAVA開發的整個過程,系統地講解JAVA基礎知識基礎上,對更難的部分進行學習,如AWT編程、Swing編程、JAVA中流傳輸的語法、技巧和應用,并對數據庫訪問進行講述,對網絡編程等高層次的程序進行了深入研究,涉及很多J2EE方面的知識。其目的是擴大學生的程序學習及寫作技巧,以提高未來應對不同類型信息系統開發的能力。
課程的基本要求
1、JAVA語言的基本特點及基本語法。
2、異常處理基本原則。
3、AWT和Swing、Applet應用。
4、多線程機制、流傳輸、數據庫訪問
5、網絡編程。
6、JAVA中API的介紹,JAVABEAN的簡單使用。
各章節授課內容、教學方法及學時分配建議(含課內實驗)
第一章 JAVA基礎知識回顧 建議學時:2 [教學目的與要求]
回顧JAVA的基本寫法,完成程序要求。[教學重點與難點] 如何寫一個完整的、標準的程序。
[授 課 方 法] 以課堂講授為主,課堂討論和課下自我調試為輔。[授 課 內 容] 第一節 JAVA語言基礎
一、JAVA語言特點、開發平臺、兩種程序類型
二、標識符、關鍵字、常量與變量、數組 第二節 運算符、表達式
一、運算符、表達式
二、流程控制語句
三、隨機數產生、數的處理(例1:水仙花數;例2:隨機數產生并排序)第三節 類、對象、接口
第二章 異常 建議學時:4 [教學目的與要求] 異常處理方法。
[教學重點與難點] try…catch,throws與finally使用。[授 課 方 法]
以課堂講授為主,課堂討論和課下自學為輔。[授 課 內 容] 第一節 什么是異常
一、異常處理基礎
二、JAVA異常處理機理 第二節 異常常用方法
一、JAVA內置異常
二、聊天室的異常處理
第三章 用戶界面GUI 建議學時:6 [教學目的與要求] AWT組件、常用組件使用方法、JAVA2D、JAVA3D [教學重點與難點] Graphics類、布局設計、Component組件。[授 課 方 法]
以課堂講授為主,課堂討論和課下自學為輔。[授 課 內 容] 第一節 AWT組件工具集 第二節 GUI組件上的圖形操作
一、Graphics類
二、組件重繪
三、繪制基本圖形
四、建立字體
第三節 常用的AWT組件
一、文本框和文本區
二、畫板和畫布
三、Component類使用方法 第四節 Dialog類
第四章 Swing 建議學時:8 [教學目的與要求] Swing使用、框架、圖標標簽。
[教學重點與難點] 各種組件使用、JButton、JCheckBox、JRadioButton等等。[授 課 方 法]
以課堂講授為主,課堂討論和課下自學為輔。[授 課 內 容] 第一節 從AWT到Swing
一、Swing框架
二、Jframe、JDialog、JApplet 第二節 圖標與標簽 第三節 各種組件
一、Jbutton
二、JcheckBox
三、Jtextfield、Jmenu、JtoolBar
四、Jtree 第五章 I/O輸入輸出流 建議學時:8 [教學目的與要求] I/O輸入輸出流。
[教學重點與難點] 流的概念、字節流、字符流、預定義流、File類。[授 課 方 法]
以課堂講授為主,課堂討論和課下自學為輔。[授 課 內 容] 第一節 流的概念
第二節 字節流、字符流、預定義流
一、字節流
二、字符流
三、預定義流 第三節 File類
一、InputStream和outStream
二、FileInputStream和FileOutStream
三、Reader和Writer
四、RangdomAccessFile 第六章 JAVA數據庫連接 [教學目的與要求] JDBC原理、配置、程序。[教學重點與難點] 配置、數據存儲、讀取。
[授 課 方 法]
以課堂講授為主,課堂討論和課下自學為輔。[授 課 內 容] 第一節 JDBC原理
一、JDBC概述
二、JDBC體系結構
三、JDBC連接步驟 第二節 JDBC編程
一、配置數據庫
二、查詢
三、更新、添加、刪除
第七章 JAVA網絡編程 [教學目的與要求] 網絡編程基礎知識、JAVA提供的網絡類與接口。[教學重點與難點] JAVA套接字、網絡類、接口。
[授 課 方 法]
以課堂講授為主,課堂討論和課下自學為輔。[授 課 內 容]
建議學時:8
建議學時:6 第一節 網絡編程基礎
一、URL
二、Internet編址與端口號
三、客戶/服務器模式
四、代理服務器
五、Tcp/IP和Udp協議 第二節 JAVA和網絡
一、網絡類與接口
二、InetAddress類
三、URL類
四、URLConnection類 第三節 JAVA編寫TCP網絡程序
一、套接字概述
二、客戶套接字
三、服務器套接字
第八章 JAVA API 建議學時:6 [教學目的與要求] 掌握API常用的數學的方法,JAVA.Lang包中的系統類。[教學重點與難點] JAVA.Util中的實用工具集。
[授 課 方 法]
以課堂講授為主,課堂討論和課下自學為輔。[授 課 內 容] 第一節 理解API概念 第二節 數據類型類
一、java.Lang包
二、Number及其子類 第三節 字符串處理
一、java.lang.String
二、java.lang.StringBuffer 第四節 java.lang 包 第五節 java.util包
撰稿人:馬金柱 審核人:徐偉
第三篇:高級語言程序設計-教學大綱
《高級語言程序設計》教學大綱(Visual FoxPro)
課程編號:030202 總學時:54學時(含上機24學時)
適用專業:全院管理類所有本、專科專業
一、教 學 內 容
1、數據庫基本知識 ①數據庫的特點; ②數據庫系統分代; ③數據庫系統的分類;
④Visual FoxPro文件的主要技術指標; ○5 Visual FoxPro的界面和工作方式
2、數據庫的基本操作
①數據庫文件的建立,CREATE、APPEND、LIST、DISPLAY;
② Visual FoxPro的命令工資方式,菜單和命令方式、表達式、數組和常用函數;
③修改數據庫文件。MODIFY STRUCTURE、INSERET、DELETE、RECALL、PACK、EDIT、CHANGE、BROWSE、REPLACE、SCATTER、GATHER;
④復制數據庫文件。COPY STRUCTURE、COPY TO、數據庫的結構文件、成批記錄的復制; ⑤磁盤文件的基本操作。COPY FILE、RENAME FILE、DELETE FILE、DIR、TYPE FILE;
3、查詢和統計
①排序和索引sort、index;
②查詢命令locate、find、seek、continue、skip;
③數據工作期、視圖文件、表的關聯、多工作區查詢、庫文件的關聯; ④SELECT-SQL查詢。
○5統計命令COUNT、SUM、AVERAGE、CALCULATE、TOTAL;
4、程序設計初步
①程序文件。程序文件的建立和執行MODIFY COMMAND<命令文件>、DO <命令文件>和菜單方式執行、狀態命令設置、INPUT、ACCEPT、WAIT、?、??、; ②程序控制命令。程序設計的三種結構順序、分支、循環;
③多模塊化程序設計。基本概念、子程序、函數、過程、全程變量和局部變量;
5、窗口設計
①窗口操作命令。窗口的定義與修改DEFINE WINDOW、ACTIVATE WINDOW、MODIFYWINDOW、HIDE WINDOWS、SHOW WINDOW、DEACTIVATE WINDOWRELEASE WINDOW、CLEAR WINDOW、CLEAR ALL;
②窗口著色。顏色對與顏色模式、SET COLOR TO、COLOR SCHEME、SET COLOROFSCHEME; ③BROWSE窗口設計。定義BROWSE窗口、定義功能鍵。
6、菜單設計
①下拉式菜單設計 ②彈出式選單設計
7、表單設計基礎 ① 表單向導 ② 表單設計器
③面向對象的程序設計方法(基本概念、對象的引用)
8、表單控件設計
① 輸出類控件(標簽、圖象、線條、形狀)
② 輸入類控件(文本框、編輯框、列表框與組合框、微調控件)③ 控制類控件(美麗按鈕與美麗按鈕組)④ 容器類控件(表格、頁框、容器)
⑤ 連接類控件(ActiveX控件、ActiveX綁定控件)
9、表單高級設計
①多表單應用程序(應用程序界面、表單集)
②用戶定義屬性與方法程序(用戶定義屬性、用戶定義方法程序)③類(基本概念、用戶定義類)④表單/表單集設計實例
10、報表設計
①打印基礎。打印準備、打印方法、打印命令 ②傳統的打印設計
③報表設計器的基本操作(打開標本設計器窗口、快速制表、標本打印)④報表設計器的高級操作,了解
9、系統開發實例(對本科做基本的講解)①開發的基本步驟
○2以具體的實例進行講解
二、《高級語言程序設計(Visual FoxPro語言)》大綱說明
1、教學目的與任務
在當今時代,計算機已經在世界范圍內得到廣泛的推廣和應用。其中信息管理和數據處理已成為計算機應用的主流領域,而數據庫技術是這個領域的核心之一。
Visual FoxPro系統是一個優秀的多用戶關系數據庫管理系統。本課程詳細地講解了Visual FoxPro的各種命令、函數的功能,以及Visual FoxPro程序設計的方法,培養學生能靈活地應用Visual FoxPro 語言設計程序、進行維護管理,充分發揮計算機在信息管理和數據處理方面的優越性。
《高級語言程序設計(Visual FoxPro語言)》是面向全院所有專業本、專科生的計算機高級語言程序,它側重于數據庫的基本概念、數據庫的基本操作、簡單的程序設計、菜單程序設計、窗口菜單設計以及必須掌握的表單設計和簡單的菜單生成程序設計。側重于計算機對數據的基本處理、表單的數據輸出,使學生具備一定的計算機高級語言程序設計的能力,為學生利用計算機解決問題(特別是專業中的問題)準備必要的知識;本大綱重點基于數據庫的基本操作和簡單的程序設計,為學生學習相應的語言打下一定的基礎。
2、本課程與其他課程的關系
學習本課程,需要有一定的計算機基本操作技能,對計算機有一定的了解和使用。它是學 要求學生掌握計算機高級語言以及對計算機對數據處理方式和方法的掌握。為學習今后學習計算機解決問題和高年級學習專業課打下堅實的基礎。
3、教學基本要求
具有使用計算機高級語言解決基本問題的能力,掌握計算機對數據處理的方法和掌握計算機對數據處理的基本操作技能。要求學生學習了本課程后,能編制簡單的程序解決數據處理的問題,掌握程序設計的基本方法。
了解數據庫的基本原理和數據庫與數據庫管理系統的關系,了解Visual FoxPro的基本性能指標,掌握數據庫的基本使用方法。
掌握數據庫的基本統計和數據庫記錄的查詢。
掌握程序設計的三種方法和簡單的程序設計,這是全書的重點。
掌握菜單設計、窗口設計、菜單設計,對菜單設計,只要求掌握屏幕菜單方式和屏幕生成程序,對命令方式只做基本的了解。
4、實驗課程
附實驗大綱,按實驗大綱的要求完成實驗。
5、課程學時安排
學時安排遵循理論重于實踐,理論課的學時分配占總學時的60%,實驗課的操作,要求嚴格按照實驗大綱,以循序漸進的方式進行,如果學生沒有完成當天實驗課程的任務,學生可以自己找時間自己解決。
章 次
講 課 內 容
授課
上機 第一部分 數據庫的基本概念第二部分 數據庫的基本操作第三部分 查詢與統計、SQL 第四部分 程序設計基礎第五部分 菜單設計第六部分 表單設計及基礎第七部分 表單高級設計第八部分 報表設計合計
22
6、教學參考資料
《數據庫及其應用》 牛允鵬等 經濟科學出版社
《Visual FoxPro活學活用》 張佑挺 張錦川等 重慶大學出版社
《Visual FoxPro及其應用系統開發》 史濟民 湯觀全編著 清華大學出版社 《FoxPro用戶參考大全》 金榮得 胡傳國等 電子出版社 《FoxBASE數據庫應用教程》 北京希望電子出版社 《FoxPro命令與函數》 張錦豪等 學苑出版社
《FoxPro數據庫實用教程》 王跟東等編著 四川大學出版社
第四篇:《高級語言程序設計C》實驗教學大綱
《高級語言程序設計C》實驗教學大綱
課程編號:1021742 總學時:56學時
適用專業:非計算機理工科各專業 總實驗學時:24 實驗次數: 12 次 應開實驗個數:13 已開實驗個數:13 實驗開出率:100%
實驗一
熟悉C 程序的運行環境
一、學時:2
二、實驗類型:演示、驗證
三、實驗目的和主要內容:
1.了解計算機系統對高級語言的基本操作方法
2.熟悉和了解Turbo C 系統軟件的使用和操作
3.能進行簡單的C語言程序錄入、調試、編譯和運行
四、需用儀器、設備:
1.硬件環境
PC-486以上微機
32M以上的內存
VGA顯卡
2.軟件環境
西文DOS操作系統(可使用UCDOS漢字操作系統)或Windows操作系統
Turbo C(2.0版)
五、實驗方法及步驟:
1.熟悉開機操作,使用單機或計算機上網。
2.進入 Turbo C 系統。
3.熟悉Turbo C 系統各菜單命令的使用和操作
4.模仿簡單的源程序,編寫自己的小程序,并能運行這些程序。
5.錄入、調試、編譯和運行C語言程序
實驗二
數據類型、表達式及輸入輸出函數實驗
一、學時:2
二、實驗類型:驗證、設計
三、實驗目的和主要內容:
1. 熟悉和了解C語言的數據類型
2. 使用C語言的有關算術運算符,以及包含這些運算符的表達式
3.進行簡單的C語言輸入輸出函數的使用,格式控制符的涵意,簡單C程序的設計、調 試、編譯和運行
四、需用儀器、設備:
1.硬件環境
PC-486以上微機
32M以上的內存
VGA顯卡
2.軟件環境
西文DOS操作系統(可使用UCDOS漢字操作系統)或Windows操作系統
Turbo C(2.0版)
五、實驗方法及步驟:
1.進入 Turbo C 系統。
2.編寫簡單的有輸入輸出的C程序,并進行該程序的運行、調試、編譯。
3.編寫一個輸入三條邊,計算三角形面積的程序。
4.編寫程序,計算a+b×c÷d-d3,其中:a,b為整型變量,c,d為實型變量。
5.編寫一個有關數據計算程序,驗證運算符及表達式的結果。
6.可從布置的作業中,再任選一編程題,進行上機。
實驗三
順序程序結構程序設計
一、學時:2
二、實驗類型:驗證、設計
三、實驗目的和主要內容:
1.進一步掌握C程序的編輯、編譯、連接和運行的過程。2.熟悉順序結構的程序設計方法。3.熟練使用C的各種表達式。
4.熟練掌握輸入、輸出函數的使用。
四、需用儀器、設備:
1.硬件環境
PC-486以上微機
32M以上的內存
VGA顯卡
2.軟件環境
西文DOS操作系統(可使用UCDOS漢字操作系統)或Windows操作系統
Turbo C(2.0版)
五、實驗方法及步驟:
1.輸入x,y,編寫程序求z=x+|y|的值。實驗步驟與要求:
(1)程序中用scanf函數輸入x和y的值,請分析以下兩個語句 scanf(“%f%f”,x,y);scanf(“%f%f”,&x,&y);
哪一個是正確的,分別運行之,分析程序運行結果。
(2)如果scanf函數改為scanf(“%f,%f”,&x,&y);應該怎樣輸入數據。2.編寫輸入三角形的三邊長a、b、c,求三角形面積area的程序。實驗步驟與要求:
(1)輸入前要加提示語句。
(2)輸出結果前要有必要的文字說明。(3)輸入一組數據3,4,5,觀察運算結果。
(4)輸入另外一組數據3,4,8,觀察運算結果,分析這個運算結果是否有效。
實驗四
分支控制語句實驗
一、學時:2
二、實驗類型:驗證、設計
三、實驗目的和主要內容:
1.熟悉和了解C語言系統分支語句的使用和操作
2.進行C語言分支控制語句的設計、調試、編譯和運行
四、需用儀器、設備:
1.硬件環境
PC-486以上微機
32M以上的內存
VGA顯卡
2.軟件環境
西文DOS操作系統(可使用UCDOS漢字操作系統)或Windows操作系統
Turbo C(2.0版)
五、實驗方法及步驟:
1.進入 Turbo C 系統。
2.進行分支控制源程序的設計,并進行該程序的運行、調試、編譯。
3.編輯一個分支控制程序,求:任意輸入數(n>2)是否為素數。
4.編輯一個分支控制程序,求:任意輸入3個數,求其最大數。
實驗五
循環語句實驗
一、學時:2
二、實驗類型:驗證、設計
三、實驗目的和主要內容:
1.熟悉和了解C語言循環語句的使用和操作
2.進行C語言循環語句的設計、調試、編譯和運行
四、需用儀器、設備:
1.硬件環境
PC-486以上微機
32M以上的內存
VGA顯卡
2.軟件環境
西文DOS操作系統(可使用UCDOS漢字操作系統)或Windows操作系統
Turbo C(2.0版)
五、實驗方法及步驟:
1.進入 Turbo C 系統。
2.進行循環源程序的設計,并進行該程序的運行、調試、編譯。
3.編輯一個循環程序,求:1到100的和及平方和。
4.編輯一個循環程序,求:任意輸入10個數,求其最大數。
5.可從布置的作業中,再任選一編程題,進行上機。
實驗六
數組實驗
一、學時:2
二、實驗類型:驗證、設計
三、實驗目的和主要內容:
1.熟悉和了解C語言數組程序的設計方法
2.學會使用C語言數組進行程序設計
3.進行C語言數組語句的設計、調試、編譯和運行
四、需用儀器、設備:
1.硬件環境
PC-486以上微機
32M以上的內存
VGA顯卡
2.軟件環境
西文DOS操作系統(可使用UCDOS漢字操作系統)或Windows操作系統
Turbo C(2.0版)
五、實驗方法及步驟:
1.進入 Turbo C 系統。
2.進行數組的定義和使用方法,即:一維和二維數組的應用。
3.進行數組語句源程序的設計,并進行該程序的運行、調試、編譯。
4.編輯數組應用程序:
(1)任意輸入20個數在一維數組a中,求20個數的平均值。
(2)定義2個二維數組A[2][3]、B[2][3],分別對這2個數組輸入數據,求A+B和A-B的值。
(3)用字符數組存儲任意輸入10字符,求其最大字符。
(4)編輯一個有5個學生,考 3門功課。求出每一個學生的總分及平均分,統計平均成績低于 60 分的學生人數。
5.可從布置的作業中,再任選一編程題,進行上機。
實驗七
有關數組的程序設計
一、學時:2
二、實驗類型:驗證、設計
三、實驗目的和主要內容:
1.掌握有關數組和字符串的程序設計方法。
四、需用儀器、設備:
1.硬件環境
PC-486以上微機
32M以上的內存
VGA顯卡
2.軟件環境
西文DOS操作系統(可使用UCDOS漢字操作系統)或Windows操作系統
Turbo C(2.0版)
五、實驗方法及步驟: 已知一組數據如下:6,3,42,23,35,71,98,67,56,38。編寫程序,把它們按 從小到大的次序排列起來。求2行3列矩陣A 的轉置矩陣。
實驗八
函數實驗
一、學時:2
二、實驗類型:驗證、設計
三、實驗目的和主要內容:
1.熟悉和了解C語言函數程序的設計方法。
2.學會使用C語言函數的定義及調用,并進行程序編制。
3.進行C語言函數語句的設計、調試、編譯和運行
四、需用儀器、設備:
1.硬件環境
PC-486以上微機
32M以上的內存
VGA顯卡
2.軟件環境
西文DOS操作系統(可使用UCDOS漢字操作系統)或Windows操作系統
Turbo C(2.0版)
五、實驗方法及步驟:
1.進入 Turbo C 系統。
2.進行函數的定義及調用。
3.進行函數語句源程序的設計,并進行該程序的運行、調試、編譯。
(1)任意輸入一個數n,用兩個子函數實現1+2+3?n以及n!,在主函數中輸出該結果。
(2)在主函數中定義二維數組A[3][4]、B[4],用子函數對數組A[3][4]每一行求和,其值放在數組B[4]中,在主函數中輸出該值。
(3)用字符數組存儲任意輸入的10字符,在子函數中把該字符數組的小寫字母轉換成大寫字母。
4.可從布置的作業中,再任選一編程題,進行上機。
實驗九
常用指針實驗
(一)一、學時:2
二、實驗類型:驗證、設計
三、實驗目的和主要內容:
1.熟悉和了解C語言指針一般設計方法
2.學會使用C語言指針進行程序設計
3.進行簡單C語言指針語句的設計、調試、編譯和運行
四、需用儀器、設備:
1.硬件環境
PC-486以上微機
32M以上的內存
VGA顯卡
2.軟件環境
西文DOS操作系統(可使用UCDOS漢字操作系統)或Windows操作系統
Turbo C(2.0版)
五、實驗方法及步驟:
1.進入 Turbo C 系統。
2.進行C語言指針語句的定義和使用方法。
3.進行C語言指針語句源程序的設計,并進行該程序的運行、調試、編譯。
4.編輯一個找出字串 str1中 str2出現的位置,用指針編程實現。
5.可從布置的作業中,再任選一編程題,進行上機。
實驗十
復雜指針實驗
(二)一、學時:2
二、實驗類型:驗證、設計
三、實驗目的和主要內容:
1.進一步熟悉和了解C語言指針語句設計方法
2.進行C語言中的指針與函數、指針數組、多級指針語句的設計、調試、編譯和運行
四、需用儀器、設備:
1.硬件環境
PC-486以上微機
32M以上的內存
VGA顯卡
2.軟件環境
西文DOS操作系統(可使用UCDOS漢字操作系統)或Windows操作系統
Turbo C(2.0版)
五、實驗方法及步驟:
1.進入 Turbo C 系統。
2.進行C語言指針與函數、指針數組、多級指針語句的定義和使用方法。
3.進行C語言該指針語句源程序的設計,并進行該程序的運行、調試、編譯。
4.編輯一個在主程序里輸入十個不等長的字串,調用自編的函數把它們按升序排列,用指針編程實現。
5.可從布置的作業中,再任選一題編程題,進行上機。
實驗十一
結構類型實驗
一、學時:2
二、實驗類型:驗證、設計
三、實驗目的和主要內容:
1.熟悉和了解C語言結構、聯合數據的定義及設計方法
2.學會使用C語言結構、聯合數據類型進行程序設計
3.進行C語言結構、聯合語句的設計、調試、編譯和運行
四、需用儀器、設備:
1.硬件環境
PC-486以上微機
32M以上的內存
VGA顯卡
2.軟件環境
西文DOS操作系統(可使用UCDOS漢字操作系統)或Windows操作系統
Turbo C(2.0版)
五、實驗方法及步驟:
1.進入 Turbo C 系統。
2.進行C語言結構、聯合數據類型的定義和使用。
3.進行C語言結構、聯合數據類型源程序的設計,并進行該程序的運行、調試、編譯。
4.編輯一個能處理學生綜合信息的程序(包括:學號、姓名、班級、語文成績、數學成績、英語成績等)。
實驗十二
有關結構的程序設計
一、學時:2(課后完成或選作)
二、實驗類型:驗證、設計
三、實驗目的和主要內容:
1.掌握結構體類型和結構體變量的定義。2.掌握結構類型變量的定義和使用;
3.掌握鏈表的概念,初步學會對鏈表進行操作;
四、需用儀器、設備:
1.硬件環境
PC-486以上微機
32M以上的內存
VGA顯卡
2.軟件環境
西文DOS操作系統(可使用UCDOS漢字操作系統)或Windows操作系統
Turbo C(2.0版)
五、實驗方法及步驟:
1.有五個學生,每個學生的數據包括學號,姓名,三門課的成績,從鍵盤輸入五個學生的數據,要求打印出每個學生的平均成績,以及最高分的學生的數據(包括學號,姓名,三門課的成績,平均分數)。實驗步驟與要求:
用一個函數輸入五個學生的數據;用一個函數求總平均分;用函數找出最高分學生數據,總平均分和最高分的學生的數據都在主函數中輸出。
2.三個人圍成一圈,從第一個人開始順序報號1,2,3。凡報到“3”者退出圈子,找出最后流在圈子中的人原來的序號。
3.建立一個鏈表,每個結點包括:學號,姓名,性別,年齡。輸入一個年齡,如果鏈表中的結點所包含的年齡等于此年齡,則將此結點刪去。
實驗十三
文件實驗
一、學時:2
二、實驗類型:驗證、設計
三、實驗目的和主要內容:
1.熟悉和了解C語言文件系統的組成及設計方法。
2.學會使用C語言文件系統進行程序設計
3.進行C語言文件語句的設計、調試、編譯和運行
四、需用儀器、設備:
1.硬件環境
PC-486以上微機
32M以上的內存
VGA顯卡
2.軟件環境
西文DOS操作系統(可使用UCDOS漢字操作系統)或Windows操作系統
Turbo C(2.0版)
五、實驗方法及步驟:
1.進入 Turbo C 系統。
2.進行C語言文件系統類型的定義和使用。
3.進行C語言文件系統類型源程序的設計,并進行該程序的運行、調試、編譯。
4.編輯程序。
(1)用數組存儲10個數據,并存儲在“date.dat”文件中
(2)對存儲在“date.dat”文件中的數據讀入到一個數組中,求出總和及最大值,并把它存儲在“dsum.dat”文件中
第五篇:高級語言程序設計(C語言)實驗教學大綱
信息技術系《高級語言程序設計》實驗教學大綱
一、教材名稱:<
二、課程總學時:108學時 [理論: 72 學時;實驗與上機:36學時]
三、適用專業和開課學期:軟件技術專業,第2學期。
四、實驗的目的與任務:
《C程序設計》是一門實踐性很強的課程。通過實驗使學生加深對課堂講授的概念、語法、算法、編程技術的理解;熟悉C程序設計的開發環境;掌握程序設計和調試的基本技能。并通過實踐激發學生進一步學習的積極性,培養學生的學習興趣和創新思維。通過8個實驗,使學生經過一定數量的上機訓練,了解和掌握C程序設計的環境、程序的數據表示、程序的執行流程控制、程序的整體結構等C程序設計的基本概念和應用技術。
五、主要儀器設備及臺(套)數
安裝Windowsxp,TC2.0等軟件的計算機,每生一臺。
六、主要實驗教材(指導書)及參考用書:
譚浩強主編,《C程序設計題解與上機指導》,清華大學出版社。
七、成績考核方式及評分標準
實驗占課程總課時1/3,每項實驗按該實驗說明要求規定的評分標準積分,學期末合計的實驗成績占課程總成績的18%。
八、實驗開出率:100%
九、實驗項目與要求
實驗一:C程序的運行環境和運行一個C程序的方法(2學時)
實驗性質:驗證性實驗
一、實驗目的
1.了解所用的計算機系統的基本操作方法,學會獨立使用該系統。2.了解在該系統上如何編輯、編譯、連接和運行一個C程序。3.通過運行簡單的C程序,初步了解C源程序的特點。
二、實驗內容
1.調用編輯程序,輸入教材第一章例1.1程序,并進行編譯和運行。應了解所用的系統是用什么命令進行編譯和連接運行的。編譯和連接后所得到的目標程序的后綴是什么形式的?
2.輸入并運行教材第一章中例1.2。
3.輸入并運行教材第一章中例1.3,了解如何在運行時向程序變量輸入數據。
實驗二 數據類型、運算符和表達式(2學時)
實驗性質:驗證性實驗
一、實驗目的
1.掌握C語言數據類型,熟悉如何定義一個整型、字符型、實型變量,以及對它們賦值的方法,了解以上類型數據輸出時所用格式轉換符。
2.學會使用C的有關算術運算符,以及包含這些運算符的表達式,特別是自加(++)和自減(--)運算符的使用。
3.進一步熟悉C程序的編輯、編譯、連接和運行的過程。
二、實驗內容
1.輸入并運行教材第三章例3.6.即: #include
printf(“%c %cn”,c1,c2); printf(“%d %dn”,c1,c2); } 在此基礎上 ①將第二行改為: int c1,c2;再使之運行,分析結果。②再將第三行、第四行改為: c1=300;c2=400;再使之運行,分析其運行結果。
2.輸入并運行教材第三章習題3.6,在上機前先用人工分析程序寫出應得結果,上機后將二者對照。
3.輸入并運行習題3.10。即: #include
printf(“%d,%d,%d,%d”,i,j, i++,j++);⑤程序改為: main(){int i,j,m=0,n=0;;i=8;j=10;m+=i++;n-=--j;printf(“i=%d,j=%d,m=%d,n=%d”,i,j,m,n);}
實驗三 最簡單的C程序設計(2學時)
實驗性質:驗證性實驗
一、實驗目的
1.掌握C語言中使用最多的一種語句—賦值語句的使用。2.掌握數據的輸入輸出的方法,能正確使用各種格式轉換符。
二、實驗內容
1.輸入并運行以下程序:
#include
void main(){int a,b; float d,e; char c1,c2; double f,g; long m,n;
unsigned int p,q; a=61;b=62; c1=’a’;c2=’b’; d=3.56;e=-6.87;
f=3157.890121;g=0.123456789; m=50000;n=-60000; p=32768;q=40000;
printf(“a=%d,b=%dn c1=%c,c2=%cnd=%6.2f,e=%6.2fn”,a,b,c1,c2,d,e); printf(“f=%15.6f,g=%15.12fnm=%ld,n=%ldnp=%u,q=%un”,f,g,m,m,p,q); } 在此基礎上,做以下改動: ① 將程序第8-13行改為: a=61;b=62; c1=a;c2=b;
f=3157.890121;g=0.123456789; d=f;e=g;
p=a=m=50000;q=b=n=-60000; 運行程序,分析結果。
② 在①的基礎上將printf語句改為:
printf(“a=%d,b=%dn c1=%c,c2=%cnd=%15.6f,e=%15.12fn”,a,b,c1,c2,d,e);
printf(“f=%f,g=%fn m=%ld,n=%ldn p=%d,q=%dn”,f,g,m,n,p,q); 運行程序。
2.編寫程序,用getchar函數讀入兩個字符c1、c2,然后分別用putchar函數和printf函數輸出這兩個字符。
上機運行程序,比較用printf和putchar函數輸出字符的特點。
實驗四 選擇結構程序設計(2學時)
實驗性質:設計性實驗
一、實驗目的
1.了解C語言表示邏輯量的方法(以0代表“假”,以1代表“真”); 2.學會正確使用邏輯運算符和邏輯表達式; 3.熟練掌握if語句和switch語句。
二、實驗內容
先編程序,解決以下問題,然后上機調試運行程序。1.有一個函數 ?x?y??2x?1?3x?11?x?11?x?10 x?10用scanf函數輸入x的值(分別為x<1、1~
10、≥10三種情況),求y值。2.給出一個百分制成績,要求輸出成績等級‘A’,‘B’,‘C’,‘D’,‘E’。90分以上為‘A’,80~89分為‘B’,70~79分為‘C’,60~69分為‘D’,60分以下為‘E’。
實驗五 循環控制(4學時)
實驗性質:設計性實驗
一、實驗目的
1.熟悉用while語句,do-while語句和for語句實現循環的方法。2.掌握在程序設計中用循環的方法實現各種算法(如窮舉、迭代、遞推等)。
二、實驗內容
編程序并上機調試運行。
1.輸入兩個正整數,求其中最大公約數和最小公倍數。2.用牛頓迭代法求方程2x3-4x2+3x-6=0在1.5附近的根。
實驗六 數組(4學時)
實驗性質:設計性實驗
一、實驗目的
1.掌握一維數組和二維數組的定義、賦值和輸入輸出的方法; 2.掌握字符數組和字符串函數的使用。3.掌握與數組有關的算法(特別是排序算法)。
二、實驗內容
編程序并上機調試運行。
1.用選擇法對10個整數排序。10個整數用scanf函數輸入。2.將兩個字符串連接起來,不要用strcat函數。實驗七 函數(4學時)
實驗性質:設計性實驗
一、實驗目的
1.掌握定義函數的方法;
2.掌握函數實參與形參的對應關系,以及“值傳遞”的方式; 3.掌握函數的嵌套調用和遞歸調用的方法;
4.掌握全局變量和局部變量,動態變量和靜態變量的概念和使用方法。
二、實驗內容
編程序并上機調試運行。
1.寫一個判斷素數的函數,在主函數輸入一個整數,輸出是否是素數的信息。2.求兩個整數的最大公約數和最小公倍數,用一個函數求最大公約數。用另一函數根據求出的最大公約數求最小公倍數。
(1)用全局變量的方法。將兩個整數的最大公約數、最小公倍數都設為全局變量。
(2)不用全局變量,兩個整數在主函數中輸入,并傳送給函數1,求出的最大公約數返回主函數,然后再與兩個整數一起作為實參傳遞給函數2,以求出最小公倍數,返回到主函數輸出最大公約數和最小公倍數。
實驗八 預處理命令(2學時)
實驗性質:設計性實驗
一、實驗目的
1.掌握宏定義的方法; 2.掌握文件包含處理方法; 3.掌握條件編譯的方法。
二、實驗內容
編程序并上機調試運行。
1.定義一個帶參數的宏,使兩個參數的值互換。在主函數中輸入兩個數作為使用宏的實參,輸出已交換后的兩個值。
說明:在程序主函數使用宏時只能用兩個實參,如SWAP(a,b),不能用三個參數。2.用條件編譯方法實現以下功能:
輸入一行電報文字,可以任選兩種輸出,一為原文輸出;一為將字母變成其下字母(如‘a’變成‘b’,?,‘z’變成‘a’。其它字符不變)。用#define命令來控制是否要譯成密碼。例如: #define CHANGE 1 則輸出密碼。若 #define CHANGE 0 則不譯成密碼,按原碼輸出。用條件編譯方法來處理。
實驗九 指針(4學時)
實驗性質:設計性實驗
一、實驗目的
1.掌握指針的概念,會定義和使用指針變量; 2.學會使用數組的指針和指向數組的指針變量; 3.學會使用字符串的指針和指向字符串的指針變量; 4.學會使用指向函數的指針變量;
二、實驗內容
編程序并上機調試運行程序(都要求用指針處理)。1.輸入三個整數,按由小到大的順序輸出。
2.將一個3*3的矩陣轉置,用一函數實現之。在主函數中用scanf函數輸入以下矩陣元素:
?1? ?7??1339155??11 ?19??將數組名作為函數實參。函數調用后在主函數中輸出已轉置的矩陣。3.用一個函數實現兩個字符串的比較,即自己寫一個strcmp函數: strcmp(s1,s2)如果s1=s2,則函數返回值為0;如果s1≠s2,返回它們二者第一個不同字符的ASCII碼差值(如“BOY”與“BAD”,第二個字母不同,“O”與“A”之差為79-65=14);如果s1>s2,則輸出正值;如s1 兩個字符串s1,s2由main函數輸入,strcmp函數的返回值也在main函數輸出。 實驗十 結構體和共用體(4學時) 實驗性質:設計性實驗 一、實驗目的 1.掌握結構體類型變量的定義和使用; 2.掌握結構體類型數組的概念和應用; 3.掌握共用體的概念與使用。 二、實驗內容 編程序,然后上機調試運行。 1.有5個學生,每個學生的數據包括學號、姓名、三門課的成績,從鍵盤輸入5個學生數據,要求打印出三門課總平均成績,以及最高分的學生的數據(包括學號、姓名、三門課的成績、平均分數)。 要求用一個input函數輸入5個學生數據;用一個average函數求總平均分;用max函數找出最高分學生數據;總平均分和最高分的學生的數據都在主函數中輸出。 2.輸入和運行以下程序: #include union data {int i[2]; float a; long b; char c[4]; }; void main(){union data u; scanf(“%d,%d”,&u.i[0],&u.i[1]); printf(“i[0]=%d,i[1]=%dna=%fnb=%ldnc[0]=%c,c[1]=%c,c[2]=%c,c[3]=%cn”,u.i[0],u.i[1],u.a,u.b,u.c[0],u.c[1],u.c[2],u.c[3]);} 輸入兩個整數10000、20000給u.i[0]和u.i[1]。分析運行結果。 然后將scanf語句改為: scanf(“%ld”,&u.b); 輸入60000給b。分析運行結果。 實驗十一 位運算(1學時) 實驗性質:設計性實驗 一、實驗目的 1.掌握位運算的概念和方法,學會使用位運算符; 2.學會通過位運算實現對某些位的操作。 二、實驗內容 編寫程序,上機調試并運行。 1.設計一個函數,使給出一個數的原碼,能得到該數的補碼,用八進制形式輸入和輸出。 實驗十二 文件(1學時) 實驗性質:設計性實驗 一、實驗目的 1.掌握文件以及緩沖文件系統、文件指針的概念; 2.學會使用文件打開、關閉、讀、寫等文件操作函數。3.學會用緩沖文件系統對文件進行簡單的操作。 二、實驗內容 1.從鍵盤輸入一個字符,將其中的小寫字母全部轉換成大寫字母,然后輸出到一個磁盤文件“test”中保存。輸入的字符以“!”結束。實驗十三 學生成績管理(4學時) 實驗性質:綜合性設計性實驗 一、實驗目的 1.綜合運用C程序設計知識,解決實際問題。 二、實驗內容 1.有5個學生,每個學生有3門課的成績,從鍵盤輸入以上數據(包括學生號、姓名、三門課成績),計算出平均成績,將原有數據和計算出的平均分數存放在磁盤文件“stud”中。 2.將上題“stud”文件中的學生數據,按平均分進行排序處理,將已排序的學生數據存入一個新文件“stu-sort”中。 3.將上題已排序的學生成績文件進行插入處理。插入一個學生的三門課成績。程序先計算新插入學生的平均成績,然后將它按成績高低順序插入,插入后建立一個新文件。 學生的原有數據為: 91101 Wang 89,98,67.5 91103 Li 60,80,90 91106 Fun 75.5,91.5,99 91110 Ling 100,50,62.5 91113 Yuan 58,68,71 要插入的學生數據為: 91108 Xin 90,95,60 制 訂:程世輝 教研室:軟件教研室 執筆人:程世輝 審定人: 二00七年八月