电气工程及其自动化对c语言,C语言程序设计实验报告电气工程及其自动化.pdf

253b171540df25e1b84436cbe50dfc72.gifC语言程序设计实验报告电气工程及其自动化.pdf

C 语言程序设计 实验报告 20152016 学年第二学期 班 级 姓 名 学号 指导教师 15 电气工程及其自动化 2 张老师 1 / 28 实验一 实验项目名称实验项目名称C 程序的运行环境和运行C 程序的方法 所使用的工具软件及环境所使用的工具软件及环境Visual C 6.0 一、实验目的一、实验目的 1了解在 Visual C 6.0 环境下如何编辑、编译、连接和运行一个C 程序; 2通过运行简单的 C 程序,初步了解 C 源程序的特点。 二、预习内容二、预习内容 教材C 语言程序设计教程第1 章。 三、实验内容三、实验内容 1. 在 Visual C 6.0 环境下输入并运行下面的程序 include main printfThis is a C program.n; 2. 在 Visual C 6.0 环境下输入下面的程序有语法错误,编译、连接、调试该程序,直至程序 无语法错误,然后运行程序,并观察分析运行结果。 include main int a,b,sum a3; b4; sunab; printdddn,a,b,sum; 四、实验结果四、实验结果 1. 运行结果 2. 1 改正后的源程序 1 / 28 2 运行结果 五、编程题五、编程题 1.从键盘输入 a,b,c 三个整数,求这三个数之和 源程序 2.从键盘输入任意两个整数,编程实现这两个数之间的交换。 源程序 成绩指导教师签名 2 / 28 实验二 实验项目名称实验项目名称数据类型、运算符和表达式 所使用的工具软件及环境所使用的工具软件及环境Visual C 6.0 一、实验目的一、实验目的 1掌握整型、实型与字符型这三种基本类型的概念; 2掌握常量及变量的使用方法; 3. 掌握基本算术运算符及其表达式的使用方法; 4. 掌握、运算符、赋值运算符及其表达式的使用方法。 二、预习内容二、预习内容 教材C 语言程序设计教程第2 章。 三、实验内容三、实验内容 1. 在 Visual C 6.0 环境下输入下面的程序有语法错误,编译、连接、调试该程序,直至程序 无语法错误。 include int main int 2cd3; float 3.14; char forA; printfd,f,cn,2cdfor; return 0; 2. 在 Visual C 6.0 环境下输入并运行下面的程序,观察分析运行结果。 include int main int a3,b4,c8; float d,e; dab/c; eafloatd/c; printfdf,efn,d,e; return 0; 3. 在 Visual C 6.0 环境下输入并运行下面的程序,观察分析运行结果。 include int main int a,b,c,d,i,j,m,n; abcd3; 3 / 28 ia; jb; mc; nd; printfad,bd,cd,dd,id,jd,md,ndn,a,b,c,d,i,j,m,n; return 0; 4. 在 Visual C 6.0 环境下输入并运行下面的程序,观察分析运行结果。 include int main int a4; aa-a*aa; printfadn,a; return 0; 该程序为什么出错 答 运行结果或截图 3. 运行结果或截图 4. 运行结果或截图 4 / 28 四、实验结果 1. 2. 五、思考题五、思考题 1. 给变量命名应该注意哪些问题 答 2. 程序 2 的运行结果中,d 和 e 的值为什么不同 答 3. 程序 1 的运行结果中,i 和 j 的值为什么不同m 和 n 的值为什么不同 答 4. 请分析表达式 aa-a*aa 的运算过程写出运算步骤。 答 成绩指导教师签名 5 / 28 实验三 实验项目名称实验项目名称简单的输入输出及顺序程序设计 所使用的工具软件及环境所使用的工具软件及环境Visual C 6.0 一、实验目的一、实验目的 1. 掌握整型、实型与字符型数据的正确输入方法scanf 函数的使用; 2. 掌握整型、实型与字符型数据的正确输出方法printf 函数的使用; 3. 掌握编写顺序程序的方法。 二、预习内容二、预习内容 教材C 语言程序设计教程第3 章。 三、实验内容三、实验内容 1. 下面程序的功能是从键盘输入2 个整数,输出它们的和。 include int main int a,b,sum; sumab; printfdddn,a,b,sum; return 0; 请在横线上填写一条合适的语句,使程序完整,然后上机运行该程序。 2. 在 Visual C 6.0 环境下输入并运行下面的程序,观察分析程序运行过程及结果。 include int main int a,b,sum; printf请输入第一个整数; scanfd,a; printf请输入第二个整数; scanfd,b; sumab; printfdddn,a,b,sum; return 0; 3. 下面程序的功能是输出a,b,c 三个变量的值。 include int main int a35;float b43.6578;char cA; 6 / 28 return 0; 请在横线上填写一条合适的语句,使程序完整,运行该程序,且让程序的运行结果如下 a35,b43.66,cA 4. 设圆半径 r1.5, 圆柱高 h3,编写程序求圆周长、 圆面积、 圆球表面积、 圆球体积和圆柱体积。 要求用 scanf 语句输入半径和高,输出时有文字说明,取小数点后两位。 四、实验结果四、实验结果 1. 1 横线上应填写的语句为 2 运行结果或截图 2. 运行结果或截图 3. 1 横线上应填写的语句为 2 运行结果或截图 4. 1 源程序清单 7 / 28 2 运行结果或截图 五、编程题五、编程题 P300 页 2.(2) (3) 成绩指导教师签名 8 / 28 实验四 实验项目名称实验项目名称选择结构程序设计 所使用的工具软件及环境所使用的工具软件及环境Visual C 6.0 一、实验目的一、实验目的 1. 正确使用关系运算符和关系表达式; 2. 正确使用逻辑运算符和逻辑表达式; 3. 熟练使用 if 语句实现选择结构程序; 4. 熟练使用 switch 语句实现多分支选择结构程序。 二、预习内容二、预习内容 教材C 语言程序设计教程第4 章。 三、实验内容三、实验内容 1. 下面程序的功能是 输入学生成绩, 若成绩在 90 分以上, 输出 “Excellent” ; 若成绩在 6089 分之间,输出“Pass” ;若成绩在60 分以下,输出“Fail” 。请将程序补充完整,并上机运行 程序。 include int main int score; printf请输入分数0100; scanfd,; ifscore100 score0 printf Errorn; else if printfExcellentn; else ifprintfPassn; printfFailn; return 0; 运行该程序 4 次,分别输入 4 个不同的数据,对应 4 种不同的情况,记录运行结果 输入数据 运行结果 2. 有如下分段函数 x 1x y 2x 11 x 10 3x 11 x 10 请输入 x 的值,求解对应的 y 值。 9 / 28 3. 设计一个简单的计算器程序,用户输入运算数实型和四则运算符、-、*、/例如,输入 45.6/2.4,输出计算的结果要求结果保留两位小数。 四、源程序清单四、源程序清单 2. 3. / 2810 五、实验结果五、实验结果 2. 运行结果执行程序 3 次,分别输入不同的 3 个数,对应 3 种不同的情况 输入数据 运行结果 3. 运行结果执行程序 4 次,分别输入 4 组不同的数据,对应 4 种不同的情况 输入数据 运行结果 成绩指导教师签名 11 / 28 实验五 实验项目名称实验项目名称简单循环程序设计 所使用的工具软件及环境所使用的工具软件及环境Visual C 6.0 一、实验目的一、实验目的 1. 掌握循环程序的基本结构; 2. 熟练掌握 while、dowhile 及 for 语句,并会用来编写循环结构程序。 二、预习内容二、预习内容 教材C 语言程序设计教程第4 章。 三、实验内容三、实验内容 1. 输入一个 5 位正整数,输出该整数的倒序。例如12345 对应输出为54321。要求用 while 语句 2. 有一个分数序列 2358 , 编写程序,求这个数列的前20 项之和。要求用 for 1235 语句,且结果保留 6 位小数 四、源程序清单四、源程序清单 1. 2. 12 / 28 五、实验结果五、实验结果 1. 运行结果或截图 2. 运行结果或截图 成绩指导教师签名 / 2813 实验六 实验项目名称实验项目名称多层循环程序设计及break、continue 语句在循环程序中的应用 所使用的工具软件及环境所使用的工具软件及环境Visual C 6.0 一、实验目的一、实验目的 1. 掌握多层循环程序的执行过程及设计方法; 2. 掌握 break 及 continue 语句在循环程序中的使用方法。 二、预习内容二、预习内容 教材C 语言程序设计教程第4 章。 三、实验内容三、实验内容 1. 编写一个程序,打印一个如下图所示的菱形。 * * * * * * * 2. 编程输出 100 以内的所有素数。 3. 编程输出前 2 个水仙花数所谓“水仙花数” ,是指一个 3 位数,其各位数字的立方和等于该数 本身,例如,153135333,所以 153 是一个水仙花数。 四、源程序清单四、源程序清单 1. 2. 14 / 28 3. 五、实验结果五、实验结果 1. 运行结果或截图 2. 运行结果或截图 3. 运行结果或截图 成绩指导教师签名 / 2815 实验七 实验项目名称实验项目名称数组及其应用 所使用的工具软件及环境所使用的工具软件及环境Visual C 6.0 一、实验目的一、实验目的 1. 掌握一维数组的定义、赋值、输入输出及其应用; 2. 掌握二维数组的定义、赋值、输入输出及其应用; 3. 掌握字符数组的定义、赋值、输入输出及其应用。 二、预习内容二、预习内容 教材C 语言程序设计教程第5 章。 三、实验内容三、实验内容 1. 编程在一个已按从小到大排列好的数组中插入一个数, 要求插入该数后的数组仍按原规律排列。 2. 编程输出 3 行 4 列矩阵中的最大元素值,矩阵中的每个元素值要求从键盘输入。 3. 编程将一个字符串中的所有英文字母组成一个新的字符串。 四、源程序清单四、源程序清单 1. 2. 16 / 28 3. 七、实验结果七、实验结果 1. 运行结果或截图 2. 运行结果或截图 3. 运行结果或截图 成绩指导教师签名 / 2817 实验八 实验项目名称实验项目名称函数的定义及调用 所使用的工具软件及环境所使用的工具软件及环境Visual C 6.0 一、实验目的一、实验目的 1熟悉定义函数的方法; 2. 掌握函数的调用方式及主调函数与被调函数间的信息传递方法; 3. 掌握递归方法以及会用函数来实现递归。 二、预习内容二、预习内容 教材C 语言程序设计教程第6 章。 三、实验内容三、实验内容 1. 下列程序的功能是求三个整数的最大值,请填空。 include int maxint a,int b int c; ifab ca; else cb; ; int main int x,y,z,maxi; scanfddd,x,y,z; maxi; printfMax of d、d and d is d.n,x,y,z,maxi; return 0; 2. 在主函数中输入两个正整数,调用函数求它们的最小公倍数,结果在主函数中输出。 3. 用递归方法求解猴子吃桃问题。猴子第1 天摘下若干个桃子,当即吃了一半,还不过瘾,又多 吃了一个。第 2 天又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下 的一半零一个。到第 10 天早上想再吃时,就只剩一个桃子了。求第1 天共摘了多少个桃子。 四、源程序清单四、源程序清单 2. 18 / 28 3. 五、实验结果五、实验结果 1. 运行结果或截图 2. 运行结果或截图 3. 运行结果或截图 成绩指导教师签名 / 2819 实验九 实验项目名称实验项目名称数组名作函数参数及变量的作用域与存储方式 所使用的工具软件及环境所使用的工具软件及环境Visual C 6.0 一、实验目的一、实验目的 1掌握数组名作函数参数时形参与实参的定义方法; 2会使用数组名作函数参数在主调函数与被调函数间传递多个数据; 3掌握变量的作用域局部变量与全局变量; 4. 掌握变量的存储方式动态存储与静态存储。 二、预习内容二、预习内容 教材C 语言程序设计教程第6 章。 三、实验内容三、实验内容 1. 运行以下程序,并分析结果。 include int x8,y3; int maxint a,int b int c; ifab ca; else cb; return c; int main int x4,maxi; maximaxx,y; printfdn,maxi; return 0; 2. 运行以下程序,并分析结果。 include int fint a static int b0; bba; return b; int main int x1,y1,y2; y1f1; 20 / 28 y2f1; printfy1d,y2dn,y1,y2; return 0; 3. 在主函数中输入 10 个整数,调用函数 sort 将它们按从小到大的顺序排序,排序结果在主函数 中输出。 四、源程序清单四、源程序清单 3. 五、实验结果五、实验结果 1. 运行结果或截图 2. 运行结果或截图 3. 运行结果或截图 成绩指导教师签名 21 / 28 实验十 实验项目名称实验项目名称指针及其应用 所使用的工具软件及环境所使用的工具软件及环境Visual C 6.0 一、实验目的一、实验目的 1掌握指针和间接访问的概念,会定义和使用指针变量; 2. 能利用指针变量作函数参数得到多个要改变的值; 3能正确定义指向数组的指针变量,并能用其对数组进行访问; 4能正确定义指向字符串的指针变量,并能用其对字符串进行访问。 二、预习内容二、预习内容 教材C 语言程序设计教程第7 章。 三、实验内容三、实验内容 1. 在主函数中输入 2 个整数,调用 swap 函数将它们的值交换,结果在主函数中输出。 2. 在主函数中输入 10 个整数,调用函数 sum 求它们的和,结果在主函数中输出要求实参用数实参用数 组名,形参用指针变量组名,形参用指针变量。 3. 在主函数中输入一个字符串,调用converse 函数将该字符串逆序,结果在主函数中输出。要 求实参用字符数组名,形参用指针变量实参用字符数组名,形参用指针变量。 四、源程序清单四、源程序清单 1. 2. 22 / 28 3. 五、实验结果五、实验结果 1. 运行结果或截图 2. 运行结果或截图 3. 运行结果或截图 成绩指导教师签名 23 / 28 综合实验 一、实验目的一、实验目的 熟悉 C 语言的编程和调试环境, 熟悉应用程序的设计过程, 掌握基本的程序设计方法, 培养学生用 计算机解决实际问题的能力。 二、实验内容二、实验内容 设计一个班级学生成绩管理系统,要求实现以下功能 (1)输入班级学生的信息(学号、姓名及英语、高数、C 语言三门课程的期末考试成绩) ; (2)统计每名学生三门课程的总成绩; (3)统计每门课程的平均成绩; (4)按姓名查找并输出学生的信息; (5)按总成绩由高到低对学生信息进行排序; (6)添加记录(每名学生的信息称为一条记录) ,要求添加的记录与已有的记录不能重复; 三、采用的主要数据结构、函数及需要包含的头文件三、采用的主要数据结构、函数及需要包含的头文件 1. 需要包含的头文件 include include include include malloc.h 2. 存储学生信息所用的结构体类型 struct Student char code11; /*存储学号,假设学号为10 位数字*/ char name20; /*存储姓名*/ float score3; /*存储三门课程的成绩*/ float total; /*存储总成绩*/ ; 3. 主要数据结构 常量 N(值设为 120) ,用于表示班级的最大人数(假设一个班级的人数不超过120) ; 全局变量 int num用于存储班级的实际人数; 全局数组 float ave3用于存储三门课程的平均成绩; 结构体数组 struct Student stuN用于存储班级学生的信息; 字符数组 char in_name20用于存储查找学生信息时输入的学生姓名; 结构体变量 struct Student insert_stu 用于存储要添加的学生记录。 4. 主要函数 systemcls清屏函数(该函数为库函数) ; void printstruct Student *p输出所有学生的信息; void searchstruct Student *p在所有记录中按姓名进行查找,若找到,则输出该学生的 24 / 28 信息,若没找到,则输出提示信息 “未找到该学生 ” ; void totalstruct Student *p统计每名学生的总成绩; void averagestruct Student *p统计每门课程的平均成绩; void sortstruct Student *p按总成绩由高到低对所有学生记录进行排序; void insertstruct Student *p添加记录,添加的记录与已有的记录不能重复,即学号不 能相同。 四、源程序清单四、源程序清单 25 / 28 26 / 28 成绩指导教师签名 27 / 28

你可能感兴趣的:(电气工程及其自动化对c语言)