C语言实验指导书.docx
- 文档编号:24450052
- 上传时间:2023-05-27
- 格式:DOCX
- 页数:38
- 大小:29.71KB
C语言实验指导书.docx
《C语言实验指导书.docx》由会员分享,可在线阅读,更多相关《C语言实验指导书.docx(38页珍藏版)》请在冰豆网上搜索。
C语言实验指导书
指导老师:
毛海燕
2008-2-27
实验一C语言的运行环境和运行过程
一、实验实训目的及要求
1、了解Dos、Windows环境下C语言的运行环境,了解所用的计算机系统的基本操作方法,学会独立使用该系统。
2、了解在该系统上如何编辑、编译、连接和运行一个C程序。
3、通过运行简单的C程序,初步了解C源程序的特点。
二、实验内容
1、TurboC的启动以及工作环境介绍。
2、在TurboC环境中运行C语言源程序
三、实验实训指导
(一)TurboC工作环境介绍
一个C语言程序的实施是从进入TurboC的集成环境开始的,而进入C语言的环境,一般有两种途径:
从DOS环境进入和从Windows
环境进入。
1、从DOS环境进入:
在DOS命令行上键入:
C>CD\TC↙(指定当前目录为TC子目录)
C>TC↙(进入TurboC环境)
这时进入TurboC集成环境的主菜单窗口,屏幕显示如下图所示。
2、从Windows环境进入:
在Windows95/98环境中,如果本机中已安装了TurboC,可以在桌面上建立一个快捷方式,双击该快捷图标即可进入C语言环境。
或
者从开始菜单中找到“运行”,在运行对话框中键入“C:
\TC\TC”,“确定”即可。
刚进入TC环境时,光带覆盖在“File”上,整个屏幕由四部分组成,依次为:
主菜单、编辑窗口、信息窗口和功能提示行(或称快
速参考行)。
(1)主菜单
显示屏的顶部是主菜单条,它提供了8个选择项:
File处理文件(装入、存盘、选择、建立、换名存盘、写盘),目录操作(列表、改变工作目录),退出TurboC,返回DOS状态。
Edit建立、编辑源文件。
Run自动编辑、连接并运行程序。
Compile编辑、生成目标文件组合成工作文件。
Project将多个源文件和目标文件组合成工作文件。
Option提供集成环境下的多种选择和设置(如设置存储模式、选择编参数、诊断及连接任选项)以及定义宏;也可记录Include、
Output及Library文件目录,保存编译任选项和从配置文件加载任选项。
Debug检查、改变变量的值、查找函数,程序运行时查看调用栈。
选择程序编译时是否在执行代码中插入调试信息。
Break/Watch增加、删除、编辑监视表达式,及设置、清除、执行至断点。
在主菜单中,Edit选项仅仅是一条进入编辑器的命令。
其他选项均为下拉式菜单,包含许多命令选项,使用方向键移动光带来选择某个
选项时,按回车键,表示执行该命令,若屏幕上弹出一个下拉菜单,以提供进一步选择。
2TurboC环境中运行C语言源程序的步骤
(1)编辑源文件
在主菜单下,直接按Alt+F键,或按F10后将光带移到“File”选项上,按回车键,在“File”下面出现一个下拉菜单,菜单中有以下选项:
LoadF3表示加载或装入一个文件
PickAlt+F3从指定的文件列表中选择文件装入编辑器。
New表示新文件,缺省文件名为NONAME.C。
SaveF2将正在编辑的文件存盘。
Writeto将正在编辑的文件写入指定的文件中,若文件名已存在,则重写。
Directory表示文件目录。
ChangeDir改变驱动器及目录
OSshell进入TurboC命令行模式,命令EXIT可返回集成环境
QuitAlt+x退出TurboC,返回DOS状态。
建立一个新文件,可用光标移动键将“File”菜单中的光带移到“New”处,按回车键,即可打开编辑窗口。
此时,编辑窗口是空白的,
光标位于编辑窗口的左上角,屏幕自动处于插入模式,可以输入源程序。
屏幕右上角显示缺省文件名为NONAME.C,编辑完成之后,
可用F2或选择“Save”或“Writeto”进行存盘操作,此时系统将提示用户将文件名修改成为所需要的文件名。
(2)源程序的编译、连接
直接按F9键,或将菜单“Compile”中的光带移到“MakeEXEfile”项上,按回车键,就可实现对源程序的编译、连接。
若有错误,则
在信息窗口显示出相应的信息或警告,按任意键返回编辑窗口,光标停在出错位置上,可立即进行编辑修改。
修改后,再按F9键进行
编辑、连接。
如此反复,直到没有错误为止,即可生成可执行文件。
注意:
C程序的连接是在编译后自动完成的。
(3)执行程序
直接按Ctrl+F9键,即可执行.EXE文件;或在主菜单中(按F10进入主菜单)将光带移到“Run”选项,按回车键,弹出一个菜单,选择
“Run”选项,回车。
这时并不能直接看到输出结果。
输出结果是显示在用户屏幕上,在TC屏幕上看不到,直接按复合键Alt+F5,或选择“Run”菜单中的
“UserScreen”选项,即可出现用户屏幕,查看输出结果。
按任意键返回TC集成环境。
另外,选择“Run”菜单下的“Run”项,或直接按Ctrl+F9键,可将C程序的编译、连接、运行一次性完成,即第3步中包含有第2步的工作。
如果程序需要输入数据,则在运行程序后,光标停留在用户屏幕上,要求在用户输入数据,数据输入完成后程序继续运行,直至输出结果。
如果运行结果不正确或其他原因需要重新修改源程序,则需重新进入编辑状态。
修改源程序,重复以上步骤,直到结果正确为止。
(4)退出TurboC集成环境
退出TurboC环境,返回操作系统状态。
可在主菜单选择“File”菜单的“Quit”选项,或者直接按Alt+x。
在执行退出TurboC环境时,系统将检查一下当前编辑窗口的程序是否已经存盘,若未存盘,系统将弹出一个提示窗口,提示是否将文件
存盘,若按“Y”则将当前窗口内的文件存盘后退出;若按“N”则不存盘退出。
【例1】编程实现在屏幕上显示如下三行文字
Hello,world!
WolcometotheClanguageworld!
Everyonehasbeenwaitingfor.
在TurboC的集成环境下,键入如下源文件。
敲Alt+F组合键打开File菜单,File菜单中Writeto选项可将默认noname.c文件名改为任意文件名。
程序example.c如下:
main()
{
printf("Hello,World!
\n");
printf("WolcometotheClanguageworld!
\n");
printf("Everyonehasbeenwaitingfor.\n");
}
然后用Ctrl+F9编辑执行example.c,用Alt+F5查看结果,即在屏幕上显示题目要求的三行文字。
按回车键重新返回TurboC的编辑环境。
注
意,在运行程序之前最好先存盘。
【例2】输入并运行程序,写出运行结果。
main()
{
inta,b,sum;
a=123;b=456;
sum=a+b;
printf(“sumis%d\n”,sum);
}
运行方法同上,最后结果为:
sumis579。
【例3】
输入并运行程序,写出运行结果。
main()
{
inta,b,c;
scanf(“%d,%d”,&a,&b);
c=max(a,b);
printf(“max=%d”,c);
}
intmax(intx,inty)
{
intz;
if(x>y)z=x;
elsez=y;
return(z);
}
这个程序的功能是对于任意输入的两个整数,输出较大的那个数。
所以程序运行之后,光标将停留在用户屏幕上,等待用户输入两
个整数,比如输入“3,5”,回车,在用户屏幕上就会输出“max=5”。
四、实验实训思考题
1、输入并运行例题中程序,熟悉调试C程序的的方法与步骤。
2、写出一个C程序的构成。
实验二C语言的基础知识
一、实验实训目的及要求
1、掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用的格
式转换符。
2、学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。
3、进一步熟悉C程序的编辑、编译、连接和运行的过程。
二、实验实训内容
1、输入程序,运行出结果。
mian()
{
charc1,c2;
c1=97;c2=98;
printf(“%c%c”,c1,c2);
}
2、分析下程序,写出运行结果,再输入计算机运行,将得到的结果与你分析得到的结果比较对照。
main()
{
charc1=’a’,c2=’b’,c3=’c’,c4=’\101’,c5=’\116’;
printf(“a%cb%c\tabc\n”,c1,c2,c3);
printf(“\t\b%c%c”,c4,c5);
}
3、分析下程序,写出运行结果,再输入计算机运行,将得到的结果与你分析得到的结果比较对照。
main()
{
inti,j,m,n;
i=8;j=10;
m=++i;n=j++;
printf(“%d,%d,%d,%d”,i,j,m,n);
}
三、实验实训指导
1、在此基础上
1)加一个printf语句,并运行之。
printf(“%d,%d”,c1,c2);
2)再将第二行改为:
intc1,c2;
再使之运行。
3)再将第三行改为:
c1=300;c2=400;
再使之运行,分析其运行结果。
在该程序中,说明了字符型数据在特定情况下可作为整型数据处理,整型数据有时也可以作为字符型数据处理。
2、在该程序中,主要考查对转义字符的掌握情况。
3、此程序主要考查自加、自减运算符以及复合运算符的用法。
四、实验实训思考题
1、“=”和“==”有什么区别?
2、“&”和“&&”、“|”和“||”有什么区别?
实验三简单的C程序设计
一、实验实训目的及要求
1.理解C语言程序的顺序结构
2.掌握常用的C语言语句,熟练应用赋值、输入、输出语句。
二、实验实训内容
1、按格式要求输入/输出数据
#include"stdio.h"
main()
{
inta,b;
flostx,y;
charc1,c2;
scanf(“a=%d,b=%d”,&a,&b);
scanf(“%f,%e”,&x,&y);
scanf(“&c&c”,&c1,&c2);
printf(“a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\n”,a,b,x,y,c1,c2);
}
2、输入三角形三边长,求三角形面积。
#include“math.h”
main()
{
floata,b,c,s,area;
scanf(“%f,%f,%f”,&a,&b,&c);
s=1.0/2*(a+b+c);
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf(“area=%f”,area);
}
3、已知圆半径,圆柱高,求圆周长,圆柱体积。
main()
{
floatr,h,l,v,pi;
pi=3.1415926;
scanf(“%f,%f”,&r,&h);
l=2*pi*r;
v=pi*r*r*h;
printf(“圆周长为:
%6.2f\n”,l);
printf(“%圆柱体积为:
6.2f”,v);
}
4、输入一个摄氏温度,要求输出华氏温度。
公式为f=5/9*c+32.
main()
{
floatc,f;
scanf(“%f”,&c);
f=5.0/9*c+32;
printf(“%5.2f\n”,c);
}
三、实验实训指导
1、第一题运行程序,必须按如下方式在键盘上输入数据
a=3,b=7↙
8.5,71.82↙
aA↙
2、修改输出格式控制符,观察输出结果的变化。
四、实验实训思考题
1、已知圆半径r=1.5,圆柱高h=3,求圆周长,圆面积,圆球表面积,圆球体积,圆柱体积。
2、输入一个华氏温度,要求输出摄氏温度。
公式为c=5/9*(f-32)。
实验四选择结构程序设计
一、实验实训目的及要求
1、了解C语句表示逻辑量的方法(以0代表“假”以1代表“真”);
2、学会正确使用逻辑运算符和逻辑表达式;
3、熟练掌握if语句和switch语句。
二、实验实训内容
编写程序完成下列题目:
1、已知三个数a,b,c,找出最大值放于max中。
2、输入某学生的成绩,经处理后给出学生的等级,等级分类如下:
90分以上(包括90):
A
80至90分(包括80):
B
70至80分(包括70):
C
60至70分(包括60):
D
60分以下:
E
3、有一函数:
y=
x
x<1
2x-1
1= 3x-11 x>=10 用scanf函数输入x的值(分别为x<1,1~10,>=10三种情况),求y值。 三、实验实训指导 1、分析: 由已知可得在变量定义时定义四个变量a,b,c和max,a,b,c是任意输入的三个数,max是用来存放结果最大值的。 第 一次比较a和b,把大数存入max中,因a,b都可能是大值,所以用if语句中if——else形式。 第二次比较max和c,把最大数存入max 中,用if语句的第一种形式if形式。 Max即为a,b,c中的最大值。 #include"stdio.h" main() { inta,b,c,max;/*定义四个整型变量*/ scanf(“a=%d,b=%d,c=%d”,&a,&b,&c); if(a>=b) max=a;/*a>=b*/ else max=b;/*a if(c>max) max=c;/*c是最大值*/ printf("max=%d",max); } 若输入下列数据,分析程序的执行顺序并写出运行结果 (1)a=1,b=2,c=3 (2)a=2,b=1,c=3 (3)a=3,b=2,c=1 (4)a=3,b=1,c=2 (5)a=3,b=3,c=2 (6)a=2,b=1,c=2 2、方法一: (用if嵌套`) 分析: 由题意知如果某学生成绩在90分以上,等级为A;否则,如果成绩大于80分,等级为B;否则,如果成绩大于70分,等级为C;否 则,如果成绩大于60分为D;否则,如果成绩小于60分,等级为E;但当我们输入成绩时也可能输错,出现小于0或大于100,这时 也要做处理,输出出错信息。 因此,再用if嵌套前,应先判断输入的成绩是否在0~100之间。 #include"stdio.h" main() { intscore; chargrade; printf("\npleaseinputastudentscore: "); scanf("%f",&score); if(score>100||score<0) printf("\ninputerror! "); else {if(score>=90) grade='A'; else {if(score>=80) grade='B'; else {if(score>=70) grade='C'; else {if(score>=60) grade='D'; elsegrade='E'; } } } printf("\nthestudentgrade: %c",grade); } } 输入测试数据,调试程序。 测试数据要覆盖所有路径,注意临界值,例如此题中得100分,60分,0分以及小于0和大于100的数据。 方法二: 用switch语句 分析: switch语句是用于处理多分支的语句。 注意,case后的表达式必须是一个常量表达式,所以在以用switch语句之前,必须把0~100之间 的成绩分别化成相关的常量。 所有A(除100以外),B,C,D类的成绩的共同特点是十位数相同,此外都是E类。 则由此可得把score 除十取整,化为相应的常数。 #include"stdio.h" main() { intg,s; charch; printf("\ninputastudentgrade: "); scanf("%d",&g); s=g/10; if(s<0||s>10) printf("\ninputerror! "); else {switch(s) {case10: case9: ch='A';break; case8: ch='B';break; case7: ch='C';break; case6: ch='D';break; default: ch='E'; } printf("\nthestudentscort: %c",ch); } } 输入测试数据,同方法一一样调试程序并写出结果。 3、分析: y是一个分段表达式。 要根据x的不同区间来计算y的值。 所以应使用If语句。 main() { intx,y; printf(“pleaseinputx: ”); scanf(“%d”,&x); if(x<1) { y=x; printf(“y=%d\n”,y); } elseif(x<10) { y=2*x-1; printf(“y=%d\n”,y); } else { y=3*x-11; printf(“y=%d\n”,y); } 四、实验实训思考题 c语言如何表示“真”与“假”? 系统如何判断一个量的“真”与“假”? 实验五循环结构程序设计 一、实验实训目的及要求 熟练掌握while、do—while和for三种循环语句的应用。 二、实验实训内容 编写程序,完成下列题目: 1、求5! 2、求和s=1! +2! +3! 3、求和s=1! +3! +5! 4、求和s=3+33+333 5、有一数列: 2/1,3/2,5/3,8/5,…求出这个数列的前10项之和。 6、打印500以内的“水仙花数”。 “水仙花数”是一个三位数,其各位数立方和等于该数本身。 7、一个数如果恰好等于它的因子之和,这个数就称为完数。 求100之内的所有完数。 三、实验实训指导 1、程序清单: main() { intn,t; n=1; t=1; while(t<=5) { n=n*t; t=t+1; } printf(“%d”,n); } 2、程序清单: main() { intn,s=0,t=1; for(n=1;n<=3;n++) { t=t*n; s=s+t; } printf(“%d”,s); } 3、程序清单: main() { ints=0,t,i,j; for(i=1;i<=3;i++) { t=1; for(j=1;j<=2*i-1;j++) t=t*j; s=s+t; } printf(“%d”,s); } 4、程序清单: main() { ints=0,t=3,i; for(i=1;i<=3;i++) { s=s+t; t=10*t+3; } printf(“%d”,s); } 5、程序清单: main() { intn,t,; floata=2,b=1,s=0; for(n=1;n<=10;n++) { s=s+a/b; t=a; a=a+b; b=t; } printf(“%f”,s); } 6、程序清单: main() { inti,j,k,n; for(n=100;n<=500;n++) { i=n/100; j=n/10-i*10; k=n%10; if(n==i*i*i+j*j*j+k*k*k) printf(“%d”,n); } } 7、程序清单: main() { intn,s,j; for(n=1;n<=100;n++) { s=0; for(j=1;j if(n%j==0) s=s+j; if(s==n) printf(“%d”,s); } } 四、实验实训思考题 求Sn=a+aa+aaa+…+aa…a之值,其中a是一个数字。 例如: 2+22+222+2222+22222(此时n=5),n由键盘输入(分别用while和for编程)。 实验六函数 一、实验实训目的及要求 1、掌握C语言函数的定义方法、函数的声明及函数的调用方法。 2、了解主调函数和被调函数之间的参数传递方式。 二、实验实训内容 1、写一个判断素数的函数,在主函数输入一个整数,输出是否素数的信息。 2、写一函数,是给定的一个二位数组(4×4)转置,即行列互换。 3、写两个函数,分别求两个正数的最大公约数和最小公倍数,用主函数调用这两个函数并输出结果。 两个正数由键盘输入。 4、写一函数,用“起泡法”对输入的10个字符按由小到大顺序排序。 三、实验实训指导 1、程序清单: mian() { intnumber; printf(“请输入一个正整数: \n”); scanf(“%d”,&number); if(prime(number)) printf(“\n%d是素数.”,number); else printf(“\n%d不是素数.”,number); } intprime(number)/*此函数用于判别素数*/ intnumber; { intflag=1,n; for(n=2;n if(number%n==0) flag=0; return(flag); } 判断素数的算法,我们在以前学习循环的时候已经学过了,在这里只是把这个算法用函数的形式表示出来。 这里我们要注意函数的 定义、声明的方法和格式。 2、程序清单: /*矩阵的转置*/ #defineN4 intarray[N][N]; convert(array) intarray[4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 实验 指导书