C语言实验指导书.docx
- 文档编号:30229609
- 上传时间:2023-08-07
- 格式:DOCX
- 页数:43
- 大小:30.53KB
C语言实验指导书.docx
《C语言实验指导书.docx》由会员分享,可在线阅读,更多相关《C语言实验指导书.docx(43页珍藏版)》请在冰豆网上搜索。
C语言实验指导书
浙江长征职业技术学院
C语言程序设计
实
验
指
导
书
学期:
__2008/2009学年第一学期
实验学时/次数:
30/15
课程性质:
专业必修课
实验年级、专业、班级:
_08计应
(1),
(2),08软件
指导教师:
_________相方莉
所属学院:
计算机学院计算机系
目录
1、实验一××××××(小4号黑体)-----------------------------页码
2、实验二××××××(小4号黑体)----------------------------页码
…………………………………………………………………………………………
实验一CFree集成开发环境和C程序实现
一、课时安排:
2课时
二、实验目的:
1.熟悉CFree集成开发环境
2.熟悉C程序的实现过程和方法
1)掌握编辑、编译、连接、运行程序的过程和方法
2)学会发现和解决常见的语法错误
三、实验环境:
CFREE3.5
四、实验内容:
1.启动CFree集成开发环境,了解CFree集成开发环境的功能,熟悉菜单、
热键基本操作。
2.程序改错(要求在Cfree中对如下程序进行测试,把实验出现的问题、
实验结果分析写在横线上)
1)要求文件名为1_1.c
main()
{
printf(“Helloworld!
\n”);
}
2)要求文件名为1_2.c
#include
main()
{
inti=9
printf(“i=%d\n”,i);
}
3)要求文件名为1_3.c
#include
main()
{
inti=9,j=1,s;
s=i+j;
printf("s=%d\n",s);
};
五、实验内容指导:
1.程序改错(要求在Cfree中对如下程序进行测试,把实验出现的问题、实验结果分析写在横线上)
1)要求文件名为1_1.c
main()
{
printf(“Helloworld!
\n”);
}
补上头文件:
#include
2)要求文件名为1_2.c
#include
main()
{
inti=9
printf(“i=%d\n”,i);
}
把inti=9 改成inti=9;
3)要求文件名为1_3.c
#include
main()
{
inti=9,j=1,s;
s=i+j;
printf("s=%d\n",s);
};
把这段程序最后的;去掉
六、注意事项:
注意文件的保存路径。
七、实验思考题:
1.与C语言程序直接相关的几种文件及扩展名分别是什么?
2.C语言程序主要的实现过程是怎样的?
实验二基本数据类型的使用,运算符与表达式
一、课时安排:
2课时
二、实验目的:
1.掌握C语言基本数据类型(整型,实型,字符型)数据的常量表示、
变量的定义和使用。
2.掌握常见格式控制字符对输出结果的控制作用。
3.掌握C语言算术、赋值、自增、自减运算符及相应表达式
4.掌握不同类型数据之间的赋值规律
5.了解强制数据类型转换以及运算符的优先级、结合性。
6.学会根据表达式,编写相应程序,验证表达式结果的方法。
三、实验环境:
在CFREE3.5下完成程序的编辑、编译、运行。
查看、分析程序结果。
四、实验内容:
1.已知:
a=2,b=3,x=3.9,y=2.3(a,b整型,x,y浮点),计算算术表达式(float)(a+b)/2+(int)x%(int)y的值。
试编程上机验证。
您分析的表达式结果:
。
2.已知:
a=7,x=2.5,y=4.7(a整型,x,y浮点),计算算术表达式x+a%3*(int)(x+y)%2/4的值。
试编程上机验证。
您分析的表达式结果:
。
3.摄氏温度转化为摄氏温度的公式为C=(F-32)*5/9,输入一个.华氏温度,输出相应的摄氏温度,注意类型转化。
4.编写一个计算三角形周长的程序:
输入三角形三边,程序输出计算结果。
五、实验内容指导:
1.提示编程要点:
(1)先判断结果值类型,可设置一个此类型的变量用于记录表达式结果,
本例用r存放结果;
(2)程序先给几个条件变量赋初值,然后将表达式赋值给变量r;
(3)最后打印变量r的值就是表达式的值。
#include
main()
{
inta=2,b=3;
floatx=3.9,y=2.3,r;
r=(float)(a+b)/2+(int)x%(int)y;
printf(“%f”,r);
}
表达式结果:
3.50000。
2.#include
main()
{
inta=7;
floatx=2.5,y=4.7,r;
r=x+a%3*(int)(x+y)%2/4;
printf(“%f”,r);
}
表达式结果:
2.500000。
3.#include
main()
{
floatf,c;//f代表华氏温度,c代表摄氏温度
printf(“请输入一个华氏温度\n”);
scanf(“%f”,&f);
c=(5.0/9.0)*(f-32);
printf(“摄氏温度为:
%6.2f\n”,c);
}
4.#include
main()
{
floata,b,c,zhouchang;//a,b,c代表三角形的三条边
printf(“请输入一个三角形的三条边\n”);
scanf(“%f,%f,%f”,&a,&b,&c);
zhouchang=a+b+c;
printf(“周长为:
%6.2f\n”,zhouchang);
}
六、注意事项:
1.注意标点符号
七、实验思考题:
1.数据类型的转化有哪几种?
2.把数学公式转化为c语言的表示式时要注意哪些?
实验三顺序结构程序设计
一、课时安排:
2课时
二、实验目的:
1.掌握:
使用标准输入/输出函数进行常见数据类型的数据的输入/输出方法。
2.初步培养编制程序框图和源程序、准备测试数据以及实际调试程序的独立
编程能力。
三、实验环境:
在CFREE3.5下完成程序的编辑、编译、运行。
查看、分析程序结果。
四、实验内容:
1.已知一个直角三角形的两个直角边分别为a=5,b=8,求直角三角形的面积s。
2.从键盘输入一个小写字母,将其转化为大写字母。
3.输入一个字母,输出它的后继字母。
如输入’a’,则输出’b’。
4.输入两个整数,输出它们的积。
5.已知一个圆柱体的半径r=10,高h=15,求圆柱体的:
地面周长c,底面积s,侧面积s1,表面积s2,体积V。
6.假定个人所得税的征收依据如下:
按工资收入的15%征收个人所得税。
编写一个程序,当从键盘输入职工工资时,计算出实发工资并输出。
该如何编写这个程序呢?
(选做)
五、实验内容指导:
1.#include
main()
{
inta=5,b=8;
floats;
s=1/2.0*a*b;
printf("面积为:
%6.2f\n",s);
}
2.#include
main()
{charc;
printf("请输入一个小写字母\n");
scanf("%c",&c);
c=c-32;
printf("这个小写字母对应的大写字母为%c\n",c);
}
3.#include
main()
{charc;
printf("请输入一个字母\n");
scanf("%c",&c);
c=c+1;
printf("这个字母的后继字母为%c\n",c);
}
4.#include
main()
{
longinta,b,m;
printf("请输入两个整数\n");
scanf("%ld,%ld",&a,&b);
m=a*b;
printf("您输入的两个数的乘积为%ld\n",m);
}
5.#include
main()
{floatpi,h,r,c,s,s1,s2,v;
pi=3.14;
printf("请输入圆柱半径r,圆柱高h\n");
scanf("%f,%f",&r,&h);
c=2*pi*r;
s=pi*r*r;
s1=2*pi*r*h;
s2=s1+2*s;
v=pi*r*r*h;
printf("底面周长为:
c=%6.2f\n",c);
printf("底面积为:
s=%6.2f\n",s);
printf("侧面积为:
s1=%6.2f\n",s1);
printf("表面积为:
s2=%6.2f\n",s2);
printf("体积为:
v=%6.2f\n",v);
}
6.#include
main()
{floatgongzi,shifagongzi;
printf("请输入你的工资\n");
scanf("%f",&gongzi);
shifagongzi=gongzi*(1-0.15);
printf("您的实发工资为%6.2f\n",shifagongzi);
}
六、注意事项:
1.注意编程的风格,取变量名称最好“见名识意”。
2.scanf函数的正确使用。
七、实验思考题:
1.变量类型的一般如何定义?
2.注释是否会被编译?
实验四选择结构程序设计
一、课时安排:
4课时
二、实验目的:
1.掌握关系、逻辑运算符及其表达式的正确使用。
2.掌握if语句,条件运算符和switch语句的使用。
三、实验环境:
在CFREE3.5下完成程序的编辑、编译、运行。
查看、分析程序结果。
四、实验内容:
阶段一:
1.给出一个百分制成绩,要求输出成绩等级’A’,’B’,’C’,’D’,’E’,即90分以上为’A’,80~90为’B’,70~79为’C’,60~69为’D’,60分以下为’E’。
2.有一函数:
x(x<1)
y=2x-1(1<=x<10)
3x-11(x>=10)
编写一程序,输入一个x值,输出y的值。
3.编写一个体重测量仪,要求当输入体重和身高后,能够计算出体重指数,并根据指数情况进行判断。
体重指数=体重(公斤)除身高(米)的平方(kg/m2)
判断标准:
偏瘦:
体重指数<18
正常体重:
18<=体重指数<25
微度肥胖:
25<=体重指数<30
轻度肥胖:
30<=体重指数<35
中度肥胖:
35<=体重指数<40
重度肥胖:
体重指数>=40
4.某单位马上要加工资,增加金额取决于工龄和现工资两个因素:
对于工龄大于等于20年的,如果现工资高于2000,加200元,否则加180元;对于工龄小于20年的,如果现工资高于1500,加150元,否则加120元。
工龄和现工资从键盘输入,编程求加工资后的员工工资。
(选做)
阶段二:
1.由键盘输入三个整数a,b,c,用条件运算符求出其中最大值和最小值。
2.从键盘输入星期号,并显示该日期的英文星期名字。
3.某市不同车牌的出租车3公里的起步价和计费分别为:
夏利7元,3公里以外的2.1元/公里;富康8元,3公里以外的2.4元/公里;桑塔纳9元,3公里以外的2.7元/公里;.编程:
从键盘输入乘车的车型和行车公里数,输出应付车资。
4.给一个不多于5位的正整数,要求:
①求出它是几位数;②分别打印出每一位数字;③按逆序打印出各位数字。
如原数为123,则逆序为321。
五、实验内容指导:
阶段一:
1.#include
main()
{floatscore;
chargrade;
printf("请输入学生成绩(百分制):
\n");
scanf("%f",&score);
if(score>90)
grade='A';
elseif(score>80)
grade='B';
elseif(score>70)
grade='C';
elseif(score>60)
grade='D';
else
grade='E';
printf("这位学生的成绩相应的等级是%c.\n",grade);
}
2.#include
main()
{floatx,y;
printf("请输入x的值\n");
scanf("%f",&x);
if(x<1)
y=x;
elseif(x>=10)
y=3*x-11;
else
y=2*x-1;
printf("x=%6.2f,y=%6.2f",x,y);
}
3.#include
main()
{floatweight,height,tzzs;
printf("请输入您的体重(公斤)\n");
scanf("%f",&weight);
printf("请输入您的身高(米)\n");
scanf("%f",&height);
tzzs=weight/(height*height);
if(tzzs<18)
printf("偏瘦\n");
elseif(tzzs<25)
printf("体重正常\n");
elseif(tzzs<30)
printf("轻度肥胖\n");
elseif(tzzs<35)
printf("中度肥胖\n");
else
printf("重度肥胖\n");
}
4.#include"stdio.h"
main()
{
intage;
floatsalary_old,salary_new;
printf("请输入您的工龄\n");
scanf("%d",&age);
printf("请输入您原来的工资\n");
scanf("%f",&salary_old);
if(age>=20)
if(salary_old>2000)
salary_new=salary_old+200;
else
salary_new=salary_old+180;
else
if(salary_old>1500)
salary_new=salary_old+150;
else
salary_new=salary_old+120;
printf("\n加工资后你的工资变为为:
%f\n",salary_new);
}
阶段二:
1.#include
main()
{inta,b,c,max1,max,min1,min;
printf("请输入三个整数\n");
scanf("%d,%d,%d",&a,&b,&c);
max1=a>b?
a:
b;
max=max1>c?
max1:
c;
min1=a
a:
b;
min=min1 min1: c; printf("最大值为: %d,最小值为: %d\n",max,min); } 2.#include main() { intxqh; charywm; printf("请输入星期号(1~7): \n"); scanf("%d",&xqh); switch(xqh) {case1: printf("Monday\n");break; case2: printf("Tuesday\n");break; case3: printf("Wednesday\n");break; case4: printf("Thursday\n");break; case5: printf("Friday\n");break; case6: printf("Saturday\n");break; case7: printf("Sunday\n"); } } 3.#include main() { intcx; floatgl,cf; printf("\t1-夏利\n\t2-富康\n\t3-桑塔纳\n"); printf("\t请输入车型(1-3): "); scanf("%d",&cx); printf("\n\t请输入行车公里数: "); scanf("%f",&gl); switch(cx) {case1: if(gl<=3) cf=7.0; else cf=7+(gl-3)*2.1;break; case2: if(gl<=3) cf=8.0; else cf=8+(gl-3)*2.4;break; case3: if(gl<=3) cf=9.0; else cf=9+(gl-3)*2.7; } printf("\t应付车资为%.1f\n",cf); } 4.#include"stdio.h" main() { unsignedx,m,n=0,w=0; unsignedge=0,shi=0,bai=0,qian=0,wan=0; printf("请输入一个不多于5位的正整数"); scanf("%u",&x); m=x; ge=m%10; m=m/10; w=1; n=ge; if(m) {shi=m%10; m=m/10; w=2; n=n*10+shi; if(m) {bai=m%10; m=m/10; w=3; n=n*10+bai; if(m) {qian=m%10; m=m/10; w=4; n=n*10+qian; if(m) {wan=m; w=5; n=n*10+wan; } } } } printf("\n您输入的数为%u位数",w); printf("\n正整数的原序为: %u",x); printf("\n正整数的逆序为: %u",n); } 六、注意事项: 1.注意关系表达式的书写。 2.注意数学公式的转化。 3.注意嵌套条件语句的使用 七、实验思考题: 1.条件运算的运算规则是怎样的? 2.switch语句的使用场合如何? 3.如何表达给定正整数的每一位? 实验五循环结构程序设计 一、课时安排: 4课时 二、实验目的: 1.掌握while,do-while循环的语法结构与应用。 2.掌握while,do-while循环的区别。 3.掌握for循环的语法结构与应用。 4.握循环嵌套使用方法。 5.掌握break,continue语句。 三、实验环境: 在CFREE3.5下完成程序的编辑、编译、运行。 查看、分析程序结果。 四、实验内容: 阶段一: 1.用循环实现求1+2+4+8+…64的和 2.用循环实现求1+1/2+1/3+1/4+1/5+…+1/100 3.用循环实现求100以内能够被8整除的数的和 4.求1000以内所有的水仙花数。 (水仙花数是一个3位数,它的每一位数字的立方和等于它本身。 ) 趣味提高题(选做): 1.在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1~100分。 选手最后得分为: 去掉一个最高分和一个最低分后其余8个分数的平均值。 请编写一个程序实现。 2.马克思手稿中有一道趣味数学问题: 有30个人,其中有男人、女人和小孩,在一家饭馆吃饭花了50先令;每个男人花3先令,每个女人花2先令,每个小孩花1先令;问男人、女人和小孩各有几人? 阶段二: 1.输出乘法口诀表 2.打印如下图形 & && &&& &&&& 3.求出500以内的所有素数,并要求每8个打一行,最后还要统计500以内所有素数的个数 4.猴子吃桃问题。 猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。 以后每天早上都吃了前一天剩下的一半零一个。 到第10天早上想再吃时,见只剩下一个桃子了。 求第一天共摘了多少个桃子。 趣味提高题(选做): 抓交通肇事犯: 一辆卡车违反交通规则,撞人后逃跑。 现场有三人目击事件,但都没有记住车号,只记下车号的一些特征。 甲说: 牌照的前两位数字是相同的; 乙说: 牌照的后两位数字是相同的,但与前两位不同; 丙是数学家,他说: 四位的车号刚好是一个整数的平方。 请根据以上线索求出车号。 五、实验内容指导: 阶段一: 1.#include main() {inti=1,s=0; while(i<=64) { s=s+i; i=2*i; } printf("s=%d\n",s); } 2.#include main() {floats=0; inti=1; while(i<=100) { s=s+1.0/i; i++; } printf("s=%.2f\n",s); } 3.#include main() {intn,s=0; for(n=1;n<=100;n++) if(n%8==0) {s=s+n; printf("%4d",n); } printf("\n100以内能够被8整除的数的和为s=%d",s); } 4.#include main() {intn=100,ge,shi,bai; while(n>=100&&n<=999) { ge=n%10; shi=n/10%10; bai=n/100; if(n==ge*ge*ge+shi*shi*shi+bai*bai*bai) printf("%d是水仙花数\n",n); n++; } } 趣味提高题(选做): 1.#include intmain() { intscore,i=1,sum=0,max,min; floataverage=0; printf("请输入您的评分%d=",i); scanf("%d",&score);/*输入评委的评分*/ sum=max=min=score; i++;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 实验 指导书
![提示](https://static.bdocx.com/images/bang_tan.gif)