c语言实习任务书

2024-07-01

c语言实习任务书(精选6篇)

篇1:c语言实习任务书

《C语言程序设计》课程设计

任务书及指导书

自动化学院 2011年

C语言课程设计任务书及指导书1 题目:学院教学信息管理系统

功能:学院教学信息管理系统,每一条记录包括教师的职工号、姓名、职称、性别、3门讲授课程的名称,教学效果综合评分。系统要求实现以下功能:

1、输入:输入每一位教师记录,将其信息写入文件中。

2、显示:显示每位教师记录。

3、排序:按职工号或教学效果综合评分进行排序,并显示。

4、查找:完成按姓名或课程查找教师的相关记录,并显示。

5、保存:将相关数据写入磁盘文件,便于存、取操作。分步实施:

1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数。

2、完成信息的录入和显示(即通过编程创建文件,输入教师信息并可将文件内容显示出来)

3、完成排序功能。

4、完成查找功能(可按职工号、姓名、讲授课程进行查找)要求:

1、用C语言实现程序设计;

2、利用结构体来实现教师信息的处理;

3、系统的各个功能要求用函数实现;

4、界面友好(良好的人机交互),程序必须有注释。课程设计实验报告要求:

1、预习报告:仔细分析客户需求、进行模块划分、设计每个模块的算法和数据结构。

2、实验总结报告:按照模板的格式。(任务书和报告模板在http://3e.xaut.edu.cn/c下载)。

C语言课程设计任务书及指导书2 题目:酒店房间登记与计费管理系统

功能:

1、屏幕上出现一个界面,让操作员能够方便的选择所需要进行的操作,包括登记入住、查询房间的入住情况、查询当前费用、结账退房等操作。

登记入住的信息主要有:客人姓名、房间号、入住时间、计费方式(按天或小时)、单价、押金

房间信息:房间号、是否有人入住、房间标准、每天单价、小时单价

2、对不同标准的房间实施不同的收费标准,也可以按天收费或按小时收费,可根据顾客需要在登记的入住的时候进行选择。

3、在结账退房时,根据入住的时间,计费方式和房间单价计算出总费用。

4、保存:将相关数据写入磁盘文件,便于存、取操作。分步实施:

1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;

2、完成最低要求:建立房间列表,完成登记入住、查询房间入住情况等功能。

3、进一步要求:完成计费和费用查询功能;每次登录时读取保存在磁盘文件中的入住情况。要求:

1、用C语言实现系统;

2、系统的各个功能模块要求用函数实现;

3、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求:

1、预习报告:仔细分析客户需求、进行模块划分、设计每个模块的算法和数据结构。

2、实验总结报告:按照模板的格式。(任务书和报告模板在http://3e.xaut.edu.cn/c下载)。C语言课程设计任务书及指导书3 题目:学生成绩管理系统

功能:学生成绩管理系统,每个学生信息为一个记录,包括学号,姓名,性别,3门课程成绩。

系统要求实现以下功能:

1、信息录入:录入成绩学生信息(包括学生学号、姓名、性别、3门课程的成绩等);

2、信息查询:可以按照姓名或学号查询学生各门课程的成绩,并显示。

3、排序:按平均成绩或各门课程成绩按由高到低进行排序,并显示。

4、信息删除与修改——输入学号,可删除或修改该学生的成绩信息。

5、保存:将相关数据写入磁盘文件,便于存、取操作。分步实施:

1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数。

2、完成信息的录入和显示(即通过编程创建文件,输入学生信息并可将文件内容显示出来)

3、完成上述信息查询、排序、信息删除与修改功能。

要求:

1、用C语言实现程序设计;

2、利用结构体数组实现学生信息的数据结构设计;

3、系统的各个功能模块要求用函数的形式实现;

4、界面友好(良好的人机交互),程序要有必要的注释。课程设计实验报告要求:

1、预习报告:仔细分析客户需求、进行模块划分、设计每个模块的算法和数据结构。

2、实验总结报告:按照模板的格式。(任务书和报告模板在http://3e.xaut.edu.cn/c下载)。

C语言课程设计任务书及指导书4 题目:职工档案管理系统设计

功能:职工档案管理系统设计,每个职工信息是一条记录,包括编号,姓名,性别,出生年月,所在部门,职称,工资级别、电话等。系统可实现以下功能:

1、输入功能:输入每一位职工的信息并将信息存入文件中。

2、显示功能:完成全部职工记录的显示。

3、查找功能:完成按编号或姓名查找职工的相关信息,并显示。

4、保存:将相关数据写入磁盘文件,便于存、取操作。分步实施:

1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数。

2、完成信息的录入和显示(即通过编程创建文件,输入职工信息并可将文件内容显示出来)

3、完成上述查找功能

4、完成修改功能,即输入编号,可修改该职工的信息

5、进一步要求,在使用修改功能时要求输入密码,密码正确才能修改信息否则不行。

要求:

1、用C语言实现程序设计;

2、利用结构体进行职工信息的处理;

3、系统的各个功能模块要求用函数的形式实现;

4、界面友好(良好的人机交互),程序必须加注释。课程设计实验报告要求:

1、预习报告:仔细分析客户需求、进行模块划分、设计每个模块的算法和数据结构。

2、实验总结报告:按照模板的格式。(任务书和报告模板在http://3e.xaut.edu.cn/c下载)。C语言课程设计任务书及指导书5 题目:学生管理系统设计

功能:学生管理系统设计,每个学生信息作为一条记录,包括姓名、学号、性别、出生年月、专业、班级、家庭地址、宿舍号码等。系统要求实现以下功能:

1、输入功能:录入学生信息(包括学生学号、姓名、性别、出生年月、专业等);

2、显示功能:完成学生记录的显示。

3、查找功能:完成按学号或姓名查找学生的相关记录,并显示。

4、保存:将相关数据写入磁盘文件,便于存、取操作。分步实施:

1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数。

2、完成信息的录入和显示(即通过编程创建文件,输入学生信息并可将文件内容显示出来)

3、完成修改功能,即输入学号,可修改该学生的信息

4、进一步要求,在使用修改功能时要求输入密码,密码正确才能修改信息否则不行。要求:

1、用C语言实现程序设计;

2、利用结构体数组实现学生信息的数据结构设计;

3、系统的各个功能模块要求用函数的形式实现;

4、界面友好(良好的人机交互),程序要有注释。课程设计实验报告要求:

1、预习报告:仔细分析客户需求、进行模块划分、设计每个模块的算法和数据结构。

2、实验总结报告:按照模板的格式。(任务书和报告模板在http://3e.xaut.edu.cn/c下载)。

C语言课程设计任务书及指导书6 题目:银行存取款管理设计

功能:

1、能够输入和查询客户存款取款记录。在客户文件中,每个客户信息是一条记录,包括编号、客户姓名、支取密码、客户地址、客户电话、账户总金额;在存取款文件中,每次存取款是一条记录,包括编号、日期、类别、存取数目、经办人。类别分为取款和存款两种。本系统能够输入客户存款或取款记录;根据客户姓名查询存款和取款记录。

2、保存:将相关数据写入磁盘文件,便于存、取操作。分步实施:

1、初步完成总体设计,搭好框架,确定人机对话界面,确定函数个数;

2、完成信息的录入(即通过编程创建文件,输入客户信息并可将文件内容显示出来)

3、完成存取款功能(即通过编程创建文件,用来记录存取款信息并可将文件内容显示出来)

4、完成修改功能,输入客户编号可以修改该客户的信息

5、进一步要求:完成客户姓名查询存款和取款记录,并可显示帐户余额。要求:

1、用C语言实现系统;

2、利用结构体进行相关信息处理;

3、系统的各个功能模块要求用函数的形式实现;

4、界面友好(良好的人机交互),程序要有注释。课程设计实验报告要求:

1、预习报告:仔细分析客户需求、进行模块划分、设计每个模块的算法和数据结构。

2、实验总结报告:按照模板的格式。(任务书和报告模板在http://3e.xaut.edu.cn/c下载)。C语言课程设计任务书及指导书7 题目:院职工工资管理系统设计

功能:

1、院职工工资管理系统应包含职工的全部信息。每个职工信息是一条记录,包括编号、姓名、性别、出生年月、年龄、婚姻状况、家庭住址、职称、工资级别情况等。本系统重点进行工资管理,系统登陆后可计算职工工资总额和平均工资,可按工资进行排序,并能够找出工资级别相同的职工名单。

2、保存:将相关数据写入磁盘文件,便于存、取操作。分步实施:

1、初步完成总体设计,搭好框架,确定人机对话界面,确定函数个数;

2、完成信息的录入(即通过编程创建文件,输入职工信息并可将文件内容显示出来)

3、计算职工工资总额和平均工资,可按工资进行排序,并能够找出工资级别相同的职工名单。要求:

1、用C语言实现程序设计;

2、利用结构体进行相关信息处理;

3、系统的各个功能模块要求用函数的形式实现;

4、界面友好(良好的人机交互),程序要有注释。课程设计实验报告要求:

1、预习报告:仔细分析客户需求、进行模块划分、设计每个模块的算法和数据结构。

2、实验总结报告:按照模板的格式。(任务书和报告模板在http://3e.xaut.edu.cn/c下载)。

C语言课程设计任务书及指导书8 题目:通讯录管理系统

功能:录入联系人信息(包括姓名、电话号码、地址、备注等);通讯录管理系统要求实现以下功能:

1、输入每一位联系人记录,将其信息存入文件中。

2、查询所有联系人的信息,并按可选的自定义规则进行排序;

3、记录修改,将修改的记录信息保存于文件中。

4、保存:将相关数据写入磁盘文件,便于存、取操作。分步实施:

1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数。

2、完成信息的录入和显示(即通过编程创建文件,输入学生信息并可将文件内容显示出来)

3、完成查询功能(可按姓名、电话号码等进行查询)

4、完成信息删除与修改功能,输入联系人姓名后可删除或修改该条信息。

5、进一步要求,在使用修改功能时要求输入密码,密码正确才能修改信息否则不行。要求:

1、用C语言实现程序设计;

2、利用结构体进行相关信息处理;

3、系统的各个功能模块要求用函数的形式实现;

4、界面友好(良好的人机交互),程序要有注释。课程设计实验报告要求:

1、预习报告:仔细分析客户需求、进行模块划分、设计每个模块的算法和数据结构。

2、实验总结报告:按照模板的格式。(任务书和报告模板在http://3e.xaut.edu.cn/c下载)。

C语言课程设计任务书及指导书9

题目:计算机辅助教学(CAI)软件开发:教小学生学算术。

功能:

1、可做个位数,十位数的加,减,乘和除,减法不能得负数,除法要除尽,屏幕上随机出现两个数,提示小学生给出答案,答错了要提示重新输入,直到答对为止。要统计给分,且累计,够一定分数后可进级,即从个位进到十位。同样,也可降级。

(rand(),#include

2、保存:将相关数据写入磁盘文件,便于存、取操作。分步实施:

1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;

2、完成基本要求:能进行个位数的加法和减法,并有统计晋级功能,即一次答对的成功率为

90%上后可晋级,继续进行十位数的加减运算;

3、进一步要求:将当前晋级等级保存在磁盘文件,学生下次按这个等级开始做题。要求:

1、用C语言实现程序设计;

2、系统的各个功能模块要求用函数的形式实现;

3、界面友好(良好的人机交互),程序要有注释。课程设计实验报告要求:

1、预习报告:仔细分析客户需求、进行模块划分、设计每个模块的算法和数据结构。

2、实验总结报告:按照模板的格式。(任务书和报告模板在http://3e.xaut.edu.cn/c下载)。

C语言课程设计任务书及指导书10 题目:学生考勤系统设计

功能:

1、学生考勤系统应包含各班学生的全部信息。每个学生是一条记录,包括姓名、性别、学号、日期、节次、出勤情况等。本系统可模拟考勤过程,记录考勤结果,并能够在课程结束后按照设定的考勤评分标准自动给出每个学生的考勤分数。

2、保存:将相关数据写入磁盘文件,便于存、取操作。分步实施:

1、初步完成总体设计,搭好框架,确定人机对话界面,确定函数个数;

2、完成考勤录入功能(即通过编程创建文件,输入学生信息并可将文件内容显示出来)

3、完成查询功能(可以按照学号或姓名进行查询)

4、完成修改功能,输入学号、日期、节次信息后可修改该条信息的内容。

4、进一步要求:自动给出每个学生的考勤分数 要求:

1、用C语言实现程序设计;

2、利用结构体进行相关信息处理;

3、系统的各个功能模块要求用函数的形式实现;

4、界面友好(良好的人机交互),程序要有注释。课程设计实验报告要求:

1、预习报告:仔细分析客户需求、进行模块划分、设计每个模块的算法和数据结构。

2、实验总结报告:按照模板的格式。(任务书和报告模板在http://3e.xaut.edu.cn/c下载)。

C语言课程设计任务书及指导书11 题目:学生选修课程系统设计

功能:

1、假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息。试设计一选修课程系统。

2、保存:将相关数据写入磁盘文件,便于存、取操作。分步实施:

1、初步完成总体设计,搭好框架,确定人机对话界面,确定函数个数;

2、完成课程信息的录入和显示(即通过编程创建文件,输入课程信息并可将文件内容显示出来)

3、完成查询功能(可以按照课程编号、课程名称、课程性质等进行查询)

4、完成修改功能输入课程编号后可以修改该课程信息。

5、进一步要求:实现学生选修课程功能

要求:

1、用C语言实现程序设计;

2、利用结构体进行相关信息处理;

3、系统的各个功能模块要求用函数的形式实现;

4、界面友好(良好的人机交互),程序要有注释。

课程设计实验报告要求:

1、预习报告:仔细分析客户需求、进行模块划分、设计每个模块的算法和数据结构。

2、实验总结报告:按照模板的格式。(任务书和报告模板在http://3e.xaut.edu.cn/c下载)。

C语言课程设计任务书及指导书12 题目:商品订购系统设计。

功能:

1、屏幕上出现一个界面,让顾客或者输入商品名称,或者输入商品型号,或者给出商品选择列表供用户选择让用户输入所选商品编号,如查到所选商品,则列出商品编号、商品名称、商品型号、商品价格、商品产地、库存数量和已订购数量;然后给出选购流程:所选商品编号—列出对应商品的信息—要求顾客输入邮寄地址信息—确认订购,是否继续选购其它商品,列出所有选订商品,再次确认订购。建立两个文件,分别存放商品信息与订购信息。

2、保存:将相关数据写入磁盘文件,便于存、取操作。

分步实施:

1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;

2、完成最低要求:建立一个小系统,包括10种产品能供顾客选择。

3、进一步要求:完成全部功能的系统。要求:

1、用C语言实现程序设计;

2、利用结构体进行相关信息处理;

3、系统的各个功能模块要求用函数的形式实现;

4、界面友好(良好的人机交互),程序要有注释。课程设计实验报告要求:

1、预习报告:仔细分析客户需求、进行模块划分、设计每个模块的算法和数据结构。

2、实验总结报告:按照模板的格式。(任务书和报告模板在http://3e.xaut.edu.cn/c下载)。C语言课程设计任务书及指导书13 题目:设备管理系统设计

功能:

1、设备管理系统应包含各种设备的全部信息,每台设备信息为一条记录,包括设备号、设备名称、领用人、所属部门、数量、购买时间、价格等。能够显示和统计各种设备的信息。

2、保存:将相关数据写入磁盘文件,便于存、取操作。

分步实施:

1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;

2、完成信息的录入和显示(即通过编程创建文件,输入设备信息并可将文件内容显示出来)

2、能对文件进行追加、修改、删除,能统计所有设备的总价值。

3、进一步要求:完成设备按种类、按所属部门进行统计。

要求:

1、用C语言实现程序设计;

2、利用结构体进行相关信息处理;

3、系统的各个功能模块要求用函数的形式实现;

4、界面友好(良好的人机交互),程序要有注释。

课程设计实验报告要求:

1、预习报告:仔细分析客户需求、进行模块划分、设计每个模块的算法和数据结构。

2、实验总结报告:按照模板的格式。(任务书和报告模板在http://3e.xaut.edu.cn/c下载)。

C语言课程设计任务书及指导书14

题目:学生计算机机房管理系统设计

功能:

1、该计算机房共有100台计算机,分为20排,每排5台。管理系统应包含每台计算机一周内的使用全部信息,包括计算机序号、配置、位置、状态、使用情况的历史记录(包括使用者姓名、学号、使用时间段)等。本系统可以模拟学生上机和离开的登记过程,查询机房计算机的使用情况。

2、保存:将相关数据写入磁盘文件,便于存、取操作。分步实施:

1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;

2、完成信息的录入和显示(即通过编程创建文件,输入计算机信息并可将文件内容显示出来)

3、能实现学生上机的登记过程模拟;

4、进一步要求:查询机房计算机的使用情况。要求:

1、用C语言实现程序设计;

2、利用结构体进行相关信息处理;

3、系统的各个功能模块要求用函数的形式实现;

4、界面友好(良好的人机交互),程序要有注释。

课程设计实验报告要求:

1、预习报告:仔细分析客户需求、进行模块划分、设计每个模块的算法和数据结构。

2、实验总结报告:按照模板的格式。(任务书和报告模板在http://3e.xaut.edu.cn/c下载)。C语言课程设计任务书及指导书15 题目:商店销售管理系统。

功能:

1、屏幕上出现一个界面,让售货员输入商品编号或者商品名称,可以进货,进货后商品库存同时增加。顾客买走商品后,售货员输入商品编号或者商品名称,可以生成销售清单,统计本次销售总的价钱,同时库存数量相应减少。完成前面的基本功能后,还可以完成增加新的商品或删除不需要的商品的功能,以及每天销售统计功能等。

2、保存:将相关数据写入磁盘文件,便于存、取操作。分步实施:

1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;

2、完成信息的录入和显示(即通过编程创建文件,输入商品信息并可将文件内容显示出来)

3、能按商品编号进货和销售;

4、进一步要求:完成增加新的商品或删除不需要的商品的功能,以及每天销售统计功能等。要求:

1、用C语言实现程序设计;

2、利用结构体进行相关信息处理;

3、系统的各个功能模块要求用函数的形式实现;

4、界面友好(良好的人机交互),程序要有注释。课程设计实验报告要求:

1、预习报告:仔细分析客户需求、进行模块划分、设计每个模块的算法和数据结构。

2、实验总结报告:按照模板的格式。(任务书和报告模板在http://3e.xaut.edu.cn/c下载)。

C语言课程设计任务书及指导书16

题目:计算机辅助教学(CAI)软件开发:教小学生学英语。

功能:

1、屏幕上随机出现一个汉语单词,英语单词,汉语词组,英语词组或一短句提示小学生给出相应答案,答错了要提示要求重新输入,直到答对为止。要统计给分,且累计,够一定分数后可进级,即从单词到词组,从词组到短句。同样,也可降级。起步阶段可各选30个,软件可扩充,即扩大词库的容量。

(rand(),#include 结构体、文件或数组)

2、保存:将相关数据写入磁盘文件,便于存、取操作。

分步实施:

1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;

2、完成最低要求:能教单词,并有统计功能,即一次答对的成功率为90%以上后可晋级;

3、进一步要求:将词库、当前晋级等级保存在磁盘文件,每次登录时读取。要求:

1、用C语言实现程序设计;

2、利用结构体进行相关信息处理;

3、系统的各个功能模块要求用函数的形式实现;

4、界面友好(良好的人机交互),程序要有注释。课程设计实验报告要求:

1、预习报告:仔细分析客户需求、进行模块划分、设计每个模块的算法和数据结构。

2、实验总结报告:按照模板的格式。(任务书和报告模板在http://3e.xaut.edu.cn/c下载)。

C语言课程设计任务书及指导书17 题目:飞机订票系统设计

功能:

1、本飞机共有80个坐位,分20排,每排4个位子。编号为A,B,C,D。如10D表示10排D座。A和D靠窗,19到20排为吸烟区。本系统可让乘客自己选座号和区域,直到乘客满意为止,无法满足的话,只能改乘另一个航班。定上票的乘客需给出姓名和身份证号,最后要打印出乘客清单。

2、保存:将相关数据写入磁盘文件,便于存、取操作。分步实施:

1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;

2、完成最低要求:建立一个小系统,包括5排座位,两个区域,能供乘客选择;

3、进一步要求:每次登录时读取上次保存在磁盘文件中的订票记录。要求:

1、用C语言实现程序设计;

2、利用结构体进行相关信息处理;

3、系统的各个功能模块要求用函数的形式实现;

4、界面友好(良好的人机交互),程序要有注释。课程设计实验报告要求:

1、预习报告:仔细分析客户需求、进行模块划分、设计每个模块的算法和数据结构。

2、实验总结报告:按照模板的格式。(任务书和报告模板在http://3e.xaut.edu.cn/c下载)。

C语言课程设计任务书及指导书18 题目:高速公路计费系统设计

功能:

1、在某高速公路出口收费处,对三种类型的车辆计费,大型车每公里0。5元,中型车每公里0。4元,小型车每公里0。3元,来车验条,乘公里数即得该收的款项。在交班时要统计出总金额数。

2、保存:将相关数据写入磁盘文件,便于存、取操作。分步实施:

1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;

2、完成最低要求:建立一个只有三个入口的计费系统,并能进行统计计算,打印出报表;

3、进一步要求:1)每次登录时读取上次保存在磁盘文件中的收费总额。

2)完成任意多个入口的通用系统。

要求:

1、用C语言实现程序设计;

2、利用结构体进行相关信息处理;

3、系统的各个功能模块要求用函数的形式实现;

4、界面友好(良好的人机交互),程序要有注释。课程设计实验报告要求:

1、预习报告:仔细分析客户需求、进行模块划分、设计每个模块的算法和数据结构。

2、实验总结报告:按照模板的格式。(任务书和报告模板在http://3e.xaut.edu.cn/c下载)。

篇2:c语言实习任务书

要求:

一、由键盘输入原始数据。原始数据内容如下:

学号姓名C程序设计高等数学英语线性代数

1王..80808080

2张..90909090

注:要求至少有20个学生的原始数据

二、实现以下功能。

程序要求主函数是一个功能选择菜单,其它各功能用函数实现。功能要求如下:

1、原始数据的输入

2、计算每位同学的平均分

3、计算每门课程的平均分

4、计算各分数段(90-100、80-89、60-79、60以下)的人数

5、对这些同学的成绩按平均分排序,给出名次。

6、对原始数据可以进行增、删、改的编辑操作。

7、按学号查询学生。找到则显示该生信息,否则提示未找到。

8、原始数据可以保存为文件,也可以从文件载入。

注:程序统计输出结果如下:

学号姓名C程序设计高等数学英语线性代数平均分名次 1王..80808080802 2张..90909090901

各科平均分8585858585

C程序设计高等数学英语线性代数平均分

90-10011111

80-8911111

60-6900000

篇3:c语言实习任务书

C语言属于程序设计高级语言,但与一般高级语言相比,C语言又具有一些低级语言的特点。C语言代码执行效率较高,适用范围广,操作符众多,语法使用上灵活多变,一段程序可以不断修改雕啄直至完美,用C语言可以写出许多精妙漂亮的程序,因此C语言得到广大程序员的拥护和喜欢,得到广泛的应用。但C言语言这些独具的特点对初学者来说却不一定都是好事,C语言不是一门容易掌握的语言,在C语言学习过程中,学生会遇到很多困难与挑战。很多学生反映上课时觉得听懂了,相关理论内容也看懂了,但一到上机实验环节,需要自己动手编写代码和调试程序时,就出了问题,或是无从着手,不知如何下手去写;或是这也不对,那也不对,问题不断。教师常常要不断来回走动回答各种问题,由于扩招学生人数往往比较多,一旦同时有多人问问题,可能还不能及时解答,教师疲于应付,很辛苦但效果却并不好。学生反映C语言难学,一些学生上机跟不上老师理论教学进度,个别学生会产生归避困难的想法,抄袭交差应付。在一次教学讨论会上,有教师就讲到现在的90后学生在学习上比较缺乏吃苦精神,刻苦钻研努力克服学习中遇到的困难的学生少了,很容易放弃努力,他对学生现状表示担忧。也有教师有不同看法,指出现在学生见识广,思维活跃,头脑灵活,时代在进步,不能用以前的标准要求现在的学生,现在学生也很有优秀,教师要根据现在学生特点作相应调整。我们认为后者观点更具有积极性和建设性,作为教师应该能够发现学生身上闪光点,因材施教,能够不断根据教学对象情况变化调整教学理念和教学方法。

1 细分任务驱动教学方式

1.1 任务驱动

C语言实验课堂教学过程一般是:教师首先提出本次实验要求和实验目的,比如本次实验要完成什么程序,通过编写这程序掌握什么知识点;然后对本次实验的原理和难点进行讲解;接着开始让同学们上机编程,教师在教室来回走动,随时解答同学们的问题;最后同学们上交把编好的程序写成实验报告上交,教师给出实验成绩。C语言实验题目除了刚开始几次可以是“验证型”,大部分是“设计型”的题目,一般不建议学生对着书上现成程序照抄,鼓励同学们自己动手写代码,在C语言实验课堂教学过程中,最容易暴露出问题的是学生写程序环节,特别当实验内容是难点时,更易出现上面所说问题。

任务驱动式教学方法是一种建立在建构主义学习理论基础上的教学方法[2]。建构主义学习理论强调学习是学习者对目标建构和对其理解的过程,学生是知识意义的主动建构者,而不是外部信息刺激的被动接受者;教师是学生在学习过程中主动建构知识意义的帮助者,而不是知识意义的灌输者[3]。任务驱动教学方法就是把直接传授知识的传统教学方式转变为通过解决问题、完成任务从而掌握知识的的教学方式。C语言实验课程本身主要目标就是通过学生的上机操作完成编写程序任务,因此十分适合采用这个方法。

1.2 任务细分

在实践教学过程中,如果只是简单地把布置任务,经常达不到希望的效果,同学们往往会觉得任务目标太难,望题目而生威,有教师就提出来是不是可以降低要求,题目出简单点。我们认为更好的方式是把任务进一步细分,把一个复杂的问题分成相互关联的多个小问题,由浅入深,最后融会贯通,不知不觉中逐渐完成任务。以C语言中典型的题目99表为例来说明如何任务分解,99表是让学生用两重循环的方式在屏幕上输出一个99表,如果直接把程序给学生照样子敲一遍输入进去,作成验证型实验,学生理解不深,效果不好,达不到实验目的,但如果直接就给个题目让学生作,学生们可能会觉得有困难,无从着手,为此可把任务细分为如下几个子任务:

1)输出m*n由“*”组成的矩阵,printf只能每次打出一个“*”,如图1如示。

2)输出由“*”组成左三角型图型,如图2如示。

3)将任务2中的“*”换成积,如图3所示。

4)输出1*1=1 2*2=4……9*9=81格式的三角型99表。

5)分别输出由“*”组成如图4、图5、图6所示的图型。

通过如上细化任务的方式,可以看出上下子任务之间是相互关联的,上一任务是下一任务的基础,上一任务的程序只要作小部分修改就可完成下一步的任务,一步一步深入,每次前进一小步,每一步都不会太难。由于每一步与一个小的知识点相关连,这样在某一步时只用关心与这一步相关的细节,学生学得会比较扎实,另外在程序调试上也相对容易,不至于一下子要面对整个程序错误,同时也比较容易暴露出学生在哪个知识点没掌握好,从而可以有的放矢地讲解。

1.3 分层教学

分层教学是使不同层次的学生在知识、智力、能力等各个方面的优势能得到充分发展,从而全面提高教育教学质量的一种个性化教学组织形式[4]。在提倡以人为本、张扬个性的今天,应以学生为本,针对不同程度的学生采用不同的教学要求和不同教学内容。目前在教学上同一类教学对象的同一门课程一般都要求统一教材,统一进度,实验课的实验内容、实验要求对每个学生都是同样的,但学生是有个体差异的,学生的基础不同,学习能力,操作动手能力,兴趣取向都不同,在程度差的同学抱怨太难跟不上的同时,也有基础好的同学吃不饱,教学上往往很难两头都能兼顾。任务细分化为分层教学带来了可能,我们可以给不同的学生布置不同的学习任务。如上面例子,一般的学生可以要求完成到步骤4,优秀的学生要求完成步骤5,而个别很困难的要求至少能完成步骤3。如此使得不同程度的学生都有具体目标,这样大家都有努力的目标,不至于差生越学越没信心,以至于在学业上跟不上进度,恶性循环以至不可收拾,优秀生也有进一步的目标,不至于提早完成觉得无事可作。可以鼓励优秀生现场编写程序,而差生要求实验前先书写程序。当然现在学生自尊心比较强,在具体操作上要注意方式方法,避免打击学生的学习自尊心,影响学习积极性。

1.4 在线评判系统

细分任务驱动实验教学法最佳方式是学生在作完每个子任务后都能有一个批改反馈,让学生知道正确与否,只有前一步正确才能开始下一步。并不象所有程序都象99表这么直观的,可以轻易知道作对与否,由于学生人数众多,实验教师靠人工批改无法作到即时反馈,在线C语言程序在线评判系统可以很好满足这种要求,在线评判系统Online Judger(OJ)用户可以在线提交多种语言(如C、C++、Java)的源代码,系统对源代码进行编译和执行,并通过预先设计的测试数据来检验程序源代码的正确性。OJ系统最初使用于ACM/ICPC(国际大学生程序设计竞赛)和OI(信息学奥林匹克竞赛)当中,现广泛应用于世界各地高校学生程序设计的训练、参赛队员的训练和选拔、各种程序设计竞赛以及数据结构和算法的学习和作业的自动提交评判中[5]。。我们采用所在教研室自行开发的在线C语言程序教学检测系统,系统采用BS结构,学生把写好的程序通过浏览器在线提交,系统会将结果即时反馈。教师可以在任意时间查看每一题的通过学生名单,通过率等等,第一时间可以了解学生的实验进展情况,可以有的放矢的集中讲解,也可以随时关注优秀生和差生的具体情况。在线评判系统为细分任务驱动实验教学法提供了技术保障。

1.5 学习兴趣

任务驱动法可以很好地保证教学质量,但完成任务不是我们教学目的,任务驱动法在具体实施过程中要注意不能本末倒置,过分强调任务完成。C语言课程教学目的是教会学生学习和理解编程知识和原理,掌握C语言基本编程动手能力,为以后的计算机应用与开发打下基础。C语言是学生大学里所接触的第一门计算机编程课程,作为编程语言的启蒙教师,不仅是要教会学生编程原理,更应该培养学生对编程的学习兴趣,如果所教班级学生都不喜欢编程,即便成绩还可以,个人认为也不算是教学成功。兴趣是学习的动力内在,激发学生编程兴趣是学好编程的最好方法。平时可给学生们展示优美程序的例子,可让学生比一比谁写的程序更精简,引导学生不光是会写正确的程序,还要会写漂亮的程序,学会欣赏C语言之美,体会学习C语言之乐趣。多布置些能引起学生兴趣的任务,与学生平时生活相关或与专业相关的题目。

2 结论

由于C语言实验课程特点,任务驱动教学方法十分适合于C语言实验课程教学,任务细分可以很好地解决初学者畏难心理,可以实现以人为本,分层教学,可以很好地保证实验课教学质量,但在具体实施过程中,不能过分强调完成任务,培养学生对编程的兴趣是每位语言教师都应追求的目标。

摘要:C语言是一门实践性很强的课程,编程理论的理解和编程能力的提高很大程度有赖于学生上机实践。指出C语言实验教学环节存在的不足,提出基于任务细分的任务驱动C语言实验教学法,该方法将任务细分为多个子任务,逐步完成,避免了初学者觉得任务太难、无从着手的现象,并在此基础上实行分层教学,在线评判系统为其提供了技术保障。在强调完成任务的同时,要注重学生编程兴趣的培养。

关键词:教学改革,C语言,任务驱动

参考文献

[1]教育部高等学校计算机科学与技术教学指导委员会.关于进一步加强高等学校计算机基础教学的意见[M].高等教育出版社,2006.9.

[2]何克抗.建构主义革新传统教学的理论基础(上)[J].电化教育研究,1997(2):3-9.

[3]钱晓菁,马玉娟.试论“任务驱动”[J].中国电化教育,2002(9):35-36.

[4]王爱军分层教学发展与研究综述[J]成人教育2011(8):65-66.

篇4:c语言实习任务书

关键词:教学模式;任务驱动;c语言程序设计;教学实践

0引言

《C语言程序设计》作为计算机程序设计的基础,是理工类本科学生的一门必修课,尤其是C语言对计算机硬件具有很好的编程能力,使其在工科教学中的生命力越来越强。我们学院在C语言的教学上基本上还是采取传统的教学模式:按照C语言教材自身的内容上课、上机,采取笔试形式考试。这样的教学模式使得学生过分注重C的语法、语句等规则,而忽视了对编程思路的培养,学生独立分析问题和解决问题的能力没有很大的提高,给学生参加全国等级考试以至后续课程的学习留下了隐患。下面就作者在C语言教学过程中的经验谈谈想法。

1传统教学模式

传统教学模式是以教师作为课堂的中心,以广大学生为讲授对象,以课本作为讲授的主线。虽然现在教学环境大都采用多媒体大屏幕,操作方便,易于控制教学内容和节奏,能在规定课时内呈现较多信息量;但是学生往往处于被动学习状态,教学内容难以适应学生的个体差异,所有学生被迫按照老师的讲授速度进行学习,不利于培养思维能力与创造能力。

上机实践课上通常老师会事先布置几道编程题,但是学生上机目标不是很明确,问的问题多数是属于同一类问题。老师不停地在机房各处一一解答,既浪费时间,也没取到很好的效果。学生在机房没有紧迫感,甚至有些学生觉得无事可做,就会打游戏等。这种上机方式不利于培养学生的动手能力和自我解决问题的能力。

学生学不好C语言主要是因为C语言教学的重点不是放在如何解决问题上,而是把大部分的时间放在讲解语法规则和语句格式上,其后果就是学生一拿到任务后首先琢磨如何定义变量,用什么语句,而不是对问题进行合理的分析,考虑最佳算法,这样当然觉得很难而且也设计不出好的程序。学生参加全国等级考试的通过率很低也就不足为怪了。

2“任务驱动式”教学模式

采用“任务驱动式”的教学方法,知识及技能的传授以完成典型“任务”为主,有利于提高学生利用计算机进行自主学习与解决问题的能力。

2.1教学内容的改革

我们把通过全国计算机二级考试作为学习c语言的目标,针对等级考试大纲来确定教学计划以及教学内容。为此,我们从第一堂课起就强调并要求学生通过全国二级考试,既让学生明确短期学习目标,又放眼长远的努力方向,以激发学生进行自主学习的主动性。我们将教学内容分离为几个相对独立的模块,即结构模块、数组模块、指针模块、函数模块和文件模块。模块的内容要循序渐进,把握好由易到难,由简单到复杂的教学过程,否则容易使学生一开始就产生一种畏惧情绪,失去学习兴趣。然后,力求概念准确,分散难点。各模块的教学目标要十分明确,教学量适中,让学生很容易把握住教学要点,理解和掌握教学内容。

2.2设计好实验任务

实验任务的设计包括任务的提出与分解、最终达到的目标、解决问题的方法等。目的性要强,任务要明确,这样才能很好地缓解计算机基础课程实验教学中学生无事可做,玩游戏、上网聊天等现象。要培养学生限时编程的良好习惯,要求学生在规定的时间内编写和调试好给定的程序。通过这些基本功的训练,学生在具备了扎实的计算机程序设计能力后,就较容易通过全国计算机二级考试。

在程序设计语言教学中,算法是程序设计的灵魂,学生编写不出程序的首要原因是设计不出—个合适的算法。因此,在教学中应对常用的算法结合典型实例进行详细地讲解,强调算法的步骤,让学生对算法有比较深刻地了解,并鼓励学生从不同角度去思考问题,对于同一个问题的解决用多种方法来实现。这样有助于拓展学生的思维,增加学生对学习C语言的兴趣。

例如:计算n!

我们可以采用递归法:

2.3学习成绩评价方式的改革

采用“笔试+上机考试”的评价方法可以提前让学生体验全国等级考试的过程。同时,两种形式考试都通过才算这门课程通过,也能促使学生在学习c语言的基本知识之外加强编程实践,让学生学到c语言的语法规则的同时也掌握了程序设计的方法。

3结束语

篇5:C语言实习

姓名:黄方成班级:天目计算机0

4一、课程设计题目:

《公司职工管理系统》

二、程序主要功能:

实现基本的学生的数据管理,如:创建新数据文件、添加数据记录、查找数据记录、删除数据记录、显示所有的数据记录,以及数据的排序等等。(分别使用了shuru()、insert()、found()、delete()、inputs()、list()、putin()、print()、resave()等函数)。其中数据的输入、插入、查找、数据的删除,输入又可通过不同的方式按姓名查找等进行操作。

三、函数实现说明:

主要函数:

1、shuru()

该函数主要用来创建新数据文件,当第一次使用该程序或者原创建的文件的内容无效,需建立一个新的文件的时候,可通过该函数来实现。

该函数实现过程中首先定义了两个变量i,初始化为0,用来存储学生的数量,它们均随着输入记录的增加而增大(每输入一条增加1),用变量i来抽象表示其中的任何一条记录,对该程序来讲即为通讯录中包含的学生人数。之后需使用户输入数据,这就需要设计时先在屏幕上显示有关输入数据性质提示信息(如学生号、姓名、电话、入学分数等等)。输入完一条记录进行保存。从而使数据在文件中得到保存,另外在输入姓名为空时,函数认为添加已经结束,自动关闭函数的输入记录功能,跳出该功能。

2、insert()

该函数可对文件的数据进行插入。在进行添加的时候需要首先打开原来的数据文件,在该函数中调用了load()函数将数据文件打开。再调用shuru()函数文件之后同shuru()中一样的形式输入数据,输入完之后进行保存,对插入的 1

数据进行保存前要先确定插入的地点,insert()函数在设计时将插入点放在了文件末尾,即将添加的数据加到文件的最后。Insert()函数与创建新数据文件的shuru()函数除保存及被功能上的使用时间不同外,其他功能基本相同。

3、found()

该函数调用了find()这个函数来实现不同方式的查找。具体使用什么方式查找需由用户自己选择,于是使用switch语句先设计一个选择过程。当选择按名字查找方式,就启用find()函数查找,过程为先要求用户输入所要查找的数据文件的名字(例如是毕业学校的文件保存名字),然后再将这个名字与以存数据名字逐个进行比较,当找到数据的时候就调用printin()函数将该数据的所有信息打印出来,否则显示“没有找到这个姓名!”以示没有找到。

4、delete()

该函数用来删除不需要的数据记录。实现过程为:首先输入需要删除的记录的名字,将该数据逐一与以存文件中的学号进行比较,在比较过程中定义了若干个指针变量*node,*before,*pt,并初始化为*before=NULL,接着就是对该记录的删除操作,将此记录及其后的每一条记录逐一用它们之后的那一条记录替换,即实现了对数据的删除。并且还调用了函数load(),用来对文件数据的删除。若没有找到需要删除的数据,before的值任为1,则屏幕显示“没有该学生的记录!”。在删除记录后需对操作结果进行保存,最后根据用户的选择来决定是否继续删除,为空时是离开。

5、print()

使用该函数可以显示所有的操作员自己输入的所有的学生数据记录。它只用到了简单的printf(“”)语句,但是它用了含有++i的变量来输出下一个记录,每打开一个记录就自己增加1。当需先打开数据文件时,读取其中的数据记录,然后将这些记录按一定的形式打印在屏幕上,为是打印的效果整齐、美观,则要对其输出的方式、格式进行设计,采用了t的对齐方式。

6、putin()

该函数可对数据文件中数据具体的存放顺序进行操作,主要是用来实现排序功能。设计的此程序对数据的存放顺序只按照姓名的长度进行排列。该功能用循环实现,并且包含了许多的字符函数,包括在头文件#include中。从数

据文件的开头起,将第一条记录的姓名与之后的每一条记录的姓名的字符长度进行比较,若前者大于后者,则交换它们的位置,这一循环完毕后,再类似对第二条、第三条„„直到倒数第二条为止进行比较,即实现了第二次循环。两次循环比较完之后便将数据文件中的数据按照姓名长度的顺序,从短到长排列起来。最后保存操作结果。

7、main()

一个程序主函数不能少。当以上的函数均编完之后,要实现各个功能操作的连接,还必须有主函数将它们联系起来,这样才能达到理想的结果。对以上函数的连接,此程序采用了switch语句,格式清晰、容易接受。至此班级通讯录管理的基本功能便基本实现。

8、在其他方面对界面的美观进行了改动,采用了许多符号的编排,和大量的对齐方式。

三、调试分析:

程序调试是指对程序的查错和排错。

为了便于查错、阅读,在设计该程序的时候我采用了结构化程序方法编辑,添加了尽可能多的注释,这为我后来的调试过程带来了很多方便。

为了方便,我先大量的阅读了许多优秀程序员的成功例子,觉得在使用变量时采用大量的指针形式是使功能能大量的进行,并且使程序运行的很快。

所以就写了一份草稿,进行对低级错误的修改,在修改过程中,发现很多都是因为在写完一个语句时,忘了加上分号(;),在用到scanf时,忘了写上取地址(&)符号。过分重视分号的重要性而在for、if、while语句中画蛇添足加分号;在使用文件的时候忘记将文件先打开,对打开的方式与使用的情况不太注意而造成不匹配;还有漏掉形参的定义是值不能传递等等。这些语法错误有信息框的提示一般是能够排除的。

等低级错误。

经过仔细检查之后进行上机调试。进行编译,如果在编译和连接过程中发现错误,屏幕上显示了出错信息,根据提示找到出错的位置,加以改正,再进行编译„„如此反复,直到顺利通过编译和连接为止。在本次实习过程中碰到的编译、连接的错误主要有:

1、定义变量时;

变量不容易联系起来,经常会写错变量名,但是在错误信息的提示下一般还是很容易找到。但是在写各个函数时,发现一个变量名,只要不是全局变量就可以无数次定义,只要分开在不同的函数中就可以了。不过需要注意的是在定义的时候有些函数使用同样的变量名而表示不同的作用,因而使用要很小心,定义及定义的位置要特别留意。因此,我都才用node做为一个结构体的指针变量。采用llink为头指针,从而减少这样的变量名过多出现的错误,结果引起的那些错误解决了。

在编写程序时要安静,才不会出现低级错误。

2、语法错误;

语法错误在通过书本参考下能够修改,并且在上机的错误提示中得到修改,但是由于书本是C语言。不是C++的,所以在使用时要注意在主函数和一些定义变量跟声明函数时有些不同,这不是语法的错误,而是作为一个程序员必须要注意到的,要体会两种语言的区别,由于平时看书不仔细、没有经过仔细的思考造成的。如没有注意具体数据使用是有一定的范围限定;

在本次调试过程中我还碰到了一些以前上机过程中从未碰到过的错误。逻辑上的错误机器不易检查出来,这时需要对数据结果进行分析。这种错误的查找是最难的,需要编程序的人有相当的耐心和细心去把问题找出来。这也是本次程序编辑过程中碰到的最大的难题。因此我使用的是一个一个函数的检查,并通过调试修改。

在调试时,碰到了许多平时没有的错误,如:开辟内存时,忘了加*号,使得检查的时候认为是指针的错误,还有是在类型转换时,发现在类型转换为时要加上teperdef,并且在调试时在学习时的有个强制转换比teperdef更有用,如(strect llist*)llink与teperdef llist struct nodeteperdefnode *llink,以上两句是一样的。

四、心得体会:

编程看起来似乎是一件很枯燥、乏味的事情,但是经历了这次大程序的编辑之后,发现其实里面还是充满乐趣的,一旦真的专研下去什么事情都可以放下,来认真研究。当这个自己编写的程序在计算机上实现自己想要的功能时,很有成就感,发现了许多原来的错误,使自己的水平上升了一个大台阶。

这个程序的成功对以后要学习的数据结构就更有信心了。

篇6:C语言数组实习

姓名:尹思智

学号:2012014413 完成日期2013年4月

一、实习目的

1.从键盘输入10个整数,将最大数调到最前面,最小数调到最后面。2.已有一个已排好序的数组,今输入一个数,要求按原来排序的规律将它插入数组中

3.从键盘任意输入两个字符串,不用库函数strcat,将两串字符连接起来。4 输入一个5×5的数组,分别求其主对角线和次对角线上元素之和 5.由键盘任意输入10个学生的姓名(以拼音形式),将它们以字典顺序从小到大排序。

6打印如下形式的杨辉三角 1 1 1 1 1 10 5 7.定义一数组(长度大于10),从键盘输入数组元素的值,完成下面操作:

(1)从键盘输入一个数,用顺序查找法找出该数在数组中的位置;或者给出没有找到的信息;

(2)对数组的元素从小到大排序;

(3)从键盘输入一个数,用折半查找法找出该数在数组中的位置;或者给出没有找的信息。

8.直接选择排序法。算法描述如下:

(1)从n个数中找到最小的数,若此数不是数组的第一个元素,则与第一个元素交换位置;

(2)从剩下的n-1个数中找到最小的数,若此数不是数组第二个元素,则与第二个元素交换位置;

(3)以此类推,直到完成排序

9.编写程序将两个有序数组归并。例如数组{1,3,5}和数组{2,4,6,8,10},归并的结果是{1,2,3,4,5,6,8,10 }

二、实习步骤

1.从键盘输入10个整数,将最大数调到最前面,最小数调到最后面。

流程图; 运行图;

2.已有一个已排好序的数组,今输入一个数,要求按原来排序的规律将它插入数组中

流程图

运行图

3.从键盘任意输入两个字符串,不用库函数strcat,将两串字符连接起来。

流程图 运行图 输入一个5×5的数组,分别求其主对角线和次对角线上元素之和

流程图 运行图

5、由键盘任意输入10个学生的姓名(以拼音形式),将它们以字典顺序从小到大排序。

流程图 运行图

6打印如下形式的杨辉三角 1 1 1 1 1 10 5

流程图 运行图

7.定义一数组(长度大于10),从键盘输入数组元素的值,完成下面操作:

(1)从键盘输入一个数,用顺序查找法找出该数在数组中的位置;或者给出没有找到的信息;

(2)对数组的元素从小到大排序;

(3)从键盘输入一个数,用折半查找法找出该数在数组中的位置;或者给出没有找的信息。

流程图 运行图

8.直接选择排序法。算法描述如下:(1)从n个数中找到最小的数,若此数不是数组的第一个元素,则与第一个元素交换位置;

(2)从剩下的n-1个数中找到最小的数,若此数不是数组第二个元素,则与第二个元素交换位置;

(3)以此类推,直到完成排序

流程图 运行图

9.编写程序将两个有序数组归并。例如数组{1,3,5}和数组{2,4,6,8,10},归并的结果是{1,2,3,4,5,6,8,10 }

流程图 运行图

上一篇:运动会精彩片段描写下一篇:《开学第一课》心得观后感300字