C语言实验指导书.docx

上传人:b****5 文档编号:30229609 上传时间:2023-08-07 格式:DOCX 页数:43 大小:30.53KB
下载 相关 举报
C语言实验指导书.docx_第1页
第1页 / 共43页
C语言实验指导书.docx_第2页
第2页 / 共43页
C语言实验指导书.docx_第3页
第3页 / 共43页
C语言实验指导书.docx_第4页
第4页 / 共43页
C语言实验指导书.docx_第5页
第5页 / 共43页
点击查看更多>>
下载资源
资源描述

C语言实验指导书.docx

《C语言实验指导书.docx》由会员分享,可在线阅读,更多相关《C语言实验指导书.docx(43页珍藏版)》请在冰豆网上搜索。

C语言实验指导书.docx

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++;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1