




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第 1 页 实实 验验 一一 实验项目名称 实验项目名称 C 开发环境的熟悉与使用开发环境的熟悉与使用 实验时间 实验时间 2016 3 4 实验目的 实验目的 1 初步了解 C 程序的特点和构成 2 熟悉 VC 6 0 IDE 环境的操作 3 掌握 C 程序上机的 4 个步骤 编辑 编译 连接和运行调试 4 初步了解程序的调试方法 实验原理 实验原理 1 开始 vc 2 C 程序上机的 4 个步骤 编辑 编译 连接和运行调试 具体过程如下 1 编辑源程序 完成后将源程序以扩展名 c 存盘 2 对源程序进行编译 即将源程序转换为扩展名为 obj 的二进制代码 若 源程序有错 必须予以修改 然后重新编译 3 对编译通过的源程序连接 即加入库函数和其它二进制代码生成可执 行程序 连接过程中 可能出现未定义的函数等错误 为此 必须修改 源程序 重新编译和连接 4 执行生成的可执行代码 若不能得到正确的结果 必须修改源程序 重新编译和连接 若能得到正确结果 则整个编辑 编译 连接 运行 过程顺利结束 实实 验验 二二 实验项目名称 实验项目名称 顺序程序设计顺序程序设计 实验时间 实验时间 2016 3 11 实验目的 实验目的 1 理解和掌握程序设计的顺序结构 2 理解和掌握 C 语言的数据类型和表达式 3 掌握 C 程序设计中的输入和输出方法 实验原理 实验原理 第 2 页 1 顺序结构的程序是指程序的执行自上而下 自左至右 程序中的每一个语句 都能被执行一次 而且只能被执行一次 顺序结构的程序设计是最简单的 2 C 语言的基本数据类型有整型 字符型和实型 计算机语言中的数据的表 数范围与数学上的表数范围具有差异 3 常量和变量的概念及其使用 4 C 语言的运算符丰富 运算符具有优先级和结合性 5 C 语言中表达式的书写很多时候跟数学上是不同的 6 格式输入和输出函数 scanf printf 的调用格式及其各参数的意义 实实 验验 三三 实验项目名称 实验项目名称 选择结构程序设计选择结构程序设计 实验时间 实验时间 2016 03 18 2016 03 25 实验目的 实验目的 1 理解 C 语言的语句 算法的概念 流程图的表示 2 掌握程序流程控制选择 分支 结构 3 熟练掌握 if 语句和 switch 语句的使用 4 理解 if 语句和 switch 语句的嵌套 实验原理 实验原理 1 if 语句的一般形式 if else 2 缺省 else 的条件语句形式 if 3 if 语句嵌套的一般形式 if if 语句 1 else 语句 2 else if 语句 3 else 语句 4 4 switch 语句的一般形式是 switch case case 第 3 页 case default 为了不再执行本 case 后面的其它 case 和 default 语句 可用 break 语句中断 switch 语句 使流程跳到 switch 语句后面 实实 验验 四四 实验项目名称 实验项目名称 循环控制程序设计循环控制程序设计 实验时间 实验时间 2016 04 2016 04 实验目的 实验目的 1 理解并掌握程序结构控制的循环结构 2 理解 while do while for 语句的语义和 break continue goto 语 句的使用 3 理解三种循环结构的异同 能实现三种结构间的转换 4 理解循环嵌套的执行过程 5 熟练应用循环语句进行程序设计 实验原理 实验原理 1 while 循环的一般格式 while 其语义是 当的值为非零时 则执行 然后再判断的值 只要它不为零 继续执行 如此重复 直到的值为零为止 2 do while 语句的一般格式是 do while 其语义是 先执行 再判别 若的值为非零 则重复执行 直到的值为零为止 3 for 循环的格式如下 for for 语句的执行过程如下 首先计算 求的值 若其值为非零 执行 然后转 执行 第 4 页 若的值为零 则结束 for 语句 求解 转 执行 实实 验验 五五 实验项目名称 实验项目名称 数组数组 实验时间 实验时间 2016 04 2016 实验目的 实验目的 1 理解数组的概念 2 掌握一维数组和二维数组的定义和使用 3 理解排序 查找等几个经典算法 4 掌握字符数组和字符串函数的使用 实验原理 实验原理 1 同名带下标的变量形成一个数组 带下标的变量统称为数组元素 数组 的使用通过逐个引用数组元素来实现 2 具有一个下标的数组称为一维数组 一维数组定义的一般形式为 3 具有多个下标的数组称为多维数组 二维数组是具有两个下标的数组 4 C 语言没有提供字符串数据类型 而是将字符串作为字符数组来处理 在字符数组末尾添加串结束符 0 就成字符串 就可调用相应的字符 串处理函数进行处理 实实 验验 六六 实验项目名称 实验项目名称 函数函数 实验时间 实验时间 2016 2016 实验目的 实验目的 1 掌握 C 语言中函数的定义和调用方法 理解实参和形参结合时的 单向 值传递 方式 2 理解函数的嵌套调用和递归调用 3 掌握函数原型的概念和使用 第 5 页 4 理解变量的作用域和生命期 5 理解预处理命令 实验原理 实验原理 1 函数定义的一般形式 2 函数调用形式 C 语言规定 实参对形参的数据传递为 单向值传递 只能由实参传 递值给形参 形参不能传递值给实参 3 函数说明的一般形式 函数原型 作用 在程序的编译阶段 利用它对调用函数的合法性进行全面检查 4 递归概念 一个函数直接或间接地调用自己叫递归 采用递归方法求解问题需符合的条件 1 可以把一个问题转化为一个新的问题 而这个新问题的解决方 法仍与原问题解法相同 只是新处理的对象有所不同 2 必定要有一个明确的结束递归的条件 否则递归将无止境地进 行下去 5 从变量的作用域范围的不同 变量可分为 局部变量和全局变量 局部变量 在一个函数内部定义的变量 又叫内部变量 它可分为 auto 变量 static 变量和 register 变量 全局变量 在函数之外定义的变量 又叫外部变量或全程变量 它可分 为 static 外部变量和普通外部变量 带 extern 说明的为引用性说明 不 带 extern 说明的为定义性说明 6 C 语言中预处理命令有三种 1 宏定义 2 文件包含 3 条件编译 实实 验验 七七 实验项目名称 实验项目名称 指针指针 实验时间 实验时间 2016 2016 第 6 页 实验目的 实验目的 1 理解地址和指针的概念 掌握指针作为函数参数的应用 2 理解指针与数组的关系 理解字符串指针 3 掌握指针的运算 4 理解指针数组和指向指针的指针 指向函数的指针 实验原理 实验原理 1 指针变量定义的一般形式 2 两个有关的运算符 学生学号 char name 9 学生姓名 int score SJTS 6 门课程成绩 int sum 总分 float ave 平均分 unsigned order 名次 STUDENT 定义结构类型名为 STUDENT 课程名 语文 数学 英语 物理 化学 政治 历史 地理 生物 体育 使用指针数组处理 具体处理如下 char sjt 语文 数学 英语 物理 化学 政治 由于屏幕显示的局限 这里只设置 6 门课程 4 系统主控模块的流程图 开始 登录 登录成功 N 结束 Y 显示功能菜单 功能选择 执行相应功能 选择退出 结束 选择其它功能 第 9 页 5 函数原型及其实现的功能的简要说明 void login 系统登录模块 void quit 系统退出模块 void saveREC 保存数据模块 void loadREC 装入数据模块 void newREC 输入 追加 记录模块 void displayREC 显示成绩表模块 6 程序清单 文件 cjgl h 的程序清单 本头文件为系统所使用的数据结构和全局变量定义 include include include include include define RECS 20 定义可处理的最大学生记录数 可按实际学 生数进行修改 define SJTS 6 定义可处理的课程数 typedef struct student 学生记录基本信息 char xh 5 学生学号 char name 9 学生姓名 int score SJTS 6 门课程成绩 int sum 总分 float ave 平均分 unsigned order 名次 STUDENT 定义结构类型名为 STUDENT STUDENT stu RECS 定义内存中保存学生记录的全局数组 unsigned sizeofstu sizeof STUDENT 定义全局变量保存结构类型的长度 第 10 页 unsigned N 0 定义全局变量保存内存中实际的学生记录数 char sjt 语文 数学 英语 物理 化学 政治 定义全局指针数组指向课程名 以下为函数原型 void login 系统登录模块 void quit 系统退出模块 void saveREC 保存数据模块 void loadREC 装入数据模块 void newREC 输入 追加 记录模块 void displayREC 显示成绩表模块 请继续添加其它模块请继续添加其它模块 文件 cjgl c 的程序清单 本文件是学生成绩管理系统的主控模块 include sub fun c void main int c clrscr login while 1 clrscr printf n n n 学生成绩管理系统主菜单 Main Menu n n n printf 1 录入 追加 学生记录 Append Records n printf 2 查询学生成绩 Search Records n printf 3 修改学生记录 Modify Records n printf 4 删除学生记录 Delete Records n printf 5 排序学生记录 Sort Records n printf 6 输出学生成绩表 Display Records n printf 7 保存学生记录 Save Records n printf 8 装入学生记录 Load Records n printf 0 退出 n n printf 请输入你的选择 Please input your choice scanf d switch c case 1 newREC break case 2 searchREC break case 3 modifyREC break case 4 deleteREC break case 5 sortREC break 请逐个调试各模块 第 11 页 case 6 displayREC break case 7 saveREC break case 8 loadREC break case 0 quit break default printf n n 选择错误 按任一键继续 Error Press a key to continue n getch 文件 sub fun c 的程序清单 本文件保存成绩管理系统的各子函数 include cjgl h 以下为函数实现 系统登录模块 void login char user 10 password 10 printf n n n 欢迎使用学生成绩管理系统 n n n printf 请输入用户名 Please input user name scanf s user printf n n 请输入密码 Please input password scanf s password if strcmp user admin 0 getch exit 0 系统退出模块 void quit char c printf n 确认退出系统 Are you sure y n scanf c c 这种写法是为了读取上一个输入时按的回车 键 下同 if c y c Y printf n 数据存盘吗 Save records y n scanf c c if c y c Y saveREC 第 12 页 printf n 按任一键退出 Press any key to quit getch exit 0 保存数据模块 void saveREC FILE fp fp fopen xscj dat wb if fp NULL printf n 错误 不能存盘 按任一键返回 Error Can not save records Press any key to return getch return printf n 正在存盘 Saveing records n fwrite 文件的首位置保存记录总数 fwrite stu sizeofstu N fp 随后的位置一次性保存所有记录 fclose fp printf n 数据存盘成功 Records have been saved n printf n 按任一键返回 Press any key to return getch 装入数据模块 void loadREC FILE fp fp fopen xscj dat rb if fp NULL printf n 错误 数据文件不能打开 按任一键返回 Error Can not open file Press any key to return getch return printf n 正在读数据 Loading records n fread 先在文件的首位置读取记录总数 fread stu sizeofstu N fp 随后一次性读取所有记录 fclose fp printf n 数据装入成功 Records have been loaded n printf n 按任一键返回 Press any key to return getch 第 13 页 输入 追加 记录模块 void newREC char c int i while 1 clrscr printf n n 录入 追加记录 操作 Append Records n printf n 当前记录数为 Count of records now is u n N if N RECS N 是全局变量 保存内存中实际的学生记录数 printf n 已达到最大的记录数 不能再添加记录 Can not append record n getch return printf 请输入学号 Input No scanf s stu N xh printf 请输入姓名 Input Name scanf s stu N n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版事实婚姻离婚协议书范本(含财产分割与子女抚养)
- 2025版城市景观绿化沙石采购合同规范文本
- 2025版企业内退员工生活补贴及再就业服务协议
- 2025年商业地产抵押担保投资管理合同
- 2025年度沙石资源深度开发购销合同范本
- 2025年新型装修建材采购协议书
- 2025茶叶采摘加工一体化项目合同范本
- 2025版三人合伙共建文化创意产业园合作协议
- 2025年度农业科技创新入股合作协议
- 2025年度担保公司内部激励机制与考核合同
- 达梦数据库管理系统技术白皮书
- 物料来料检验规范标准
- 辅警考试题库
- GB/T 19289-2019电工钢带(片)的电阻率、密度和叠装系数的测量方法
- 《中国特色社会主义政治经济学(第二版)》第一章导论
- 《安娜·卡列尼娜》-课件-
- sg1000系列光伏并网箱式逆变器通信协议
- 妇科疾病 痛经 (妇产科学课件)
- 《李将军列传》教学教案及同步练习 教案教学设计
- GMP基础知识培训(新员工入职培训)课件
- 基于Java的网上书城的设计与实现
评论
0/150
提交评论