《程序设计基础C语言》实验指导书.docx
- 文档编号:11966393
- 上传时间:2023-04-16
- 格式:DOCX
- 页数:16
- 大小:44.92KB
《程序设计基础C语言》实验指导书.docx
《《程序设计基础C语言》实验指导书.docx》由会员分享,可在线阅读,更多相关《《程序设计基础C语言》实验指导书.docx(16页珍藏版)》请在冰豆网上搜索。
《程序设计基础C语言》实验指导书
《程序设计基础(C语言)》实验指导书
实验指导书
《程序设计基础(C语言)》
第1章概述
1.1课程简介
《程序设计基础(C语言)》是软件工程各专业或其它相近专业学生的公共职业基础课,是软件类各专业的入门课程,直接影响学生后继职业技术课程的学习及可持续发展能力的培养。
通过本书,学习基本的程序设计概念和程序设计方法,学会使用C语言解决实际问题,进行初级的程序设计。
1.2实验环境选择
VC++6.0
第2章实验要求
2.1实验过程要求
本课程中,实验者必须服从指导教师和实验室工作人员的安排,遵守纪律与实验制度,爱护设备及卫生。
在指定的实验时间内,必须到机房内实验,其余时间可自行设计和分析。
本课程所涉及的程序代码,都要求有较高的可读性和效率,多文件表示。
2.2考核及评分标准
若实验者在指定上机时间三次不到课,取消考核资格。
请假,必须提前出具正式假条,不接受事后假条。
如果发现抄袭、篡改、伪造实验数据,或实验报告和设计报告雷同,涉及的所有学生的该课程成绩计为0分。
本课程采用结构化评分,主要由指导教师灵活处理,可以是考勤等。
第3章实验内容
3.1实验1熟悉C语言运行环境
一、实验目的
1.了解什么是C语言
2.熟悉C语言程序开发环境
二、实验内容和步骤
1.大学生涯的第一个程序
1)运行MicrosoftVisualStudio2008或者VC6.0
2)创建项目,选择win32控制台应用程序或者空项目,项目名为MyFirstApp
3)新建项目,选择C++源文件,文件名为HelloWorld
4)在程序编辑窗口,输入如下代码
#include
/*主程序*/
voidmain()
{
printf("helloworld\n");
}
5)执行程序,Ctrl+F5
6)观察输出结果,并记录
2.修改程序
1)增加语句,观察输出结果是否不同
printf("helloworld\n");
printf("worldisme\n");
2)删除输出字符串中的“\n”,观察输出结果是否不同
printf("helloworld\n");
3)进行换行输出,观察输出结果是否不同
printf("hello,");
printf("world");
printf("\n");
4)将上个程序块中的printf("\n");去掉,观察输出结果是否不同
3.用自己的语言,描述下对C语言程序的第一印象
4.简单描述下,第二步骤中,输出结果相同与不同的原因;以及“\n”的用途
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’,要求将a的值改变为它所对应的大写字母‘B’(不允许使用直接赋值a=‘B’的方法),最后输出a的值。
(提示:
大小写字母之间差32,如:
A的ASCII码为65,a的ASCII码为97,他们之间差值为32)
[输出格式要求如下]:
a=B
4.定义一个字符型变量charInfo,使用scanf语句将charInfo得到一个值,并输出该值。
(做此题之前,请先看提供的课件)
5.用scanf输入数据,圆半径r=1.5和圆柱高h=3,求圆周长、圆面积、圆球体积、圆柱体积。
输出计算结果。
6.由键盘输入底和高,求三角形的面积。
7.从键盘输入两个数为两个变量赋值,然后将两个变量的值互相交换,再输出两个变量的值。
3.3实验3运算符和表达式
一、实验目的
1.了解表达式的概念
2.掌握各种运算符和表达式的应用
二、实验内容和步骤
1.以下程序不用第三个变量,实现将两个数进行对调操作,请填空。
#include
voidmain()
{
inta,b;
scanf("%d%d",&a,&b);
printf("a=%d,b=%d\n",a,b);
a=a+b;
b=a-b;
a=____;
printf("a=%d,b=%d\n",a,b);
}
程序运行结果,如,输入3,4,输出:
2.有程序运行结果如下:
其作用是将分钟数转换为对应的小时数,不足一小时的显示对应的分钟。
请将程序补充完整。
#include
voidmain()
{
inti=560,h,m;
__________;/*计算小时数*/
__________;/*计算分钟数*/
printf("%d分钟<=>%d小时%d分钟\n",i,h,m);
}
3.先计算下面两题,再编程计算下面算术表达式的值,并思考与自己计算的结果是否一致
1)x+a%3*(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
4.从键盘输入基本工资,并计算输出实领工资
1)说明:
a)物价津贴为基本工资的40%
b)房租津贴为基本工资的25%
c)薪水为三者的和
2)运行结果如下:
请输入基本工资:
3000
该员工的工资细目为:
基本工资为:
3000
物价津贴为:
1200.0
房租津贴为:
750.0
员工薪水为:
4950.0
5.幸运抽奖:
商场推出幸运抽象活动,具体规则如下
1)输入会员卡号,卡号为4位整数
2)根据卡号,计算卡号的各位数字之和
3)提示,采用“%”运算符进行分解数字
【运行结果】
请输入4位会员卡号:
8349
会员卡号8349各位数字之和为:
24
3.4实验4顺序结构及输入和输出
一、实验目的
1.掌握顺序结构程序设计
2.熟练输入与输出的应用
二、实验内容和步骤
1.从键盘输入直角三角形的两条直角边a,b,编程序计算斜边c。
【算法提示】
1)输入a,b的值,a,b为实型数据。
2)根据公式c=sqrt(a*a+b*b),求出c;
(程序的开头还要使用#include
3)输出c。
2.编写一个程序,实现功能如下:
在键盘上任意输入一个三位正整数,然后反向输出对应的一个数。
例如,你在键盘中输入123,则应输出321。
【算法提示】
1)要求数据从键盘输入(scanf函数)
2)使用如下方法分别得到个、十、百位上的数据,再重新组合数据,实现反向输出对应的数据(即个位作为百位,百位作成个位)
涉及到基本算术符号中/以及%的使用
(例如,假设数据为123,要分别取它的个、十、百位,再重新组合。
参考如下使用方法:
123/100=1,123/10=12,123%100=23,123%10=3)
3.调试下列程序,使之能正确输出3个整数之和及3个整数之积。
#include
main()
{
inta,b,c;
printf("Pleaseenter3numbers:
");
scanf("%d,%d,%d",&a,&b,&c);
ab=a+b;
ac=a*c;
printf("a+b+c=%d\n",a+b+c);
printf("a*b*c=%d\n",a+c*b);
}
4.编写一个程序,实现功能如下:
从键盘中输入秒数,将它按小时、分钟、秒的形式来输出。
例如输入7278秒,则输出2小时1分18秒;
5.编写程序,输入四个数,并求它们的平均值
3.5实验5选择结构
一、实验目的
1.熟练if语句的使用
2.熟练switch语句的使用
二、实验内容和步骤
以下题目,采用if语句。
1.编写程序,使之具有如下功能:
输入a、b、c三个整数,求最小值。
2.编写程序,求解下列分段函数:
3.某托儿所收2岁到6岁的孩子,2岁、3岁孩子进小班(Lowerclass);4岁孩子进中班(Middleclass);5岁、6岁孩子进大班(Higherclass)。
编写程序(用switch语句),输入孩子年龄,输出年龄及进入的班号。
如:
输入:
3
输出:
age:
3,enterLowerclass。
以下题目,采用switch语句。
4.编写程序,求解下列分段函数:
有一函数
以下题目,分别采用if和switch两者语句完成
5.使用if语句编写“显示某年某月的天数”程序:
【分析】:
一月、三月、五月、七月、八月、十月、十二月,均为31天。
四月、六月、九月、十一月,均为30天。
二月,闰年为29天,不是闰年为28天。
该题可用switch语句求解,但遇到两个矛盾需解决:
如何表示一月、三月、五月、七月、八月、十月、十二月均为31天?
这是第一个矛盾。
闰年如何判断?
这是第二个矛盾。
能看到如下运行结果(“2002,2”是用户键盘输入的,“2002年2月是28天”是程序运行后显示的):
Pleaseenteryearandmonth:
2002,2<回车>
20022is28days
6.输入四个数,要求按由小到大顺序输出。
得到正确结果后,修改程序使之按从大到小顺序输出。
7.给出一个百分制成绩,要求输出成绩等级A,B,C,D,E。
90分以上为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E
3)要求分别用if语句和switch语句编程实现,并检查结果是否正确
4)再运行一次程序,输入分数为负数(如-70),这显然是输入时出错,不应该出等级。
修改程序,使之能正确处理任何数据。
当输入数据大于100或小于0时,通知用户“输入数据错”,程序结束。
3.6实验6循环结构
一、实验目的
1.熟练while语句的使用
2.熟练do…while语句的使用
3.熟练for语句的使用
二、实验内容和步骤
1.输入一个正整数,将该数逆序输出。
2.编写程序,求100~200之间所有的素数,及其个数。
\
3.编写程序,输出以下图案:
*
***
*****
*******
*****
***
*
4.编写程序,输出以下图案:
*
***
*****
*******
*****
***
*
5.(用do-while语句实现)编写程序:
从键盘上输入10个整数,求其平均值。
【注意】
1)用循环条件的设置控制输入的个数
2)整数/整数=整数,如10/4=2,而不是2.5;
【继续思考“由人为的控制输入数据的个数,你想求几个数的平均数就求几个数的平均数”,如何编程】
6.(用while语句实现)编写程序:
输入的不同半径,输出其所对应的圆面积程序,输入半径为负数时结束整个程序运行。
7.(用for语句实现)编写程序:
求1~100之间的素数,将每个素数都打印出来,并且要求每行只显示5个数。
8.用循环语句编写程序。
9.实现功能“显示乘法口诀表”
Themultiplicationtable
=====================
|123456789横向表头
-------------------------------------------------------------
1|1
2|24
3|369
4|481216
5|510152025
6|61218243036
7|7142128354249
8|816243240485664
9|918273645546372
81
纵向表头积
10.编写程序实现输入整数n,输出如下所示由数字组成的菱形。
(图中n=4)
1
121
12321
1234321
12321
121
1
3.7实验7数组
(1)
一、实验目的
1.掌握数组的应用
2.熟悉二维数组的应用
二、实验内容和步骤
1.以表格的形式输入5笔购物金额,最后输出各笔信息以及总金额
【运行结果】
请输入第1笔购物金额:
123.6
请输入第2笔购物金额:
45.7
请输入第3笔购物金额:
325.7
请输入第4笔购物金额:
99.0
请输入第5笔购物金额:
128.0
序号金额(元)
1:
123.6
2:
45.7
3:
325.7
4:
99.0
5:
128.0
总金额722.0
2.编写一个程序输入4×4的数组,编写程序实现:
1)求出对角线上各元素的和;
2)求出对角线上行、列下标均为偶数的各元素的积;
3)找出对角线上其值最大的元素和它在数组中的位置。
3.8实验8数组
(2)
一、实验目的
1.掌握数组的冒泡排序和插入排序
2.熟悉数组的折半查找
二、实验内容和步骤
1.编写程序(采用冒泡排序和插入排序两种方法实现),任意输入10个整数的数列,先将整数按照从大到小的顺序进行排序,然后输入一个整数插入到数列中,使数列保持从大到小的顺序。
2.利用上题排序好的数组,进行折半查找一个数组的具体位置。
3.9实验9字符串及其操作
一、实验目的
1.理解字符串和数组的关系
2.掌握字符串函数的使用
二、实验内容和步骤
1.编写一个程序,对给定的一串字符串s="Iamastudent",获得该字符串从索引3到7的子串,并将结果显示出来。
2.程序要求如下:
给定字符串:
thisisjavaforyou,javaisgoodforprogramming!
编写代码:
完成如下要求:
5)打印这个字符串的长度。
6)打印第一次出现字符a的位置。
7)打印最后一次出现字符串"for"的位置
3.将字符串全部转为大写并打印。
3.10实验10函数
一、实验目的
1.掌握函数的定义
2.熟悉函数的调用
3.理解实参和形参的区别
二、实验内容和步骤
1.编写一个求水仙花数的函数,求3位正整数的全部水仙花数中的次大值。
所谓水仙花数是指三位整数的各位上的数字的立方和等于该整数本身。
例如:
153就是一个水仙花数:
153=13+53+33
2.任意输入一个4位自然数,调用函数输出该自然数的各位数字组成的最大数。
3.编写一个函数,对输入的整数k输出它的全部素数因子。
例如:
当k=126时,素数因子为:
2,3,3,7。
要求按如下格式输出:
126=2*3*3*7。
3.11实验11结构体
一、实验目的
1.掌握结构体的定义
2.熟悉结构体的初始化
二、实验内容和步骤
1.有5个学生,每个学生的数据包括学号、姓名、三门课的成绩,从键盘输入5个学生数据,要求打印出三门课总平均成绩,以及三门课总分最高的学生的数据(包括学号、姓名、三门课的成绩、平均分数)。
要求用一个input函数输入5个学生数据;用一个average函数求总平均分;用max函数找出最高分学生数据;总平均分和最高分的学生的数据都在主函数中输出。
3.12实验12指针
一、实验目的
1.理解指针的意义
2.掌握指针变量和指针运算符的使用
二、实验内容和步骤
1.在主函数中任意输入10个数存入一个数组,然后按照从小到大的顺序输出这10个数,要求数组中元素按照输入时的顺序不能改变位置。
2.请编程读入一个字符串,并检查其是否为回文(即正读和反读都是一样的)。
例如:
读入:
MADAMIMADAM.输出:
YES
读入:
ABCDBA.输出:
NO
3.自己编写一个比较两个字符串s和t大小的函数strcomp(s,t),要求s小于t时返回-1,s等于t时返回0,s大于t时返回1。
在主函数中任意输入4个字符串,利用该函数求最小字符串。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计基础C语言 程序设计 基础 语言 实验 指导书