C语言实验教案封面加内容Word格式文档下载.docx

上传人:b****7 文档编号:22396723 上传时间:2023-02-03 格式:DOCX 页数:46 大小:50.36KB
下载 相关 举报
C语言实验教案封面加内容Word格式文档下载.docx_第1页
第1页 / 共46页
C语言实验教案封面加内容Word格式文档下载.docx_第2页
第2页 / 共46页
C语言实验教案封面加内容Word格式文档下载.docx_第3页
第3页 / 共46页
C语言实验教案封面加内容Word格式文档下载.docx_第4页
第4页 / 共46页
C语言实验教案封面加内容Word格式文档下载.docx_第5页
第5页 / 共46页
点击查看更多>>
下载资源
资源描述

C语言实验教案封面加内容Word格式文档下载.docx

《C语言实验教案封面加内容Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C语言实验教案封面加内容Word格式文档下载.docx(46页珍藏版)》请在冰豆网上搜索。

C语言实验教案封面加内容Word格式文档下载.docx

18

实验16文件

一、实验目的

1、了解TC环境的组成。

2、学习TC环境的使用方法。

3、了解C语言程序从编辑、编译、连接到运行并得到运行结果的过程。

二、实验预备知识

1.了解TC环境的组成。

开机后进入WINDOWS系统的"

资源管理器"

,找到TC环境所在的文件夹。

一般情况下,TC环境都安装在名为"

TC"

的子目录下,查看在TC目录下的以字母TC开头的文件,是否包括了TC.EXE、TCC.EXE、TLINK.EXE、TCCONFIG.TC等文件;

查看INCLUDE、LIB两个子目录下的文件。

知道这些文件的作用。

2.进入、退出和定制TC环境。

 运行TC目录下的TC.EXE文件,就可进入TC环境。

在WINDOWS环境下运行文件的方法是用鼠标双击要运行的文件名,或在桌面上双击快捷图标;

在DOS环境下进入到TC子目录,用命令方式运行TC.EXE程序。

进入TC环境后屏幕上显示出TC环境的主画面。

 退出TC环境,可在"

FILE"

菜单下选择"

QIUT"

菜单项,或用热键<

Alt+X>

,计算机返回到操作系统的控制下。

 在程序开发的过程中,有时需要返回到操作系统界面下观察程序的运行情况,但是又要保留运行的TC环境,操作方法是:

选择"

File"

菜单下的"

OSshell"

菜单项返到DOS操作系统界面,用"

EXIT"

命令可重新进入TC环境;

用<

Alt>

+<

空格>

键返到WINDOWS界面,TC环境缩小为屏幕下方任务条上的一图标,用鼠标单击该图标重新进入TC环境。

注意此时是返到操作系统,TC环境没有真正退出,如果此时再次运行TC.EXE文件,刚才是返到WINDOWS环境时,会重新打开一个TC窗口,返到DOS环境时会给出一个错误提示:

"

Programtoobigtofitinmemory"

这是因为DOS操作系统只管理640K的内存,放不下两个TC环境

 WINDOWS操作系统对TC环境是作为一个窗口进行管理的,因此WINDOWS窗口的一些属性也是有效的。

从TC环境返回WINDOWS系统时会出现一个快捷菜单(在任务条的TC图标上单击鼠标右键也可以出现快捷菜单),选择"

属性"

菜单项,屏幕出现一个名为"

TC属性"

的窗口,在该窗口里选择"

屏幕"

一页,在"

用法"

一项里选中"

单选钮,单击"

应用"

按钮,关闭"

的窗口,TC环境以WINDOWS窗口形式出现。

在窗口上方出现工具条,可以对窗口进行定制,注意"

全屏幕"

和"

中文"

两个工具钮的作用。

 TC环境下的"

Options"

菜单下可对TC环境进行设置,要了解"

Directories"

的作用,一般不要改变系统的其它设置。

3.运行演示程序

  在TC目录下有一个名为"

BGIDEMO.C"

的源程序,这是为TC图形函数提供的演示程序,运行这个演示程序。

在"

菜单下选"

Load"

项,在屏幕出现的"

LoadFileName"

窗 口里输入"

,该程序被装入编辑窗口,按<

Alt+R>

键,程序被编译、连接并运行。

注意运行此程序需要图形库文件,一般被装在TC目录下,没有这个图形库文件就不 能运行图形演示程序。

4.编写自己的第一个程序

  按键盘<

Alt+E>

键,激活编辑窗口,录入如下C源程序:

 main()

 {

printf("

ThisisaCProgram\n"

 printf("

Iamastudent\n"

);

 }

 按<

键,编译、连接、运行程序。

屏幕出现错误提示:

 statementmissing;

infunctionmain

 通过提示,可以知道上面程序第二行的最后漏敲一个分号,改正后程序运行。

按<

F5>

键观察输出结果。

F2>

键,程序存入硬盘,文件名自定(如:

test1)。

通过资源管理器观察当前目录下名为test1的几个文件,它们的扩展名分别是什么。

 改变"

菜单下"

项下的输出文件目录,用<

键把程序再存一次并运行。

在新设定的输出目录下观察名为test1的文件的存储情况。

 用"

Writeto"

项,把文件存在新设定的输出目录处,文件名仍为test1。

 录入如下程序:

ThisisanotherCProgram\n"

键并用test1文件名保存,然后运行这个程序。

F3>

键,屏幕出现刚才操作过的几个文件的名字,将刚才设定目录下的test1.c装入编辑器后运行它,我们观察到输出的仍是后来键入的程序的内容。

这是因为TC编译系统在接收"

RUN"

命令后,对test1.c、test1.obj、test1.exe三个文件的建立时间进行比较,如果扩展名为.c的文件建立时间晚于.exe文件,它就认为源文件进行了修改,所以对源文件重新进行编译连接,如果.exe文件的时间晚于源文件的建立时间,就直接运行这个文件,不再重新编译连接。

因为我们两次输入的程序名称都是test1,新设定目录 中存放的是第一个程序的test1.c和第二个程序的test1.exe,就出现了现在的情况。

5.分别编译、连接、运行程序

 "

Run"

命令是将编译、连接、运行一次完成,实际完成了三件工作,下面分别进行编译、连接和运行。

 用<

ALT+C>

命令打开"

Compile"

菜单,并选择"

Compiletoobject"

命令编译该源程序文件,然后选择"

菜单的"

LinkEXEfile"

命令调用连接程序连接成可执行文件,最后 用"

命令运行程序,用"

Userscreen命令"

查看运行结果。

由于编译、连接、运行是分别进行的,所以编译系统不再对相关三个文件的建立时间进行比 较,我们看到的就是编辑器里当前的程序输出结果。

三、实验内容

1、开机进入系统;

2、进入TC开发环境下;

3、建立工作目录并进行环境配置;

4、编写并编译、链接、运行一个简单的程序,测试自己所建立的环境是否正确;

5、查看自己建立的工作环境;

6、记录实验过程中所出现的现象;

7、退出系统。

四、实验报告要求

①实验名称、日期、学号

②源程序及注释

③程序界面

④程序结果

⑤心得体会

五、实验重点

1.程序的编辑定位

2.各菜单项的快捷键

3.程序的基本调试步骤

1、进一步熟悉C语言程序设计的环境

2、明确C语言程序结构及书写规则

二、实验准备

1、预习所要使用的C语言的开发环境的操作方法,将关于编辑,编译,链接,执行的菜单,对话框,和命令进行简要整理,以备实验中查阅。

2、分析实验中可能出现的紧急情况,并制定相应的预案。

三、实验内容和步骤

1、输入下面的程序,进行编译,记录编译时出现的信息,分析出现这些错误的信息的原因,按照自己的分析改正错误后,在进行编译,连接和运行。

/*****test1.c*****/

main()

printf(“thisisaerroneousprogram.”);

2、下面程序的目的是计算两个整数的积。

请输入下面的程序,进行编译,记录编译时所出现的信息,分析出现这些错误信息的原因。

按照自己的分析改正错误后再进行编译,连接,和运行。

/*****test2.c*****/

#include<

stdio.h>

{

a=3,b=5;

c=a*b;

printf(“theproductis:

”,c)

}

1.C语言中大小写字母的区分;

2.良好的程序书写风格。

1、掌握变量名的构成规则

1)测试哪些字符可以组成变量名。

2)测试哪些单词可以用做变量名。

3)测试变量名的长度限制。

2、赋值运算符的意义和正确用法

1)测试赋值运算符的意义。

2)测试哪些量可以放在赋值号的左边。

1、分析下面字符的功能

分析它们是否可以用在变量名中,并编写程序上机测之。

#%^&

*(

)-+=;

“‘

\|?

>

<

.

/[]{}:

~

测试程序举例如下。

intmain(void)

inta?

b,c/d;

2、分析下面的程序

找出其中的错误,分析错误原因,将其与实验过程中所出现的信息进行对比。

#include<

intmain()

inta=3,b=5,c=7,x=1,y,z;

a=b=c;

x+2=5;

z=y+3;

return0;

调试上述两个程序,记录调试过程中所给出的信息,并改正错误,使程序正常运行。

1实验名称、日期、学号

1.变量的命名规则

2.赋值运算符的位置

实验4运算符与表达式

1、理解常用运算符的意义

2、掌握C语言表达式的运算规则

二、实验内容和步骤

依次运行下述程序,记录程序运行结果。

1、整数除的危险

例如,先分析下面的3个表达式的值再设计测试程序,进行比较和分析。

inta=5,b=7,c=100,d,e,f;

d=a/b*;

e=a*c/b;

f=c/b*a;

试比较x++与++x之间的区别;

inta=5,b=8;

printf(“a++=%d”,a++);

printf(“a=%d”,a);

printf(“++b=%d,++b);

printf(“b=%d”,b);

3、分析下列表达式的值

编写测试程序对这些表达试的值进行比较,并使各表达试在相同的初始条件下执行。

b++a+++a

b+(a++)+a

b+a+(++a)

b+a+++a++

4、分析下列表达试哪些是错误的

为了验证自己的判断,编写一个测试程序。

i,j

i+1,j+1

i++,j++

++i.,++j

(i++)+(j++)

要求在各表达式中,i和j都分别有相同的初值。

三、分析讨论

1、整数除存在什么危险?

如何避免这种危险?

2、分析a++与++a的区别。

3、分析++和--运算符的使用限制。

1.运算符的组合顺序

实验5数据类型

1、深入理解C语言中数据类型的意义。

2、测试不同类型数值数据的存储空间大小、取值范围、有效数字位数和精度。

依次完成下述6个程序,记录程序运行结果。

1、编写一个用于测试所使用系统中的基本数据类型所占内存宽度的程序

例如

printf(“%d”,sizeof(int));

2、编写程序来测试基本数据类型的取值范围

例如,测试char类型的取值范围如下。

char

c0=-129,

c1=-128,

c2=-127,

c4=128,

c5=127,

c6=126;

3、编写程序来测试数据类型的有效数字长度和精度

例如,测试double效数字长度和精度如下。

floutd1=0.123456789,d2=1234567890.123456789;

printf(“%1f,%1f\n”,d1,d2);

4、编写程序来测试不同类型数据之间转换所出现的截去高位、丢失精度和变得不可知等问题

举例如下。

floutf1=2.1234567,f2=12345678901234567.123456789;

inti1,i2;

i1=d1;

i2=d2;

printf(“%d,%d\n”,i1,i2);

5、编写程序来测试字符型数据的算术特征

charc1=35,c2=’A’,c3;

c3=c1+c2;

printf(“%d,%c\n”,c3,c3);

6、编写程序来测试转义字符的用法

printf(“\7,\7,\7”);

三、分析与讨论

1、总结数据类型与运算类型之间的关系。

2、总结进行数据类型转换时,会发生什么变化。

3、分析转义字符“\n”与”\r”的意义有何不同。

2实验名称、日期、学号

实验6控制台输入/输出

1、掌握用printf()进行格式化输入的方法。

2、掌握用scanf()进行格式化输入的方法

3、掌握其他的控制台输入/输出函数。

1、设计一个程序来测试printf()函数中数据参数被引用的顺序

例如,使用语句

inta=1

printf(“%d,%d,%d”,++a,++a,++a);

2、设计一个程序来测试printf()函数中格式符的意义

举例如下

doubled=123456789.234567;

printf(“%e”,d);

3、设计一个程序来测试printf()函数定义域宽与精度的方法

所设计的程序要能验证以下内容

1域宽小于实际的宽度时的情况。

2默认的域宽与精度各是多少。

3精度说明大于或小于实际精度时的处理。

4float与double的最大精度。

5符号位的处理方式。

6多余的小数位是被截断还是被舍入。

4、设计一个程序来测试scanf()函数中格式的意义

doublex,y;

scanf(“%f,%lf”,&

x,&

y);

printf(“%f,%lf”,&

x);

y,&

5、设计一个程序来测试scanf()输入含有字符型数据的多个项时,数据项之间的分隔问题

举列如下

charc1,c2,c3;

inta1,a2.a3;

scanf(“%d%d%d”,&

a1,&

a2,&

a3);

printf(“%d%d%d”,a1,a2,a3);

scanf(“%c%c%c”,&

c1,&

c2,&

c3);

printf(“%c%c%c”,c1,c2,c3);

6、编写一个=程序来测试getchar()和putchar()的用法。

1、总结在printf函数中可使用的各种格式符,并给出相应的样例。

2、总结在printf函数中可使用的各种格式符及其功能

1.控制台I/O函数的格式控制

实验7关系运算与逻辑运算

1、测试关系表达式和逻辑表达式的意义和取值。

2、测试关系运算符和逻辑运算符的优先级别和结合性。

3、掌握逻辑运算的基本规律。

1、编写一个用于测试关系表达式意义和取值的程序

inta=3,b=5,c=5;

printf(“%d,%d,%d,%d”,a==b,a==c,a!

=b,a!

=c);

printf(“%d,%d,%d,%d,%d,%d”,a>

=b,a>

=c,a<

=b,a<

b,a>

b);

2、阅读下面的程序并分析其运行结果

将分析结果与上机结果进行比较。

floutx;

scanf(“%1f”,&

/*从键盘输入数据1.23*/

if(x=1.23)printf(“OK!

”);

如果上机运行所得并非自己预想的结果,可能是什么问题?

如何解决?

3、编写一个用于测试逻辑表达式的意义和取值的程序

printf(“%d,%d,%d,%d”,a==b&

&

a==c,a!

=b&

a!

=c,a.>

a>

a<

=c);

printf(“%d,%d,%d,%d”,!

(a==b),!

(a>

=b),!

=c),!

(a<

=b));

预先写出程序的执行结果,以便与上机验证的结果进行比较。

4、编写程序来测试下列逻辑表达式的值

0&

a==01||a==10||a==a1&

a==a

a||!

a==1a||a==aa&

a==a!

(a||b)==!

a&

!

b

(a&

b)==!

b!

(!

a)==a

5、分析下面程序段的执行结果并编写验证自己说做判断的程序

inta=3,b=5,c=6;

printf(“%d”,a<

5||(a==b&

b<

c,printf(“OK!

”)));

printf(“%d”,a>

5||(a==b||b<

1、条件表达式与逻辑表达式的意义是什么?

它们在各种情况下分别取什么值?

2、比较2个实数是否相等的操作容易产生什么问题?

3、逻辑表达式有哪些基本规律?

编译器中使用这些运算规律吗?

1.关系运算与逻辑运算的组合优先级

实验8分支程序的测试与调试

1、了解条件与程序流程的关系

2、掌握分支程序的基本结构。

3、了解用不同的数据使程序的流程覆盖不同的语句、分支和路径。

1、有如下程序段:

{……

if(a>

1&

b==0)x=x/a;

if(a==2||x>

1)x=x+1;

为了更容易明白程序的逻辑结构,我们用下图所示流程图来加以描述。

y

n

y

要求:

编写一个C语言程序,要求使用上述分支结构,并增加一些输入语句和输出语句,以便使上述程序能在不同的a,b和x值下运行,并且能观察程序流程经过(覆盖)了哪些语句、哪些分支及哪些路径。

2、实验步骤

记下分别使用下列各组数据运行时的操作流程。

(1)a=1,b=1,x=1;

(2)a=1,b=1,x=2;

(3)a=3,b=0,x=1;

(4)a=2,b=1,x=4;

(5)a=2,b=1,x=1;

(6)a=1,b=0,x=2;

(7)a=2,b=1,x=1;

(8)a=3,b=0,x=2。

1、用哪一组数据就可使程序中的每个处理语句都执行一次?

为了找出程序中各条处理语句中的错误,应该使用什么样的数据对程序进行测试?

请上机验证自己的结论。

2、用哪两组数据就可以使程序段中的每个分支都运行一次?

这种情形与上面的讨论有何不同?

如果为了找出程序中积压分支中的错误,应该使用什么样的数据对程序进行测试?

3、用哪两组数据就可以把判定框中的每个条件运算都进行一次?

如果为了测试出判定条件中的错误,应使用哪些数据对程序进行测试?

4、用哪四组数据才可以把各种条件的组合都检测一遍?

如果为了测试各种条件的组合的情形,应该使用什么样的测试数据?

5、用哪四组数据才可以把起始到终止的各条路径都覆盖一次?

如果为了测试出程序在不同路径下的错误,应该使用什么样的测试数据?

实验9条件型循环结构及其测试

1、掌握在程序设计条件型循环结构时,如何正确地设定循环条件,以及如何控制循环的次数。

2、了解条件型循环结构的基本测试方法。

1、下面是一个计算e的近似值(使误差小于给定的δ)的程序。

doublee=1.0,x=1.0,y,detax;

inti=1;

printf(“\npleaseinputenteraerror:

scanf(“%lf”,&

detax);

y=1/x;

while(y>

=detax)

{

x=x*i;

e=e+y;

++i;

printf(“%12.10lf”,e);

2、实验步骤

1)阅读上面的程序,写出程序所依据的计算公式。

2)当输入的detax各是什么值时,能分别使程序按下面的要求运行:

.不进入循环;

.只循环一次;

.只循环两次;

.进入死循环(程序将永远循环下去)。

为了能知道程序循环了多少次,应该在程序中增加一条什么样的语句?

3)原程序中while语句中的y>

=detax,分别换成y>

detax,y=detax,y<

detax,y<

=detax,观察

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

当前位置:首页 > PPT模板 > 动态背景

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

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