《C语言》实验指导书.docx

上传人:b****4 文档编号:6705902 上传时间:2023-05-10 格式:DOCX 页数:32 大小:37.41KB
下载 相关 举报
《C语言》实验指导书.docx_第1页
第1页 / 共32页
《C语言》实验指导书.docx_第2页
第2页 / 共32页
《C语言》实验指导书.docx_第3页
第3页 / 共32页
《C语言》实验指导书.docx_第4页
第4页 / 共32页
《C语言》实验指导书.docx_第5页
第5页 / 共32页
《C语言》实验指导书.docx_第6页
第6页 / 共32页
《C语言》实验指导书.docx_第7页
第7页 / 共32页
《C语言》实验指导书.docx_第8页
第8页 / 共32页
《C语言》实验指导书.docx_第9页
第9页 / 共32页
《C语言》实验指导书.docx_第10页
第10页 / 共32页
《C语言》实验指导书.docx_第11页
第11页 / 共32页
《C语言》实验指导书.docx_第12页
第12页 / 共32页
《C语言》实验指导书.docx_第13页
第13页 / 共32页
《C语言》实验指导书.docx_第14页
第14页 / 共32页
《C语言》实验指导书.docx_第15页
第15页 / 共32页
《C语言》实验指导书.docx_第16页
第16页 / 共32页
《C语言》实验指导书.docx_第17页
第17页 / 共32页
《C语言》实验指导书.docx_第18页
第18页 / 共32页
《C语言》实验指导书.docx_第19页
第19页 / 共32页
《C语言》实验指导书.docx_第20页
第20页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

《C语言》实验指导书.docx

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

《C语言》实验指导书.docx

《C语言》实验指导书

实验一TC集成环境的使用

一、实验目的

1.熟悉C语言的集成调试环境TC2.0的使用,学习编辑、运行C语言程序的基本方法。

2.进一步认识程序的两种类型的错误对程序运行的影响,加深对程序调试及测试重要性的认识。

3.认识C语言程序的结构特点,学习程序的基本编写方法

二、实验内容

1.TC2.0集成环境的使用。

编辑运行实现乘法运算的程序,源程序如下:

#include"stdio.h"

main()

{

inta,b;

a=251;  /*使a具有值251*/

b=8;  /*使b具有值8*/

printf("%d\n",a*b);/*计算并输出表达式a*b*/

}运行结果为2008

2.程序错误:

修改上面的程序,观察运行结果。

(1)将程序中第1个语句的分号删除,编译或运行程序,看有何结果。

运行错误

(2)将程序中的表达式“a*b”的“a”改为“A”,然后运行程序。

运行错误

(3)将程序中的表达式“a*b”修改为“a-b”,然后运行程序。

运行结果为243

3.编辑并运行能够对任意两个整数进行乘法运算的程序。

#include"stdio.h"

main()

{

inta,b;

printf("Inputa,b:

");/*在屏幕显示提示信息Inputa,b:

*/

scanf("%d,%d",&a,&b);/*该语句的作用是实现数据的键盘输入*/

printf("a*b=%d\n",a*b);/*输出乘法运算的结果*/

}

4.编辑并运行如下程序,分别输入三组数据,记录输出结果,并分析该程序的功能。

main()

{

intx,y,large;

scanf(“%d,%d”,&x,&y);

large=max(x,y);

printf(“TheMaxnumberis%d\n”,large);

}

intmax(intx,inty)

{

intz;

if(x>y)

z=x;

else

z=y;

returnz;}

5.单步或跟踪运行上题中的程序,体会两种运行方式的特点。

三、实验指导

1.TurboC2.0集成环境的使用。

⑴启动TC2.0。

⑵使用“File→New”命令或使用“Edit”命令,进入编辑状态,录入编辑源程序并保存。

⑶使用“Comple→CompiletoOBJ”对源程序进行编译,如果源程序存在语法错误,这时编译系统会把程序中的错误指示出来。

发现错误后,需要立即修改源程序,然后重新编译。

⑷编译无误后,使用“Comple→LinkEXEfile”连接目标代码,生成可执行文件,这个文件可由运行命令“Run”运行。

上面的⑶、⑷两个步骤,也可以使用“Comple→Buildall”或“F9”功能键一步完成。

⑸连接完成后,使用“Run”命令,或者使用“Ctrl+F9”组合键运行程序。

程序运行过程瞬间结束,要察看程序运行结果,需要切换到运行屏幕,用组合健“Alt+F5”实现。

按Alt+F5后,将看到屏幕显示如下结果:

2008

按任意键,屏幕返回程序状态。

说明:

对一个未经编译和连接的源程序,TC2.0也可以直接运行它,方法是编辑好一个源程序后,直接使用Run命令或“Ctrl+F9”组合键运行它。

此时系统自动启动编译命令和连接命令,只有当编译、连接正常进行后,程序才会被运行。

因此,上面的过程可以简化为两个操作步骤:

⑴启动TC2.0,录入编辑源程序,并保存。

⑵按“Ctrl+F9”组合键运行程序。

特别提示:

⑴保存源程序:

在编辑源程序的过程中或源程序编辑完成后,及时保存源程序是十分必要的,但初学者往往忽视这一环节。

操作步骤如下:

①按“F2”功能键,出现输入文件名的提示框。

白色背景窗口显示了系统为当前程序设定的默认存储位置(C:

\TC,该存储位置因系统而异,可以改变)和默认文件名NONAME.C。

②输入新的文件名。

为了操作方便,可以使用默认存储位置,指定文件名为mult.c。

操作时只需将NONAME.C改写为mult.c后回车确认即可。

⑵使用Windows的记事本程序提高源程序编辑效率。

①启动Windows的记事本程序,录入编辑乘法源程序。

②保存程序,选择合适的存储位置,如上面使用的TC2.0的默认程序目录C:

\TC;输入指定的文件名,如mult.c;选择保存类型为“所有文件”。

③启动或激活TC2.0,按“F3”功能键,出现提示框。

在“LoadFileName”框中键入步骤②使用的文件名mult.c,回车确认后将源程序调入TC系统,然后按组合键“Ctrl+F9”运行程序。

2.程序错误。

第一项内容用于说明语句结束的分号的重要性及语法错误。

第二项内容用于验证C语言中标识符的特性,当用“A”取代“a”后,程序将不能运行,说明作为标识符“A”和“a”是不等价的。

请读者自己进行类似的替换,然后察看程序的运行结果。

如,将程序中的“printf”改为“PRINTF”,然后运行程序看结果。

第三项实验内容说明了程序的逻辑错误情况。

若把“a*b”误写为“a-b”,程序会顺利编译运行,但显然不是乘法运算的结果。

3.编辑并运行能够对任意两个整数进行乘法运算的程序。

编辑该程序前,首先使用“File→New”命令使TC2.0进入新程序编辑状态,然后编辑运行该程序。

程序运行后,屏幕将显示下面的提示信息:

Inputa,b:

此时,应从键盘输入两个整数数据,然后回车确认。

下面是一个输入实例:

20,35

下面是程序的输出结果:

a*b=700

特别提示:

程序的输入数据往往有格式规定,只有按照正确的格式输入数据,才会得到正确的结果。

运行上面的程序时,输入的两个数据必须以“,”分隔,否则将得不到正确的结果。

请读者再次运行程序,对输入的两个数据以空格分隔,察看执行结果。

例如:

Inputa,b:

2035

再次运行程序,然后输入两个很大的整数,察看运行结果。

例如:

Inputa,b:

20000,35000

显然,上面两次运行的结果都是不正确的。

这说明,既没有语法错误,也没有逻辑错误的程序,运行后也会得不到正确的结果。

第一种情况出错,是因为输入数据时数据之间的分隔形式不符合程序的要求。

第二种情况,输入数据的格式没有问题,但输入的数据超出了程序能够允许的整数范围。

这项实验内容提醒读者,在上机实现一个C语言程序时,各种错误的情况都可能出现。

即便是一个看上去很好的程序,仍然会有许多需要改进之处。

从算法的角度理解,就是任何算法,都可能存在进一步完善的空间。

4.编辑并运行如下程序,分析该程序的功能。

(1)程序开始运行后,将首先进入用户屏幕状态(即黑屏),并有光标闪烁,此时用户需输入数据。

(2)输入数据的格式:

两个整数,中间用逗号分开,最后按回车键结束。

四、实验要求

1.实验前充分预习,熟悉操作方法。

2.实验过程中,记录程序运行结果、现象及出错信息,并分析原因。

3.实验中随时注意保存源程序,要指定适当的文件名,以备检查。

4.实验总结,对实验内容中的有关问题进行说明。

五、思考题

1.编辑并运行将自然数1-100累加的程序。

2.进一步熟悉TC2.0集成环境的功能,写出下列操作所使用的菜单命令及快捷键。

(1)新建程序文件

(2)保存程序文件

(3)打开程序文件

(4)程序文件换名保存

(5)程序编译

(6)程序编译并连接

(7)程序编译、连接并运行

(8)查看程序运行结果

(9)单步运行程序

(10)添加监示变量

3.程序中的语法错误和逻辑错误对程序运行及结果有何影响?

实验二数据类型、运算符及表达式

一、实验目的

1.了解C语言数据类型的概念,熟悉各种类型常量的表示及用法

2.掌握整型、字符型和实型三种基本类型变量的定义、赋值和使用方法。

3.掌握算法、关系、逻辑表达式的特点及用法。

4.熟悉自增、自减运算的特点,掌握自增、自减运算符的用法。

5.进一步认识C语言程序的结构特点,学习简单程序的编写方法。

二、实验内容

1.整型变量及算术运算:

要求:

编辑运行下列程序,分析运行结果。

#include“stdio.h”

main()

{

intm,a,b,c,d,e;

printf(“m=”);

scanf(“%d”,&m);

a=m+1;

b=m-2;

c=m*3;

d=m/4;

e=m%5;

printf(“a=%d,b=%d,c=%d,d=%d,e=%d\n”,a,b,c,d,e);

}

2.实型变量及运算:

#include“stdio.h”

main()

{

floatm,n,s;

printf(“m=”);

scanf(“%f”,&m);

printf(“n=”);

scanf(“%f”,&n);

s=m*n;

printf(“s=%f\n”,s);}运行结果为256

3.字符型变量及运算:

(1)输出字符程序:

#include“stdio.h”

voidmain()

{

charc1,c2;

c1=’a’;

c2=’b’;

printf(“%c%c\n”,c1,c2);}运行结果为a,b

(2)字符程序分析:

#include

main()

{

charc1=’A’,c2=’B’,c3=’C’,c4=’\101’,c5=’\x4D’;

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

printf(“%c\t%c\n”,c4,c5);}

4.关系运算和逻辑运算:

(1)用程序计算关系表达式的值:

表达式:

x+6>=y>x*3(x=5,y=8)

(2)用程序计算逻辑表达式的值:

从键盘任意输入整数x、y的值,计算下面逻辑表达式的值。

表达式:

x>=y||Y>x*3&&!

(x>=25)

5.自增和自减运算:

(1)#include

main()

{

inti,j,m,n;

i=8;

j=10;

m=++i;

n=j++;

printf(“%d,%d,%d,%d\n”,i,j,m,n);}

(2)分别将上述程序作如下改动并运行。

①将第4、5行改为:

m=i++;

n=++j;

②程序改为:

main()

{inti,j;

i=8;

j=10;

printf(“%d,%d\n”,i++,j++);

}

③在②的基础上,将printf语句改为:

printf(“%d,%d\n”,++i,++j);

④再将printf语句改为:

printf(“%d,%d,%d,%d\n”,i,j,i++,j++);

⑤程序改为:

main()

{inti,j,m=0,n=0;

i=8;j=10;

m=i--;

n=--i;

printf(“i=%d,j=%d,m=%d,n=%d\n”,i,j,m,n);

printf(“i=%d,j=%d,m=%d,n=%d\n”,--i,j--,m,n);

}

(3)main()

{

intx=6,y,z;

x*=9+1;

printf(“%d\n”,x--);

x+=y=z=10;

printf(“%d\n”,x);

x=y==z;

printf(“%d\n”,-x++);}

三、实验要求:

1、充分预习实验内容,写出实验所需程序,分析给出源程序的运行结果。

2、实验中,记录各程序运行结果、出错信息及现象,并分析说明出错原因。

3、实验中随时注意保存源程序,要指定适当的文件名,以备检查。

4、对比各程序的分析结果与实际运行结果的差异,并分析原因。

四、思考题

1、x=++i;与x=i++;两语句在执行时有何区别?

2、字符常量与字符串常量有什么区别?

3、字符型常量或变量能否参与算术、关系及逻辑运算?

若能,应如何运行运算?

4、常用的调试方法有哪两种?

实验三顺序结构程序设计

一、实验目的

1.掌握printf()、scanf()、putchar()、getchar()等基本输出、输入函数的格式及其主要用法。

2.熟练掌握顺序结构的程序设计。

二、实验内容

1.基本输出函数的用法。

编辑运行下面的程序,并根据执行结果分析程序中各个语句的作用。

#include“stdio.h”

main()

{

inta,b;

floatd,e;

charc1,c2;

doublef,g;

longm,n;

unsignedintp,q;

a=61;b=62;

c1='a';c2='b';

d=5.67;e=-6.78;

f=1234.56789;g=0.123456789;

m=50000;n=-60000;

p=32768;q=40000;

printf("a=%d,b=%d\nc1=%c,c2=%c\n",a,b,c1,c2);

printf("d=%6.2f,e=%6.2f\n",d,e);

printf("f=%15.6f,g=%15.10f\n",f,g);

printf("m=%ld,n=%ld\np=%u,q=%u\n",m,n,p,q);}

2.基本输入输出函数的用法。

编辑运行下面的程序,并分析各个语句的作用。

#include“stdio.h”

main()

{

inta,b;

floatc,d;

longe,f;

unsignedintu,v;

charc1,c2;

scanf(“%d,%d”,a,b);

scanf(“%f,%f”,c,d);

scanf(“%ld,%ld”,e,f);

scanf(“%o,%o”,u,v);

scanf(“%c,%c”,c1,c2);

printf(“\n”);

printf(“a=%7d,b=%7d\n”,&a,&b);

printf(“c=%10.2f,d=%10.2f\n”,&c,&d);

printf(“e=17ld,f=%17ld\n”,&e,&f);

printf(“u=%o,d=%o\n”,&u,&v);

printf(“c1=%c,d=%c\n”,&c1,&c2);

这个程序有语法错误吗?

为什么?

3.顺序结构程序设计。

(1)输入一个小写字母,输出其大写字母及对应的ASCII码值。

(2)输入一个整数,输出其最低位数字及最高位数字。

(3)已知圆柱体横截面圆半径r,圆柱高h。

编写程序,计算圆周长l、圆面积s和圆柱体体积v,并输出计算结果。

(4)输入两个复数,输出其和与差。

三、实验指导

1.基本输出函数的用法。

⑴运行所给出的源程序,对照结果分析各语句的作用。

⑵将程序中的第二、第三个printf语句修改为如下形式,然后运行程序,察看结果。

printf("d=%-6.2f,e=%-6.2f\n",d,e);

printf("f=%-15.6f,g=%-15.10f\n",f,g);

⑶将上述两个printf语句进一步修改为如下形式,然后运行程序,察看结果。

printf("d=%-6.2f\te=%-6.2f\n",d,e);

printf("f=%-15.6f\tg=%-15.10f\n",f,g);

⑷将程序的第10-15行修改为如下语句:

a=61;b=62;

c1='a';c2='b';

f=1234.56789;g=0.123456789;

d=f;e=g;

p=a=m=50000;q=b=n=-60000;

运行程序,并分析结果。

⑸修改⑴中的程序,不使用赋值语句,而用下面的scanf语句为a、b、c1、c2、d、e输入数据:

scanf("%d%d%c%c%f%f",&a,&b,&c1,&c2,&d,&e);

①请按照程序中原来的数据,选用正确的数据输入格式,为上述变量提供数据。

②使用如下数据输入格式,为什么得不到正确的结果?

输入数据:

6162ab5.67-6.78

⑹进一步修改⑸中使用的程序,使f和g的值用scanf()函数输入。

⑺进一步修改上面的程序,使其他所有变量的值都改用scanf()函数输入。

①参考程序

②数据输入格式

Input(a,b,c1,c2,d):

6162ab5.67-6.78

Input(f,g):

1234.5678900.1234567890

Input(m,n,p,q):

50000-600003267840000

⑻修改⑺中的程序,使c1、c2的数据用getchar()函数输入,用putchar()函数输出。

①可按照如下方法修改程序:

将程序中的“scanf("%d%d%c%c%f%f",&a,&b,&c1,&c2,&d,&e);”语句用以下四个语句替换:

scanf("%d%d%",&a,&b);

c1=getchar();

c2=getchar();

scanf("%f%f",&d,&e);

②使用与⑺相同的数据输入格式输入数据。

③请分析:

使用如下格式为a、b、c1、c2输入数据时会出现什么结果?

运行程序验证所分析的结论。

输入数据格式:

6162

a

b

2.基本输入输出函数的使用:

(1)调试上述程序无语法错误后,用下面的测试数据,对程序进行测试:

a=123,b=456,c=17.6,d=71837.65,e=70000,f=2174506,u=62000,v=58765,c1=’a’,c2=’b’

分析运行结果。

特别注意输入c1,c2的值是什么?

为什么?

(2)将输入e和f的语句改为:

scanf(“%d,%d”,&e,&f);

再用上述测试数据测试并分析结果。

(3)将输入u、v的语句改为:

scanf(“%d,%d”,&u,&v);

再用上述测试数据测试并分析结果。

(4)将输出e、f的语句改为:

printf(“e=%17d,f=%17d\n”,e,f);

再用上述测试数据测试并分析结果。

(5)将输出u、v的语句改为:

printf(“u=%u,v=%u\n”,u,v);

printf(“u=%d,v=%d\n”,u,v);

再用上述测试数据测试并分析结果。

(6)scanf(“%c,%c”,&c1,&c2);语句之前加一个语句:

getchar();

(7)请读者自己修改程序和改变数据输入的形式,分析各种情况下的输入与输出。

四、实验要求:

1、充分预习实验内容,写出实验所需程序,分析给出源程序的运行结果。

2、实验中,记录各程序运行结果、出错信息及现象,并分析说明出错原因。

3、实验中随时注意保存源程序,要指定适当的文件名,以备检查。

4、对比各程序的分析结果与实际运行结果的差异,并分析原因。

五、思考题:

1.在“基本输出函数的用法”内容⑶中,e和g都是用“\t”进行格式控制,但为什么没有显示在同一列的位置上?

2.说明输入、输出字符型、整数、长整型、浮点型及双精度浮点型数据时分别应使用的格式字符?

3.简述格式化输出函数printf的格式化字符串中可使用的转义字符及其功能

实验四选择结构程序设计

一、实验目的:

1.学会使用逻辑表达式描述问题中的条件。

2.掌握if语句三种形式及其用法。

3.掌握switch语句的格式及使用。

4.学会设计有实用价值的选择结构程序。

二、实验内容:

1、判断任意一年是否为闰年,输入年份,执行程序后输出是否为闰年。

2、输入四个实数,输出其最大值与最小值。

3、输入三个实数,按从小到大的顺序输出。

4、输入x值(实数),输出对应的函数值。

-x2+x-1(x<-10)

y=10(-10≤x<0)

x+1(0≤x≤5)

(5<x)

5、由键盘输入一个字符,判断它是字母、数字还是空白(空格、换行、Tab键),并输出相应的提示信息。

6、输入某学生的成绩,输出相应的信息:

成绩在90~100之间输出“Verygood!

”;在70~89之间输出“Good!

”;在60~69之间输出“Pass!

”;60分以下输出“Nopass!

”。

要求:

(1)用if语句编写程序;

(2)用switch语句编写程序。

7、编写一个能够进行加减法运算的程序,要求:

从键盘任意输入两个实数,然后输入一个运算符,当运算符为“+”时对两个数进行加法运算,为“-”时对两个数进行减法运算,其他符号时,只显示输入的符号不进行运算。

8、已知某公司员工的保底薪水为500元,某月所接工程的利润profit(整数)与利润提成的关系如下(单位:

元):

profit≤1000没有提成

1000<profit≤2000提成10%

2000<profit≤5000提成15%

5000<profit≤10000提成20%

10000<profit提成25%

从if语句、switch语句中任选一种编程:

根据输入的profit值计算并输出员工的薪水(=保底薪水+提成)。

9、编辑如下程序,并调试正确。

程序功能:

求分段函数的值并输出。

include“stdio.h”

main()

{floatx;

scanf(“%d”,&x);

if(x≤10);

if(x≤1)y=

else

y=sqrt(x-1)

printf(“y=%f\n,y);

else

printf(“undefinedvalue!

\n”);

}

三、实验要求:

1、课前充分预习实验内容,准备好实验所需的程序。

2、实验中随时注意保存源程序,要指定适当的文件名,以备检查。

3、记录主要的调试过程、错误信息及运行结果。

四、实验总结:

1、if语句能否完全代替switch语句进行程序设计?

2、在if语句的嵌套结构中,如何确定else与if的匹配关系?

实验五循环结构程序设计

一、实验目的:

1.熟练掌握while、do-while和for三种循环控制语句的特点及其编程应用。

2.掌握break、continue语句的功能及应用。

3.掌握二重循环结构程序的设计方法。

4.掌握循环结构程序的调试方法。

二、实验内容:

1、输入10个实数,输出其和、平均值及最大值。

(分别用while、for语句编程实现)

2、数据统计问题:

从键盘输入一批任意数量的正整数,统计其中不大于100的数值个数。

3、编写并调试程序,使用for循环控制语句实现上面的数据统计问题。

4、输入一个正整数,判断并输出其是否为素数。

5、输入一行字符,剔除如下字符后,再按原来的输入顺序输出。

要剔除的字符为:

K、a、h、5、#。

6、从键盘输入一串字符(按回车结束),统计其中字母、数字及其它字符的个数并输出。

7、输入一个正整数,输出其各位数字之和。

8、输出如下图案:

#

###

#####

#######

#####

###

#

9、输入一个正整数n,求1!

+2!

+…+n!

并输出。

10、输入以下程序,并调试正确:

程序功能:

输入一串字符

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

当前位置:首页 > 工程科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2