C程序设计实验指导书第二版
更新时间:2024-05-08 04:36:01 阅读量: 综合文库 文档下载
目录
目录 .............................................................................................. 1 实验一——程序的运行环境和运行C程序的方法 ................. 2 实验二——数据类型、运算符和表达式 ................................. 5 实验三——数据类型、运算符和表达式 ................................. 9 实验四——逻辑程序设计 ....................................................... 12 实验五——循环控制 ............................................................... 16 实验六——数组 ....................................................................... 19 实验七——函数 ....................................................................... 21 实验八——指针 ....................................................................... 24 实验九——文件 ....................................................................... 27 实验十——结构体与共用体 ................................................... 30
1
实验一——程序的运行环境和运行C程序的方法
实验名称 程序的运行环境和运行C程序的方法 成绩 姓 名 学号 班级 实验地点 完成日期 实1) 了解所用的计算机系统的基本操作方法,学会独立使用该系统 验2) 了解在该系统上如何编辑、编译、连接和运行一个C程序 目3) 通过运行简单的C程序,初步了解C源程序的特点 的 1) 检查所用的计算机系统是否已安装了C编译 系统并确定它所在的子目录; 2) 进行所用的集成环境; 3) 熟悉集成环境的界面的有关菜单的使用方 法; 4) 输入并运行一个简单的、正确的程序。 输入下面的程序: #include
实 验 内 容 与 步 骤 后请与教材上的程序对照。 ③ 使程序运行,分析运行结果。 6) 输入并运行一个需要在运行时输入数据的程序; 输入下面的程序: #include
实 验 内 容 与 步 骤 ① 输入自己编写的源程序。 ② 检查程序有无错误(包括语法错误和逻辑错误),有则改之。 ③ 编译和连接,仔细分析编译信息,如有错误应找出原因并改正之。 ④ 运行程序,输入数据,分析结果。 ⑤ 自己修改程序(例如故意改成错的),分析其编译和运行情况。 8) 将调试好的程序保存在自己的用户目录中,文件名自定。 9) 将关闭工作区,再重新打开该文件,检查内容是否是刚才存盘的程序。 10) 关闭VC集成环境,用Windows的“我的电脑”找到刚才使用的用户子目录,浏览其中文件,看有无刚才保存的后缀为.c和.exe的文件。 实验心得 4
实验二——数据类型、运算符和表达式
实验名称 姓 名 实验地点 1) 实验2) 目的 3) 数据类型、运算符和表达式 学号 它们赋值的方法。 掌握不同的类型数据之间赋值的规律。 学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。 4) 进一步熟悉C程序的编辑、编译、连接和运行过程 实 验 内 容 与 步 骤 1) 输入并运行下面的程序: #include
实 验 内 容 与 步 骤 再使之运行,分析其运行结果。 ⑥ 再将第4、5行改为: c1=300; /*用大于255的整数*/ c2=400; 再使之运行,并分析其运行结果。 2) 输入并运行如下程序: #include
实 验 内 容 与 步 骤 ① 将一个负整数赋给一个无符号的变量,会得到什么结果。 ② 将一个大于32767的整数赋给短整型变量(在VC环境下),会得到什么结果。 ③ 将一个整数赋给无符号短整型变量,会得到什么结果(分别考虑该长整数的值大于、等于或小于65535的情况)。 ④ 改程序中各变量的值,再比较。 4) 输入并运行教材第3章习题3.10(P67)即: #include
实 验 内 容 与 步 骤 ③ 程序改为: #include
实验三——数据类型、运算符和表达式
实验名称 最简单的C程序设计 成绩 姓 名 学号 班级 实验地点 完成日期 实1) 掌握C语言中使用最多的一种语句——赋值语句的作用方法。 验目2) 掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符。 的 1) 通过下面的程序掌握各种格式转换符的正确 使用方法。 ① 输入以下程序: #include
④ 改用scanf函数输入数据而不用赋值语句, scanf函数如下: scanf(\ %ld,%ld,%u,%u\ &e,&f,&g,&m,&n,&p,&q); 输入的数据如下: 61,62,a,b, 3.56,-6.87,3157.890121, 0.123456789,50000,-60000,32768,40000 分析运行结果。 (说明:lf和ld格式符分别用于输入double型和 long型数据) ⑤ 在④基础上,将printf语句改为: printf(\ d=.6f,e=.12f\\n\实 printf(\ n=%ld\\np=%d,q=%d\\n\验 运行程序。 内 容 ⑥ 将p、q改用%o格式符输出。 将scanf函数中的%lf和%ld改为%f和%d,与 运行程序并观察分析结果 步 骤 2) 按要求编写程序,并上机运行。题目为:设 半径r=1.5,圆柱高h=3,求圆周长、圆面积、 圆球表面积、圆球体积,圆柱体积。用scanf 输入数据,输出计算结果。输出时要有文字 说明,取小数点后两位数字。 10
实 验 内 容 与 步 骤 3) 编程序,用getchar函数读入两个字符给c1、c2,然后分别用putchar函数和printf函数输出这两个字符。 实验心得 11
实验四——逻辑程序设计
实验名称 逻辑程序设计 成绩 姓 名 学号 班级 实验地点 完成日期 1) 了解C语言表示逻辑量的方法(以0代表“假”,以非0代表“真” )。 实2) 学会正确使用逻辑运算符和逻辑表达式。 验3) 熟练掌握if语句和switch语句。 目的 4) 结合程序掌握一些简单的算法。 5) 学习调试程序。 本实验要求事先编好解决下面问题的程序,然后 上机输入程序并调试运行程序。 (1). 有一函数: x(x?1) ?? y??2x?1(1?x?10) ?3x?11(x?10)? 用scanf函数输入x的值,求y值。 运行程序,输入x的值(分别为x<1、1≤x<10、实 x≥10三种情况),检查输出的y值是否正确 验 内 容 与 步 骤 12
实 验 内 容 与 步 骤 (2). 给出一个百分制成绩,要求输出成绩等级A、B、C、D、E。90分以上为A,81-89分为B,70-79分为C,60-69分为D,60分以下为E。 ① 事先编好程序,要求分别用if语句和switch语句实现。运行程序,并检查结果是否正确。 ② 再运行一次程序,输入分数为负值(如-70),这显然是输入时出错,不应给出等级。修改程序,使之能正确处理任何数据。当输入数据大于100或小于0时,通知用户“输入数据错”,程序结束。 13
实 验 内 容 与 步 骤 3). 给一个不多于3位的正整数,要求:①求出它是几位数;②分别打印出每一位数字;③按逆序打印出各位数字,例如原数为321,应输出123。 应准备以下测试数据: ? 要处理的数为1位正整数; ? 要处理的数为2位正整数; ? 要处理的数为3位正整数; 除此之外,程序还应当对不合法的输入作必要的处理。例如: ? 输入负数; ? 输入的数超过3位(如123 4)。 (4). 输入4个整数,要求按由小到大顺序输出。 得到正确结果后,修改程序使之按由大到小顺序输出。 14
实 验 内 容 与 步 骤 (5). 根据输入的三角形的三边判断是否能组成三角形,若可以则输出它的面积。 实验心得 15
实验五——循环控制
实验名称 循环控制 姓 名 实验地点 实验目的 实 验 内 容 与 步 骤 学号 班级 完成日期 成绩 1) 熟悉并掌握用while语句,do-while语句和for语句实现循环的方法。 2) 掌握在程序设计中用循环的方法实现一些常用算法(如穷举、迭代、递推等)。 3) 进一步学习调试程序。 本实验编程序并上机调试运行。 (1). 输入两个正整数m和n,求它们的最大公约数和最小公倍数。 在运行时,输入的值m>n,观察结果是否正确。 再输入时,使m 实 验 内 容 与 步 骤 (3). 用牛顿迭代法求方程2x3-4x2+3x-6=0在1.5附近的根。 在得到正确结果后,请修改程序使所设的x初值由1.5改变为100、1000、10000,再运行,观察结果,分析不同的x初值对结果有没有影响,为什么? 修改程序,使之能输出迭代的次数和每次迭代的结果,分析不同的x初始值对迭代的次数有无影响。 17 实 验 内 容 与 步 骤 (4). 猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩一个桃子了。求第一天共摘了多少桃子。 在得到正确结果后,修改题目,改为猴子每天吃了前一天剩下的一半后,再吃两个。请修改程序,并运行,检查结果是否正确。 实验心得 18 实验六——数组 实验名称 数组 姓 名 实验地点 实验目的 实 验 内 容 与 步 骤 学号 班级 完成日期 成绩 1) 掌握一维数组和二维数组的定义、赋值和输入输出的方法; 2) 掌握字符数组和字符串函数的使用; 3) 掌握与数组有关的算法(特别是排序算法。 编程序并上机调试运行。 (1). 用选择法对10个整数排序。10个整数用scanf函数输入。 (2). 有15个数存放在一个数组中,输入一个数,要求用查找找出该数是数组中第几个元素的值。如果该数不在数组中,则输出“无此数”。以15个数用赋初值的方法在程序中给出。要找的数用scanf函数输入。 19 实 验 内 容 与 步 骤 实验心得 (3). 将两个字符串连接起来,不要用strcat函数。 (4). 输出n行杨辉三角形,n由键盘输入(n小于等于15) 20 实验七——函数 实验名称 成绩 姓 名 学号 班级 实验地点 完成日期 1) 掌握定义函数的方法; 实2) 掌握函数实参与形参的对应关系以及“值传递”的方式; 验3) 掌握函数的嵌套调用和递归调用的方法; 目的 4) 掌握全局变量和局部变量动态变量、静态变量的概念和使用方法。 学习对多文件程序的编译和运行。 本实验编程序并上机调试运行。 (1). 写一个判别素数的函数,在主函数输入一个整 数,输出是否素数的信息。 本程序应当准备以下测试数据:17、34、2,1、 0。分别输入数据,运行程序并检查结果是否正确。 实 验 内 容 与 步 骤 (2). 用一个函数来实现将一行字符串的内容按反序 存放,在主函数中输入和输出字符串. 把两个函数放在同一个程序文件中,作为一个文 件进行编译和运行。 把两个函数分别放在两个程序文件中,作为两个 文件进行编译、连接和运行。 21 实 验 内 容 与 步 骤 (3). 用递归法将一个整数n转换成字符串。例如,输入483,应输出字符串“483”。n的位数不确定,可以是任意的整数。 (4). 求两个整数的最大公约数和最小公倍数。用一个函数求最大公约数,用另一函数根据求出的最大公约数求最小公倍数。 ①不用全局变量,分别用两个函数求最大公约数和最小公倍数。两个整数在主函数中输人,并传送给函数l,求出的最大公约数返回主函数,然后再与两个整数一起作为实参传递给函数2,以求出最小公倍数,再返回到主函数输出最大公约数和最小公倍数。 22 实 验 内 容 与 步 骤 ②用全局变量的方法,分别用两个函数求最大公约数和最小公倍数,但其值不由函数带回。将最大公约数和最小公倍数都设为全局变量,在主函数中输出它们的值。 (5). 写一函数,输入一个由字符串表示的十六进制数,输出相应的十进制数。 实验心得 23 实验八——指针 实验名称 指针 成绩 姓 名 学号 班级 实验地点 完成日期 1) 通过实验进一步掌握指针的概念,会定义和使用指针变量; 实2) 能正确使用数组的指针和指向数组的指针变量; 验3) 能正确使用字符串的指针和指向字符串的指针变量; 目的 4) 能正确使用指向函数的指针变量; 5) 了解指向指针的指针的概念及其使用方法 编程序并上机调试运行程序(都要求用指针处理)。 (1). 输入三个整数,按由小到大的顺序输出, 然后将程序改为:输入三个字符串,按由小到大顺序 输出。 实 验 内 (2). 将一个3X3的矩阵转置,用一函数实现之。容 在主函数中用scanf函数输入以下矩阵元素: 1 3 5 与 7 9 11 13 15 19 步 将数组名作为函数实参,在执行函数的过程中实 函数调用结束后在主函数中输出已转置骤 现矩阵转置,的矩阵。 。 24 实 验 内 容 与 步 骤 (3). 写一函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度。 (4). 用一个函数实现两个字符串的比较,即自己写一个strcmp函数,函数原型为:int strcmp (char * p1, char * p2); 设p1指向字符串s1,p2指向字符串s2,要求当s1=s2时,函数返回值为 0, 如果sl≠s2,则返回它们二者第一个不相同字符的ASCII码差值(如“BOY”与“BAD”的第二个字母不相同,“O”与“A”之差为79—65=14);如果sl>s2,则输出正值;如果sl 实 验 内 容 与 步 骤 别求: ? 10sinxdx,?cosxdx,?exdx,?1012 说明:sin、cos、exp已在系统的数学函数库中,程序开头要用#include 实验九——文件 实验名称 姓 名 实验地点 实验目的 实 验 内 容 与 步 骤 文件 学号 班级 完成日期 成绩 1) 掌握文件以及缓冲文件系统、文件指针的概念; 2) 学会使用文件打开、关闭、读、写等文件操作函数; 3) 学会用缓冲文件系统对文件进行简单的操作。 编程序,然后上机调试运行程序 (1). 有5个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号、姓名、3门课成绩),计算出平均成绩,将原有数据和计算出的平均分数存放在磁盘文件stud中。 设5名学生的学号、姓名和3门课成绩如下: 99101 Wang 89,98,67.5 99103 Li 60,80,90 99106 Fun 75.5,91.5,99 99110 Ling 100,50,62.5 99113 Yuan 58,68,7l 在向文件stud写入数据后,应检查验证stud文件中的内容是否正确。 27 实 验 内 容 与 步 骤 (2). 将上题stud文件中的学生数据,按平均分进行排序处理,将已排序的学生数据存入一个新文件stu_sort中.在向文件stu_sort写入数据后,应检查验证stu_sort文件中的内容是否正确。 28 实 验 内 容 与 步 骤 (3). 对上题已排序的学生成绩文件进行插入处理,插入一个学生的3门课成绩。程序先计算新插入学生的平均成绩,然后将它按成绩高低顺序插入,插入后建立一个新文件。要插入的学生数据为: 99108 Xin 90,95,60 在向新文件stu_new写入数据后,应检查验证stu_new文件中的内容是否正确。 实验心得 29 实验十——结构体与共用体 实验名称 姓 名 实验地点 实验目的 实 验 内 容 与 步 骤 学号 成绩 班级 完成日期 1) 掌握结构体类型变量的定义和使用; 2) 掌握结构体类型数组的概念和使用; 3) 掌握链表的概念,初步学会对链表进行操作; 4) 掌握共用体的概念与使用。 编程序,然后上机调试运行程序 (1). 有10个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入10个学生数据,要求打印出3门课总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课的成绩、平均分数)。 要求用input函数输入10个学生数据;用average函数求总平均分;用max函数找出最高分的学生数据;总平均分和最高分学生的数据都在主函数中输出。 (2). 13个人围成一圈,从第1个人开始顺序报号1、2、3。凡报到“3”者退出圈子,找出最后留在圈子中的人原来的序号。本题要求用链表实现。 30 实 验 内 容 与 步 骤 (3). 建立一个链表,每个结点包括:学号、姓名、性别、年龄。输入一个年龄,如果链表中的结点所包含的年龄等于此年龄,则将此结点删去。 31 实 验 内 容 与 步 骤 (4). 输入和运行以下程序: union data { int i[2]; float a; long b; char c[4]; }u; main ( ) { scanf(\printf(“i[0]=%d,i[1]=ú=?=c[0]=%c, c[1]=%c,c[2]=%c,c[3]=%c “,u.i[0],u.i[1],u.a, u.b,u.c[0],u.c[1],u.c[2],u.c[3]); } 输入两个整数10000、20000给u.i[0]和u.i[l],分析运行结果。 然后将scanf语句改为: scanf(\%ld\; 输入60000给b,分析运行结果 实验心得 32
正在阅读:
C程序设计实验指导书第二版05-08
电焊技术基本手法图06-10
中国5大田园综合体成功案例分析06-02
ZINVERT系列智能高压变频调速系统说明书(08-25) - 图文06-01
一年级第一学期班主任工作计划2篇02-26
中国人民解放军各集团军编制战斗序列大全05-02
珍珠粉项目可行性研究报告(发改立项备案+2013年最新案例范文)03-26
谈在语文教学中学生倾听习惯的培养08-11
浅谈护理安全管理的心得体会07-01
- 人教新课标必修4 Unit2 Working the land名师导航
- 毕业生“校漂族”大行其道 - 0
- 江苏各市中考作文题出炉 - 0
- 暑期精品班 - 三角形 - 图文
- 情人节送什么礼物好??超强礼物已抵达
- 工程项目管理制度1
- 第四次业务学习 2016
- 会计要素与会计科目
- 欠发达地区小企业会计准则运用问题研究
- 一级锅炉水G4题库
- BBD双进双出筒式磨煤机安装使用说明书 SM-1
- 初一数学有理数教案
- 渝北区房地产评估市场调研报告
- iWebMall 数据字典
- 2018年小学入学教育工作计划
- 计量专业实务与案例分析 - 模拟题三 - 2013年版
- 启示录讲义
- 路基灰土改良(方案)
- 人行反洗钱岗位准入培训测试题集
- 2015电大《学前儿童发展心理学》期末试题及答案
- 指导书
- 程序设计
- 实验
- 公路路基边坡稳定性分析
- 路堤填筑及基床
- 解构死刑与德里达的死刑解构
- 考研英语固定词组搭配
- 软件企业市场营销策略研究—以浙大恩特网络科技有限公司为例
- 聚焦主业、深化“三转”系列述评
- 绿地率的计算规则(2014最新版)
- 机械图纸技术要求汇总
- 建筑工程安全防护、文明施工措施费支付、支取指南
- 浅析中小企业融资风险控制
- (38)2016年某铁一中入学数学真卷(十一)
- 软件可行性分析报告和需求规格说明书
- 人教版 7.2 化学平衡状态 化学平衡常数 导学案 - 图文
- 四年级下册(青岛版)科学复习资料
- 肝素雾化吸入联合超短波理疗铺助治疗支气管肺炎疗效观察
- 施工监理服务收费基价表(详细)
- 安徽大学企业伦理学案例讨论
- 集团与子公司借用员工协议
- UML基础与Rose建模实用教程课后习题及答案(无第四章)
- 娄敬山制灰用灰岩矿资源量核实报告