《2022年《程序设计基础》实验指导书 .pdf》由会员分享,可在线阅读,更多相关《2022年《程序设计基础》实验指导书 .pdf(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、程序设计基础 (C 语言) 实验指导书名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 35 页 - - - - - - - - - I 程序设计基础 (C 语言) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 35 页 - - - - - - - - - II 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - -
2、 - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 35 页 - - - - - - - - - III 目录第 1 章概述 . 1 1.1 课程简介 . 1 1.2 实验环境选择 . 1 第 2 章实验要求 . 1 2.1 实验过程要求 . 1 2.2 考核及评分标准 . 2 第 3 章实验内容 . 2 3.1 实验 1 熟悉 C语言运行环境 . 2 3.2 实验 2 数据类型 . 5 3.3 实验 3 运算符和表达式 . 8 3.4 实验 4 顺序结构及输入和输出. 13 3.5 实验 5 选择结构 . 16 3.6 实验 6 循环结构 . 19 3.7 实
3、验 7 数组(1) . 23 3.8 实验 8 数组(2) . 25 3.9 实验 9 字符串及其操作 . 26 3.10 实验 10 函数 . 27 3.11 实验 11 结构体 . 29 3.12 实验 12 指针 . 30 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 35 页 - - - - - - - - - IV 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - -
4、 - - 第 5 页,共 35 页 - - - - - - - - - 1 第 1 章概述1.1 课程简介程序设计基础 (C 语言)是软件工程各专业或其它相近专业学生的公共职业基础课,是软件类各专业的入门课程,直接影响学生后继职业技术课程的学习及可持续发展能力的培养。通过本书,学习基本的程序设计概念和程序设计方法,学会使用C 语言解决实际问题,进行初级的程序设计。1.2 实验环境选择VC+6.0 第 2 章实验要求2.1 实验过程要求本课程中,实验者必须服从指导教师和实验室工作人员的安排,遵守纪律与实验制度,爱护设备及卫生。在指定的实验时间内,必须到机房内实验,其余时间可自行设计和分析。本课程
5、所涉及的程序代码,都要求有较高的可读性和效率,多文件表示。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 35 页 - - - - - - - - - 2 2.2 考核及评分标准若实验者在指定上机时间三次不到课,取消考核资格。请假,必须提前出具正式假条,不接受事后假条。如果发现抄袭、篡改、伪造实验数据,或实验报告和设计报告雷同,涉及的所有学生的该课程成绩计为0 分。本课程采用结构化评分,主要由指导教师灵活处理,可以是考勤等。第 3 章实验内容3.1 实验 1 熟悉 C语言
6、运行环境一、 实验目的1. 了解什么是 C 语言2. 熟悉 C 语言程序开发环境二、 实验内容和步骤1. 大学生涯的第一个程序1) 运行 Microsoft Visual Studio 2008 或者 VC6.0 2) 创建项目,选择win32 控制台应用程序或者名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 35 页 - - - - - - - - - 3 空项目,项目名为MyFirstApp 3) 新 建 项 目 , 选 择 C+ 源 文 件 , 文 件 名 为Hel
7、loWorld 4) 在程序编辑窗口,输入如下代码#include /* 主程序*/ void main() printf(hello worldn); 5) 执行程序, Ctrl+F5 6) 观察输出结果,并记录2. 修改程序1) 增加语句,观察输出结果是否不同printf(hello worldn); printf(world is men); 2) 删除输出字符串中的 “n” , 观察输出结果是否不同printf(hello worldn); 3) 进行换行输出,观察输出结果是否不同printf(hello, ); printf(world); 名师资料总结 - - -精品资料欢迎下载
8、- - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 35 页 - - - - - - - - - 4 printf(n); 4) 将上个程序块中的printf(n);去掉,观察输出结果是否不同3. 用自己的语言,描述下对C 语言程序的第一印象4. 简单描述下,第二步骤中,输出结果相同与不同的原因;以及 “n” 的用途名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 35 页 - - - - - -
9、 - - - 5 3.2 实验 2 数据类型一、 实验目的1. 掌握变量的命名规则和定义2. 掌握 C 语言程序中的各种数据类型并使用它们二、 实验内容和步骤1. 定义 3 个变量 numInt 、numFloat 、charInfo ,他们的类型分别为整型,单精度类型,字符型;并分别初始化为2,2.0 和A,最后输出这三个变量的值。(变量 c 输出两次)输出格式要求如下 :numInt 2,numFloat 2.000000,charInfo A,charInfo 65 2. 有三个数 25、47、36,编写程序求整数200 减去这三个数的差。3. 定义一个字符型变量a,将其初始化为 b,要
10、求将 a 的值改变为它所对应的大写字母B(不允许使用直接赋值aB的方法) ,最后输出 a的值。(提示:大小写字母之间差32, 如:A 的 ASCII码为 65,a 的 ASCII 码为 97,他们之间差值为名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 35 页 - - - - - - - - - 6 32)输出格式要求如下 :aB 4. 定义一个字符型变量charInfo , 使用 scanf 语句将 charInfo 得到一个值, 并输出该值。 (做此题之前,请先看
11、提供的课件)5. 用 scanf 输入数据,圆半径 r=1.5 和圆柱高 h=3,求圆周长、圆面积、圆球体积、圆柱体积。输出计算结果。6. 由键盘输入底和高,求三角形的面积。7. 从键盘输入两个数为两个变量赋值,然后将两个变量的值互相交换,再输出两个变量的值。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 35 页 - - - - - - - - - 7 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名
12、师精心整理 - - - - - - - 第 12 页,共 35 页 - - - - - - - - - 8 3.3 实验 3 运算符和表达式一、 实验目的1. 了解表达式的概念2. 掌握各种运算符和表达式的应用二、 实验内容和步骤1. 以下程序不用第三个变量,实现将两个数进行对调操作,请填空。#include void main() int a,b; scanf(%d%d,&a,&b); printf(a=%d,b=%dn,a,b); a=a+b; b=a-b; a=_; printf(a=%d,b=%dn,a,b); 程序运行结果,如,输入3,4 ,输出:名师资料总结 - - -精品资料欢迎
13、下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 35 页 - - - - - - - - - 9 2. 有程序运行结果如下:其作用是将分钟数转换为对应的小时数,不足一小时的显示对应的分钟。请将程序补充完整。#include void main() int i=560,h,m; _; /*计算小时数 */ _; /*计算分钟数 */ printf(%d分 钟 %d小 时%d分 钟n,i,h,m); 3. 先计算下面两题,再编程计算下面算术表达式的值,并思考与自己计算的结果是否一致1) x + a %3 *
14、(int) (x+y) % 2 / 4 设x=2.5,a=7,y=4.7 2) (float) (a + b ) / 2 + (int) x % (int) y 设a=2,b=3,x=3.5, y=2.5 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 35 页 - - - - - - - - - 10 4. 从键盘输入基本工资,并计算输出实领工资1) 说明:a) 物价津贴为基本工资的40% b) 房租津贴为基本工资的25% c) 薪水为三者的和2) 运行结果如下:请输
15、入基本工资: 3000 该员工的工资细目为:基本工资为: 3000 物价津贴为: 1200.0 房租津贴为: 750.0 员工薪水为: 4950.0 5. 幸运抽奖:商场推出幸运抽象活动,具体规则如下1) 输入会员卡号,卡号为4 位整数2) 根据卡号,计算卡号的各位数字之和3) 提示,采用 “% ” 运算符进行分解数字【运行结果】请输入 4 位会员卡号: 8349 会员卡号 8349各位数字之和为: 24 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 35 页 - -
16、 - - - - - - - 11 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 35 页 - - - - - - - - - 12 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 35 页 - - - - - - - - - 13 3.4 实验 4 顺序结构及输入和输出一、 实验目的1. 掌握顺序结构程序设计2. 熟练输入与输出的应用二、 实
17、验内容和步骤1. 从键盘输入直角三角形的两条直角边a,b,编程序计算斜边 c。【算法提示】1) 输入 a,b 的值, a,b 为实型数据。2) 根据公式 c=sqrt(a*a+b*b), 求出 c;( 程 序 的 开 头 还 要 使 用 #include ,因为程序中要使用求平方根的 sqrt 函数,这个道理和要使用输入输出函数的时需要使用#include 道理是一样的)3) 输出 c。2. 编写一个程序,实现功能如下:在键盘上任意输入一个三位正整数,然后反向输出对应的一个数。例如,你在键盘中输入 123, 则应输出 321。名师资料总结 - - -精品资料欢迎下载 - - - - - - -
18、 - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 35 页 - - - - - - - - - 14 【算法提示】1) 要求数据从键盘输入 (scanf 函数) 2) 使用如下方法分别得到个、十、百位上的数据,再重新组合数据,实现反向输出对应的数据(即个位作为百位,百位作成个位)涉及到基本算术符号中/ 以及的使用(例如, 假设数据为 123,要分别取它的个、十、百位,再重新组合。参考如下使 用 方 法 : 123/100=1, 123/10=12,123%10023,123103)3. 调试下列程序,使之能正确输出3 个整数之和及 3 个
19、整数之积。#include main( ) int a,b,c; printf(Please enter 3 numbers:); scanf(%d,%d,%d,&a,&b,&c); ab=a+b; ac=a*c; printf(a+b+c=%dn,a+b+c); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 19 页,共 35 页 - - - - - - - - - 15 printf(a*b*c=%dn,a+c*b); 4. 编写一个程序,实现功能如下:从键盘中输入秒数,将它按
20、小时、分钟、秒的形式来输出。例如输入7278秒,则输出 2 小时 1 分 18 秒;5. 编写程序,输入四个数,并求它们的平均值名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 20 页,共 35 页 - - - - - - - - - 16 3.5 实验 5 选择结构一、 实验目的1. 熟练 if 语句的使用2. 熟练 switch 语句的使用二、 实验内容和步骤以下题目,采用if 语句。1. 编写程序,使之具有如下功能:输入a、b、c三个整数,求最小值。2. 编写程序,求解下列分段
21、函数:其他100)100(1)0(105xxxxxxy3. 某托儿所收 2 岁到 6 岁的孩子 ,2 岁、 3 岁孩子进小班( Lower class) ;4 岁孩子进中班( Middle class) ;5 岁、 6 岁孩子进大班( Higher class) 。编写程序(用 switch 语句) ,输入孩子年龄,输出年龄及进入的班号。如:输入: 3 输出: age:3,enter Lower class。以下题目,采用switch 语句。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - -
22、 第 21 页,共 35 页 - - - - - - - - - 17 4. 编写程序,求解下列分段函数:有一函数其他08060)1ln()6040(1)4020(cossin200115xxxexxxxxyx以下题目,分别采用if 和 switch 两者语句完成5. 使用 if 语句编写 “ 显示某年某月的天数 ” 程序:【分析】 :一月、三月、五月、七月、八月、十月、十二月,均为31 天。四月、六月、九月、十一月,均为30 天。二月,闰年为29 天,不是闰年为28 天。该题可用switch语句求解,但遇到两个矛盾需解决:如何表示一月、三月、五月、七月、八月、十月、十二月均为31 天?这是第
23、一个矛盾。闰年如何判断?这是第二个矛盾。能看到如下运行结果 ( “2002, 2” 是用户键盘输入的,“2002 年 2 月是 28 天” 是程序运行后显示的 ):Please enter year and month : 2002, 2 2002 2 is 28 days 6. 输入四个数,要求按由小到大顺序输出。得到正确结果后,修改程序使之按从大到小顺序输名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 22 页,共 35 页 - - - - - - - - - 18 出。7. 给
24、 出 一 个 百 分 制 成 绩 , 要 求 输 出 成 绩 等 级A,B,C,D,E 。 90 分以上为 A, 8089 分为 B, 7079 分为 C,6069分为 D,60 分以下为 E 3) 要求分别用 if 语句和 switch 语句编程实现,并检查结果是否正确4) 再运行一次程序,输入分数为负数(如-70) ,这显然是输入时出错,不应该出等级。修改程序,使之能正确处理任何数据。当输入数据大于 100 或小于 0 时,通知用户 “ 输入数据错” ,程序结束。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理
25、- - - - - - - 第 23 页,共 35 页 - - - - - - - - - 19 3.6 实验 6 循环结构一、 实验目的1. 熟练 while 语句的使用2. 熟练 dowhile 语句的使用3. 熟练 for 语句的使用二、 实验内容和步骤1.输入一个正整数,将该数逆序输出。2.编写程序,求 100200之间所有的素数,及其个数。3.编写程序,输出以下图案:* * * * * * * * * * * * * * * * * * * * * * * * * 4.编写程序,输出以下图案:* * * * * * * 5. (用 do-while 语句实现)编写程序:名师资料总结
26、- - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 24 页,共 35 页 - - - - - - - - - 20 从键盘上输入 10 个整数,求其平均值。【注意】1) 用循环条件的设置控制输入的个数2) 整数 /整数=整数,如 10/4=2,而不是 2.5;【继续思考“由人为的控制输入数据的个数,你想求几个数的平均数就求几个数的平均数” ,如何编程】6. (用 while 语句实现)编写程序:输入的不同半径,输出其所对应的圆面积程序,输入半径为负数时结束整个程序运行。7. (用 for 语句实现)
27、编写程序:求 1100之间的素数,将每个素数都打印出来,并且要求每行只显示5 个数。8. 用循环语句编写程序。9. 实现功能“显示乘法口诀表”The multiplication table = | 1 2 3 4 5 6 7 8 9 横向表头- 1 | 1 2 | 2 4 3 | 3 6 9 4 | 4 8 12 16 5 | 5 10 15 20 25 6 | 6 12 18 24 30 36 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 25 页,共 35 页 - - - -
28、 - - - - - 21 7 | 7 14 21 28 35 42 49 8 | 8 16 24 32 40 48 56 64 9 | 9 18 27 36 45 54 63 72 81 纵向表头积10.编写程序实现输入整数n, 输出如下所示由数字组成的菱形。(图中 n=4)1 1 2 1 1 2 3 2 1 1 2 3 4 3 2 1 1 2 3 2 1 1 2 1 1 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 26 页,共 35 页 - - - - - - - - - 2
29、2 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 27 页,共 35 页 - - - - - - - - - 23 3.7 实验 7 数组 (1) 一、 实验目的1. 掌握数组的应用2. 熟悉二维数组的应用二、 实验内容和步骤1. 以表格的形式输入5 笔购物金额,最后输出各笔信息以及总金额【运行结果】请输入第 1 笔购物金额: 123.6 请输入第 2 笔购物金额: 45.7 请输入第 3 笔购物金额: 325.7 请输入第 4 笔购物金额: 99.0 请输入第 5 笔购物金额:
30、128.0 序号金额(元)1: 123.6 2: 45.7 3: 325.7 4: 99.0 5: 128.0 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 28 页,共 35 页 - - - - - - - - - 24 总金额722.0 2. 编写一个程序输入4 4 的数组,编写程序实现:1) 求出对角线上各元素的和;2) 求出对角线上行、列下标均为偶数的各元素的积;3) 找出对角线上其值最大的元素和它在数组中的位置。名师资料总结 - - -精品资料欢迎下载 - - - - -
31、 - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 29 页,共 35 页 - - - - - - - - - 25 3.8 实验 8 数组 (2) 一、 实验目的1. 掌握数组的冒泡排序和插入排序2. 熟悉数组的折半查找二、 实验内容和步骤1. 编写程序(采用冒泡排序和插入排序两种方法实现) ,任意输入10 个整数的数列,先将整数按照从大到小的顺序进行排序,然后输入一个整数插入到数列中,使数列保持从大到小的顺序。2. 利用上题排序好的数组,进行折半查找一个数组的具体位置。名师资料总结 - - -精品资料欢迎下载 - - - - - - - -
32、- - - - - - - - - - 名师精心整理 - - - - - - - 第 30 页,共 35 页 - - - - - - - - - 26 3.9 实验 9 字符串及其操作一、 实验目的1. 理解字符串和数组的关系2. 掌握字符串函数的使用二、 实验内容和步骤1. 编 写 一 个 程 序 , 对 给 定 的 一 串 字 符 串s=Iamastudent ,获得该字符串从索引3 到 7的子串,并将结果显示出来。2. 程序要求如下:给定字符串: this is java for you,java is good for programming! 编写代码:完成如下要求:5) 打印这个字
33、符串的长度。6) 打印第一次出现字符a 的位置。7) 打印最后一次出现字符串for 的位置3. 将字符串全部转为大写并打印。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 31 页,共 35 页 - - - - - - - - - 27 3.10 实验 10 函数一、 实验目的1. 掌握函数的定义2. 熟悉函数的调用3. 理解实参和形参的区别二、 实验内容和步骤1. 编写一个求水仙花数的函数,求3 位正整数的全部水仙花数中的次大值。所谓水仙花数是指三位整数的各位上的数字的立方和等于该
34、整数本身。 例如: 153 就是一个水仙花数 :153 = 13 + 53+ 332. 任意输入一个4 位自然数,调用函数输出该自然数的各位数字组成的最大数。3. 编写一个函数,对输入的整数k 输出它的全部素数因子。例如:当 k126时,素数因子为: 2,3,3,7。要求按如下格式输出: 126 = 2 * 3 * 3 * 7 。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 32 页,共 35 页 - - - - - - - - - 28 名师资料总结 - - -精品资料欢迎下载
35、- - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 33 页,共 35 页 - - - - - - - - - 29 3.11 实验 11 结构体一、 实验目的1. 掌握结构体的定义2. 熟悉结构体的初始化二、 实验内容和步骤1. 有 5 个学生,每个学生的数据包括学号、姓名、三门课的成绩,从键盘输入5 个学生数据,要求打印出三门课总平均成绩,以及三门课总分最高的学生的数据(包括学号、姓名、三门课的成绩、平均分数)。要求用一个 input 函数输入 5 个学生数据;用一个 average函数求总平均分;用 max 函数找出最高分
36、学生数据;总平均分和最高分的学生的数据都在主函数中输出。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 34 页,共 35 页 - - - - - - - - - 30 3.12 实验 12 指针一、 实验目的1. 理解指针的意义2. 掌握指针变量和指针运算符的使用二、 实验内容和步骤1. 在主函数中任意输入10 个数存入一个数组,然后按照从小到大的顺序输出这10 个数,要求数组中元素按照输入时的顺序不能改变位置。2. 请编程读入一个字符串,并检查其是否为回文(即正读和反读都是一样的) 。例如:读入: MADA M I M ADAM. 输出:YES 读入: ABCDBA. 输出: NO 3. 自己编写一个比较两个字符串s和 t 大小的函数strcomp(s,t),要求 s 小于 t 时返回 -1,s 等于 t?时返回 0,s 大于 t 时返回 1。在主函数中任意输入 4 个字符串,利用该函数求最小字符串。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 35 页,共 35 页 - - - - - - - - -