《高级语言程序设计实验》课程教学大纲

课程代码:8251020

课程总学时: 32

课程学分:1

课程名称:高级语言程序设计实验

英文名称:

Experiments of Advanced Language Program Design

适用专业:计算机科学与技术、网络工程、软件工程

 

 

一、课程性质与任务

《高级语言程序设计实验》是面向计算机专业的专业基础课实验,属于计算机软件应用的基础课程。要求学生通过本课程学习,能够独立看懂相关参考书中的例程,能够用C语言编写程序并且独立上机调试,从而为计算机专业学生今后学习与计算机软件应用相关的课程打下良好的基础。

二、教学目的与要求

本课程的教学目的要求学生做到三会:会看C程序、会编写C程序、会调试C程序。具体内容包括:要求学生掌握结构化程序设计的基本理论,算法设计的基本知识,程序测试及纠错的基本方法,掌握C语言的数据类型、语法成分、程序结构、输入/输出方法、分支及循环结构、数组与结构体等数据结构、函数、指针等知识。

三、教学内容与时间安排

本课程共安排13个实验,其中实验1至实验12为验证性/设计性实验,实验13为综合性实验。

验证性/设计性实验:实验1~4,每个实验2学时;实验5~12,每个实验3学时

综合性实验:课外补充8学时

具体实验安排如下:

实验一: C语言程序初步

实验类型:验证性实验

实验目的:

1)了解所用的计算机系统的基本操作方法,学会独立使用该系统。

2)了解在该系统上如何编辑、编译、连接和运行一个C程序。

3)通过运行简单的C程序,初步了解C程序的特点。

4)在教师的指导下,学会使用在线评判实验系统。

实验内容:

1)运行第一个C程序

2)在在线评判系统中提交实现了计算a+b功能的程序

提交要求

提交实验报告,要求描述实验内容以及实验过程。

 

实验二基本数据类型、运算和表达式

实验类型:验证性实验

实验目的:

1)掌握C语言数据类型,熟悉如何定义一个整型和实型的变量,以及对它们赋值的方法。

2)掌握不同的类型数据之间赋值的规律。

3)学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。

4)进一步熟悉C程序的编辑、编译、连接和运行的过程。

实验内容:

1)变量定义,按要求完成程序

2)在显示屏上显示指定字符

3)赋值表达式与赋值语句,写出程序运行结果

4)基本运算,写出程序运行结果

提交要求

提交实验报告,要求描述实验内容以及实验过程。

 

实验三基本输入与输出

实验类型:设计性实验

实验目的:

1)熟练掌握putchargetcharprintfscanf函数的使用方法。

2)掌握各种类型数据的输入输出的方法,能正确使用各种格式控制字符。

实验内容:

1 字符的输入与输出

2 计算加法

3 求圆面积

4 计算摄氏温度值

提交要求

在线提交实验程序,并评判通过;实验结果填写实验报告

 

实验四 选择结构程序设计

实验类型:设计性实验

实验目的:

1)了解C语言表示逻辑的方法(以0代表“假”,以非0代表“真”)。

2)学会正确使用逻辑运算符和逻辑表达式。

3)熟练掌握if语句和switch语句。

4)结合程序掌握一些简单的算法。

实验内容:

1)判断点是否在圆上

2)求数的位数

3)数的排序

4)字符变换

5)数的整除

6)正负奇偶判断

7)简单计算器

提交要求

在线提交实验程序,并评判通过;实验结果填写实验报告

 

实验五 循环结构程序设计()

实验类型:设计性实验

实验目的:

1)熟悉掌握用while语句、do-while语句和for语句实现循环的方法。

2)掌握在程序设计中用循环实现一些常用算法(如穷举、迭代、递推等)。

实验内容

1 计算阶乘

2 计算数列和

3 累加一行字符中的数字

4 求最大公约数

5 字符变换

6 计算数列和

7 输出最小值

8 统计单词个数

9 百万富翁

提交要求

在线提交实验程序,并评判通过;实验结果填写实验报告

 

实验六 循环结构程序设计()

实验类型:设计性实验

实验目的

1)进一步熟悉掌握用while语句、do-while语句和for语句实现循环的方法。

2)掌握在程序设计中使用多重循环

实验内容:

1 求素数

2 打印菱形

3 找满足要求的数字

4 打印图案

提交要求

在线提交实验程序,并评判通过;实验结果填写实验报告

 

实验七 数组

实验类型:设计性实验

实验目的:

1)掌握一维数组和二维数组的定义、赋值和输入输出方法。

2)掌握与数组有关的算法。

实验内容

1 倒序

2 打印矩阵

3 冒泡排序

4 统计不同数字个数

5 计算高精度加法

6 找矩阵中的鞍点

提交要求

在线提交实验程序,并评判通过;实验结果填写实验报告

 

实验八 字符数组的应用

实验类型:设计性实验

实验目的:

1)掌握字符数组和字符串函数的使用。

2)掌握与字符串处理有关的算法。

实验内容:

1 定义存贮字符串的字符数组

2 字符串的输入与输出

3 字符串的合并

4 回文串

5 寻找字符串

提交要求

在线提交实验程序,并评判通过;实验结果填写实验报告

 

实验九函数的基本应用

实验类型:设计性实验

实验目的:

1)掌握定义函数的方法。

2)掌握函数实参与形参的对应关系,以及“值传递”的方式。

3)掌握函数的嵌套调用和递归调用的方法。

4)掌握全局变量和局部变量、动态变量、静态变量的概念和使用方法。

实验内容:

1 函数定义

2 编写函数计算阶乘

3 函数中的变量

4 编写递归调用函数,实现十进制数转二进制数

提交要求

在线提交实验程序,并评判通过;实验结果填写实验报告

 

实验十 指针与结构体

实验类型:设计性实验

实验目的:

1)通过实验进一步掌握指针的概念,会定义和使用指针变量。

2)能正确使用数组的指针和指向数组的指针变量。

3)能正确使用字符串的指针和指向字符中的指针变量。

4)掌握结构体类型变量的定义和使用。

实验内容:

1 交换两数,由大到小输出

2 数组中的指针

3 函数实现求字符串长度

4 定义结构体类型

提交要求

在线提交实验程序,并评判通过;实验结果填写实验报告

 

实验十一 链表

实验类型:设计性实验

实验目的:

1)理解链表的概念。

2)掌握结构体、指针在链表中的运用。

3)掌握链表的常用操作,包括创建、显示、添加等。

实验内容:

1 链表结点的插入

2 链表的合并

3 链表的倒序

4 链表的排序

提交要求

在线提交实验程序,并评判通过;实验结果填写实验报告

 

实验十二 文件

实验类型:设计性实验

实验目的:

学会使用打开、关闭、读、写等文件操作。

实验内容:

1 文本文件操作_字符读入

2 文本文件操作_字符写入

3 文本文件操作_单词的排序

提交要求

在线提交实验程序,并评判通过;实验结果填写实验报告

 

实验十三 综合实验:文件操作与字符处理 

实验类型:综合性实验

实验目的:

综合使用本课程所学知识解决一个较大的任务

实验内容:

当前目录中存在文件名为"case1.in"(其中case后为数字1,不是字母l,写错提交后会判错)的文本文件,其内容为一篇英文文章(以EOF作为结束标志)。现要求读取该文本文件内容,统计文章中每个单词出现的次数,并输出出现次数最多的前5个单词及其出现次数(按出现次数由多到少的顺序输出,次数相同时按字典顺序输出,不足5个单词时,按序输出全部单词)

提交要求

在线提交实验程序,并评判通过;实验结果填写实验报告

 

四、考核方式与方法

考核方式:考查

1)验证性实验:检查程序运行情况

2)综合性实验:检查程序运行情况与实验报告相结合

根据学生所有实验完成情况得分,给出总评分。

(撰写人:陈湘骥   审核人:肖磊 

 

 

附:课程英文描述 

Experiments of Advanced Language Program Design

Experiments of Advanced Language Program Design is a key course for computer major, belonging to the field of computer software applications.

The course introduces the basic theory of structured programming, programming and debugging method of C language. After the course, students should have abilities to read and understand codes independently, can use reference books and write C language program independently. Debugging technology is also an ability students needed

The course supports students in computer majors to learn in the future and have a good starting.