《程序设计基础》实验教学大纲
发布时间: 2023-05-24 浏览次数: 12

南 京 中 医 药 大 学


《程序设计基础》实验教学大纲

 (适用于_计算机类、医学信息工程、人工智能__专业)


课程名称:   程序设计基础英文名称:Foundation of programming

课程类别:   专业基础必修课   课程编码:088000

课程学分:0(3)课程学时:    36(72)          

开课单位: 人工智能与信息技术学院       实 验 室:计算机实验室

实验项目数:12课程负责人:陆志平


  1. 课程简介

 本课程是计算机科学与技术专业必修的专业课程之一,是数据结构、操作系统等课程的前导课程。课程主要介绍程序设计的基本内容,有数据类型、常量与变量、程序结构、函数、结构体、指针和链表等内容。本课程以C 语言为基础,介绍程序设计的思想和方法。同时,该课程也是一门实践性很强的课程,学生通过大量实验来学习程序设计的基础知识和技能,并在实践中培养学生的创新意识,养成良好的程序设计习惯,为后续学习与开发打下良好基础。

二、教学目标与基本要求

 本课程以培养学生全面掌握程序设计的基础知识、语法、使用C语言完成完整程序的编写、培养学生编程能力和良好的专业素养为目标。

 在实验过程中,鼓励学生采用探究学习方式,学生通过自主、独立的调查收集资料、处理信息、交流材料等探索活动,获取知识技能,培养探索精神和创新能力。学习过程以学生为主体,弱化教师的主导地位,教师主要以引导和解答的形式来指导学生的学习,从而成为学生学习的合作者。在探索学习的过程中掌握基本的社会、身体和心理健康、安全、法律等方面知识和技能,了解计算机领域活动与之相关性。教师积极主动的参与学生学习的过程,并利用有利于学生学习的因素,激发学生学习的内在动力,让每个学生体会到学习的乐趣,拓展学生自主、合作、探究学习的空间,指导学生选择适合自身发展需要的学习方法,激发学生的情感体验,丰富学生知识,发展学生能力。

 通过课程学习,学生能够完成项目的规划、设计、调试、运行及文档的书写。能灵活应用C语言进行程序设计,具备利用计算机求解基本问题的能力,从而理解计算机相关领域工程实践中应承担的社会责任。结合本课程的教学特点,从基本技能、综合技能到应用创新技能培养学生实践能力和创新能力。



三、实验项目、内容与学时分配

实验项目(实验大纲填写)


序号

实验项目名称

学时

内容提要

实验类型

基础性

综合设计性

创新性

1

熟悉IDE,掌握程序的编写、编译、调试和运行

3

[实验目的]

通过本次实验,学生需掌握C程序编译环境的使用与程序架构

[实验内容]

1CodeBlocks中创建项目

2、使用CodeBlocks快捷键进行操作

3、观察程序架构

4、编写、编译、连接、运行程序

5、对程序进行调试

[实验方法及原理]

1、讲解实验内容、实验步骤及实验思路

2、学生上机实践,解答学生实验中遇到的问题

3、总结实验中出现的问题



2

编程熟悉简单的算术运算和常量定义

3

[实验目的]

通过本次实验,学生需掌握算术运算符和表达式的应用,并能熟练使用常量参与运算

[实验内容]

1、运用各种数据类型进行编程练习

2、运用类型转换求解表达式

3、通过变量的赋值与赋值运算输出实验结果

[实验方法及原理]

1、讲解实验内容、实验步骤及实验思路

2、学生上机实践,解答学生实验中遇到的问题

3、总结实验中出现的问题



3

输入输出语句编程练习

3

[实验目的]

通过本次实验,学生需掌握C语言算术运算及输入与输出函数的应用

[实验内容]

1、设计术运算符及算术表达式

2、通过printf()函数输出表达式的值

3、通过scanf()函数输入值

[实验方法及原理]

1、讲解实验内容、实验步骤及实验思路

2、学生上机实践,解答学生实验中遇到的问题

3、总结实验中出现的问题



4

运用选择结构编写程序

3

[实验目的]

通过本次实验,学生需掌握C程序中选择语句的语法,学会运用选择结构解决简单的问题

[实验内容]

1、运用分支程序预测个人身高

2、运用分支程序解决提醒判断的问题

3、总结不同分支语句的运用环境

[实验方法及原理]

1、讲解实验内容、实验步骤及实验思路

2、学生上机实践,解答学生实验中遇到的问题

3、总结实验中出现的问题



5

运用循环求解简单问题

3

[实验目的]

通过本次实验,学生需掌握C程序循环语句的语法结构,学会使用循环结构来解决重复操作的问题

[实验内容]

1、通过循环解决国王的许诺问题

2、使用循环结构设计一个小学生计算机辅助教学系统

3、通过实验分析不同循环结构之间的区别以及使用的环境

[实验方法及原理]

1、讲解实验内容、实验步骤及实验思路

2、学生上机实践,解答学生实验中遇到的问题

3、总结实验中出现的问题



6

编写函数程序、练习函数的调用

3

[实验目的]

通过本次实验,学生需掌握函数的定义、调用方式;掌握形参与实参之间的关系;掌握局部变量与全局变量之间的关系

[实验内容]

1、采用试商法等发方法求素数

2、在求得素数的基础之上,设计各种其他相关的应用

3、用函数改写上次实验课程的内容

4、总结函数的使用方法与注意点·

[实验方法及原理]

1、讲解实验内容、实验步骤及实验思路

2、学生上机实践,解答学生实验中遇到的问题

3、总结实验中出现的问题



7

用数组解决给定问题

3

[实验目的]

通过本次实验,学生需掌握数组的概念与定义方式;掌握数组的应用;掌握数组作为函数参数的本质及使用方式

[实验内容]

1、设计学生成绩管理系统

2、运用数组存储学生的各种信息

3、通过数组进行统计学生成绩等信息

4、运用函数解决上述问题

[实验方法及原理]

1、讲解实验内容、实验步骤及实验思路

2、学生上机实践,解答学生实验中遇到的问题

3、总结实验中出现的问题



8

指针和字符串程序练习

3

[实验目的]

通过本次实验,学生需掌握字符串的存储;掌握字符串指针的应用;掌握字符串处理函数的应用

[实验内容]

1、运用二维字符数组改写学生成绩管理系统,形成v3.0版本

2、运用二维字符数组对学生姓名进行排序

3、按姓名查询学生的相关信息

[实验方法及原理]

1、讲解实验内容、实验步骤及实验思路

2、学生上机实践,解答学生实验中遇到的问题

3、总结实验中出现的问题



9

指针与数组的综合运用

3

[实验目的]

通过本次实验,学生需掌握指针与一维数组之间的关系;掌握指针数组及其应用;掌握动态数组的定义方式

[实验内容]

1、运用指针与数组改写学生成绩管理系统,形成v4.0版本

2、运用指针与数组计算学生与课程的相关统计数据

3、通过实验总结指针与数组一起使用的意义

[实验方法及原理]

1、讲解实验内容、实验步骤及实验思路

2、学生上机实践,解答学生实验中遇到的问题

3、总结实验中出现的问题




10

二维数组指针的应用

4

[实验目的]

通过本次实验,学生需掌握指针与二维数组之间的关系;掌握二维字符数组的概念与特点;掌握通过指针给二维字符数组进行排序

[实验内容]

1、运用二维数组与指针给字符串数组进行排序

2、总结普通指针与数组指针的区别

[实验方法及原理]

1、讲解实验内容、实验步骤及实验思路

2、学生上机实践,解答学生实验中遇到的问题

3、总结实验中出现的问题



11

结构体程序的设计

3

[实验目的]

通过本次实验,学生需掌握结构体的概念与定义;掌握结构体数组的定义与初始化;掌握结构体指针的定义与初始化

[实验内容]

1、运用结构体改写学生成绩管理系统,形成v5.0版本

2、实现各个模块的功能

3、总结结构体实现与数组实现的区别

[实验方法及原理]

1、讲解实验内容、实验步骤及实验思路

2、学生上机实践,解答学生实验中遇到的问题

3、总结实验中出现的问题



12

文件输入输出程序编写

2

[实验目的]

通过本次实验,学生需掌握文件的概念与本质;掌握文件的打开与关闭方式;掌握文件按字符读写与按字节读写的方式

[实验内容]

1、运用文件的输入输出功能完善学生成绩管理系统,形成v6.0版本

2、将信息写入到文件中

3、系统可以从文件读取信息再进行处理

[实验方法及原理]

1、讲解实验内容、实验步骤及实验思路

2、学生上机实践,解答学生实验中遇到的问题

3、总结实验中出现的问题





五、教材及主要参考资料

1. 教材    

苏小红.C 语言程序设计(第4版),高等教育出版社,2019.8.1

2. 参考资源

1)教学平台

 南京中医药大学在线学习平台:e.njucm.edu.cn

 中国大学MOOChttp://www.icourse163.org/university/icourse#/c

课程教师联系方式:QQ7751824

       (2)参考书目

 Stephen Prata.C Primer Plus 6版, 人民邮电出版社,2019.11.1

 CristinaVideiraLopes.编程风格:好代码的逻辑, 人民邮电出版社,2017.8.1