C语言上机实验指导10级版_第1页
C语言上机实验指导10级版_第2页
C语言上机实验指导10级版_第3页
C语言上机实验指导10级版_第4页
C语言上机实验指导10级版_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验1: turbo c集成开发环境和c程序实现一、实验目的1、掌握windows环境的操作以及有效管理川户程序文件。2、熟悉c程序的实现过程和方法。(1) 掌握编辑、编译、连接、运行程序的过程和方法。(2) 了解常见的两种语法错误(error/warning)。3、了解turbo c集成开发环境强人的功能。二、实验内容1、了解turbo c集成开发坏境的功能,熟悉菜单、热键基本操作(1) 启动、退出turbo c集成开发环境。(2) 了解f5/f6; f10,-、一、仁i功能键;alt+高亮度键的效果和作用。(3) 激活文件菜单(f订e)、编译菜单(compile).运行菜单(run)、监视

2、菜单 (break/watch),查看菜单选项。2、在turbo c下完成“源程序清单”中规定的程序题。三、实验要求1、实验小仔细观察本实验创建的目录、文件,回答实验小结和思考小的问题。2、在turbo c下完成“源程序清单”中规定的程序题。编辑、编译、运行程序并获得程 序结果;如果程序冇错,记录编译、连接遇到的捉示错误。仔细思考出错原因,并更 正之。3、编制的程序必须保存在d:用户目录中。注:用户目录可以用学号或姓名拼音简写。四、实验步骤、过程(一)turbo c 2.0上机环境c语言是20世纪70年代bell实验室开发的,由于当吋只有dos操作系统,turbo c 也是基于dos操作系统开

3、发的。所以只能是是英文字符界面,门囲标无活便用;1、启动、退出turbo c集成开发坏境。进入windows操作系统,打开windows资源管理器,然后从资源管理器找到turbo c 所在的目录,双击tc. exe文件即可打开turbo c°(般路径是c: tc2/tc. exe,如不是可将tc2文件夹复制到c盘根目录下)界面如图一(蓝色背呆):(2) 退出turbo c集成开发环境。file-quit或 alt+x组合键退出turbo c集成开发环 境。(3) 再次启动turbo c环境。双击tc. exe文件即可打开turbo c。2、turbo c环境中,f5/f6; f10,

4、、一、t、功能键;alt+高亮度键的效果和作用。(1)重复按f6键,仔细观察。当前激活窗口在编辑窗口、消息窗口z间切换。(2)重复按f5键,仔细观察。当前激活窗口最人,正常状态之间切换。(3)先按f10,可以看到主菜单被激活,按、一,主菜单各个项被依次激活,试着按t、 i可以打开相应菜单。重点浏览file (文件管理)、run (程序运行控制)、compile 菜单(程序编译、连接)菜单。最后按esc键,光标回到编辑窗口。(4)主菜单各个项,首字母为红色(高亮度)。可以按alt+高亮字母,直接激活相应菜 单选项。例如按alt+f激活file菜单,比f10再按光标快捷多了!按esc键光标冋到编

5、辑窗口。(5)观察当前源程序名noname. c表示当前的程序述没有取名字,以后保存程序时,系统 会提示输入源程序名。3、按照下面步骤完成第1个程序题。(1)菜单“file” - “new”创建一个新的源程序文件(2)输入源程序,全屏幕编辑源程序。按“f2”键进行保存或选择菜单“file” - “save”保存源程序。系统会提示一个消 息框,默认文件名为:noname.c,注:.c为后缀名。用户可自己修改程序名。例如文件 名为:tcstl.c (图二所示)。观察编辑窗口源程序名是否已经修改。用windows资源管理 器查看用户fi录中是否产生了源程序文件*. co(图二)(3) 菜单“comp

6、ile” - "compile to obj”编译源程序。如果有语法错误,修改源程 序后再次编译直到没有语法错误,系统提示成功。然后再菜单“compile”-“link exe file”连接程序,或用菜单“compile” - “build all”代替上述述两步。编译连接成功后用windows资源管理器查看用户fl录中是否产生了 口标文件*. obj, nj*执 行文件*. exe,观察其命名规则。(4) 选择菜单“run” - “run”运行程序,选择菜单“run” - “user screen"或用alt-f5 切换到用户屏幕查看运行结果。对比结果是否与预期相同。如

7、果发现逻辑错误一 结果与预期不同,修改源程序,重复(3) - (5)保存、编译、运行程序,直到程 序获得正确结果。注意: 必须顺序完成程序编辑、编译连接、运行的各个过程。没有正确编译成功的程序 是不可能运行的! 程序开发中经常用菜单“filo” 一 “save”保存源程序以免意外导致源程序丢失。4、按上述5个步骤完成第2个程序题。注意:error致命错的程序不能产生fl标程序、 执行程序,必须修改程序,并重新编译,直到成功。5、按上述5个步骤完成第3个程序题。注意:warning一警告错的程序可以产主目标程序、执行程序,试着运行一下,结果是? ! 还是修改吧,警告错一般也意味着程序有毛病,尽管

8、这种程序可以强行编译连接为 可执行程序,但结果一般都有问题。edit run compilenew save write to directory change dir os shellquit filt-xf26、菜单“file”中的“load”命令或f3将刚才保存的笫1个程序题文件调入到肖前屏幕上。在双引号中加入n,程序如下:main() printf(nhcllon world!");运行、查看结果,看看如果去掉n去掉m ain()有什 么不同:n称为转义字符,不可以显示输出,执行换行操作。7、编程输岀以下图形:klzk> viz 7" ki viz 7&quo

9、t; klz7 叫j 71> 7very good!7*7*t*注意:一个可以培彳亍矽宠擊白.勺程序至少娶有一个平山q画舉,.一个单犁白勺谬旬悬否能 穢玖彳亍白.勺,.咎级娶坦宅作內main ®甬数体才可头turb0c的菜单及快捷键详见后面附录:(二) mi crosoft vi sua i c+ 6. 0 上机环境详见教材p7五、源程序清单1、最简单的c程序。(要求文件名:l_l.c)main()printfc'hello world!n);2、一个具有致命语法错的程序。(要求文件名:l_2.c)main()int a=9printfta=%dit,a)3、一个具有警

10、告语法错的程序。(要求文件名:l_3.c)main()int a=9,b,sum;sum=hj ;printf(nsum=%dn',sum);六、实验出现的问题、实验结果分析(语法错英语提示,中文翻译,原因,您的理解?) 实验小结和思考1、2、实验2:基本数据类型的使用一、实验目的1、拿握c语言基本数据类型(整型,实型,字符型)数据的常量表示、变量的定义和使 用。2、掌握常见格式控制字符对输出结果的控制作用。3、了解数据溢出错误和舍入误差(以整型、实型数据为例)。4、进一步熟悉c程序的实现过程。二、实验内容在turbo c下完成“源程序清单”中规定的程序题(4个)。三、实验要求1、实验

11、前认真预习,自行分析6个程序题的结果,体会木次实验的目的并了解实验要求。 实验时仔细对比程序实际运行结果,认真思、考并回答实验小结和思考中的问题。2、在turbo c k完成“源程序清单”小规定的程序题。编辑、编译、运行程序并获得程 序结果;如果程序有错,记录编译、连接遇到的提示错误。仔细思考出错原因,并更正之。四、实验步骤、过程1、启动turbo c集成开发环境。(方法与实验1相同)2、完成6个程序题。(编辑、编译连接、运行程序,步骤与实验1相同)注:经常用“file” - “save”(热键f2)保存源程序以免意外导致源程序丢失。3、退岀turbo c集成开发环境,关机。五、源程序清单、测

12、试数据、结果。1、写出一个程序测试整型、字符型数据表示,并输出以验证是否正确。main()int x=010,y= 10,z=0x 10;printf(,x=%o,y=%d,z=%xn,x,y,z); printf(nx=%d,y=%d,z=%dnn,x,y,z);2、整型数据的溢出错误。整型(int型)数据的表达范围是-3276832767,如果最人允许值32767+1,最小允许 值-32768-1,会出现什么情况?main()int a,b;a=32767;b=a+1;printf(na=%d,a+l=%dnn,a,b);a=-32768;b=a-1;printf(,a=%d,a-l=%d

13、n,a,b);3、main()int a,b,sum;a=10; b=30;sum=a+b;printf(usum=%dn,sum);对变量a,b输入不同的数据时,输出变量内容的变化,若增加一个输入变量c,程序该 如何修改。4、实型数据的舍入误差。实型变量只能保证7位有效数字,后血的数字无意义main()float a, b;a二123456. 789e5;b=a+20;printf (”a=%f, b=%fn, a, b);printf ("a=%e, b=%en: a, b);参考结果:a=l2345678848. 000000, b二12345678848. 000000a=l

14、. 23457e+10, b=l. 23457e+105、实型数据的舍入误差。main()float a,b,c;a=l.23456789;b=1.23456789;c=a+b ;printf(,c=%fnn,c);运行结果:6、判断下列程序的错误,修改该程序后,得到正确的输出结果。main()int sum;sun=10+12+13+14;print(4uthe answer is %dn",sum);六、实验出现的问题、实验结果分析(语法错英语提示,中文翻译,原因,您的理解?)实验3:运算符与表达式一、买验目的1、掌握字符型数据类型的定义2、掌握c语言算术、赋值、自增、白减运算符

15、及相应表达式3、掌握不同类型数据之间的赋值规律4、了解强制数据类型转换以及运算符的优先级、结合性5、学会根据表达式,编写相应程序,验证表达式结杲的方法。二、实验内容1、编辑以下程序:main()char cl,c2;cl='a' c2='b'printf (”c ,%cn”,cl,c2);要求完成以下各步骤,分析结果: 编译并运行该程序;查看结果;知 己、2 在此基础上增加一个语句:printf(h%d, %dn”,cl,c2);再运行、查看结果 将第2行改为int cl,c2;再运行、查看结果。再将第3行改为cl=a, c2=b ;再运行、查看结果。再将第3行

16、改为cl=nan, c2=mbn ;再运行、查看结果. 再将第3行改为cl=300, c2= 400;再运行、杳看结果.2, b=3, x=3.9, y=2.3 (a,b整型,x,y浮点),计算算术表达式 (float)(a+b)/2+(int)x%(int)y 的值。试编程上机验证。提示编程耍点:(1) 先判断结果值类型,可设置一个此类型的变量用于记录表达式结果,本例用r存放结果;(2) 程序先给儿个变量赋初值,然后将表达式赋值给变量r;(3) 最后打印变量r的值就是表达式的值。您分析的表达式结果:。3、已知:a=7,x=2.5, y=4.7(a 整型,x,y 浮点),计算算术表达式 x+a

17、%3*(int)(x+y)%2/4 的值。试编程上机验证。您分析的表达式结果:。4、已知:a=12, n=5 (a, n整型),计算下面表达式运算后a的值。试编程上机验证。(l) a+=a (2)a-=2 (3)a*=2+3(4)a/=a+a (5)a%=(n%=2) (6)a+=a=a*=a您分析的表达式结果:(1)(2)(3)(4)(5)(6) o5、分析下面程序结果,并上机验证。main()int i,j,m,n;i=8; j=10;m=+i;n=j+;printf("i=%d, j=%d, m=%d, i=%dn",i,j,m,n);您分析的表达式结果:6、将k分别

18、设置为127,-128,128,-129,分析下面程序结果,并上机验证。main()float a=3.7,b;int i,j=5;int k=127; /* 用 127,-128,128,-129 测试 */unsigned u;long l;char c;i=a; printf(n%dnn,i); /* 浮点赋值给整型 */b=j; printf(,%nn,b); /* 整型赋值给浮点*/u=k; printf(”d,%un”,u,u); /*相同长度类型之间赋值*/l=k; printf(”ldn”,l); /*整型赋值给长整型,短的类型赋值给长的类型*/c=k; printf(”dn”

19、,c); /*整型赋值给字符型,长的类型赋值给矩的类型*/ 您分析的表达式结果:三、实验要求1、3、4、5题耍求实验前手工计算或,并编制好上机测试用源程序,以便上机实验。2、其余题要求实验前分析程序结果,以便上机时对比结果。3、实验中仔细观察、记录、比较实验结果,如果不一致应找出原因。四、实验步骤、过程1、启动turbo c集成开发环境。(方法与实验1相同)2、完成7个程序题。(编辑、编译连接、运行程序,步骤少实验1相同)注:经常用“file” 一 “save”(热键f2)保存源程序以免意外导致源程序丢失。3、退出turbo c集成开发环境,关机。五、实验出现的问题、实验结果分析(语法错英语提

20、示,中文翻译,原因,您的理解?)第4次上机 c程序中的输入输出1一、ri的:掌握赋值语句的使用、数据输入输出的方法。木章内容的重点是printf函数的使用及对表达式的掌握。二、实验内容1、首先上机验证教材例题3. 13. 32、先写出下列程序的运行结果,然后运行程序验证并体会。main()int x;x=-l;printf(” 6d,%6u,%6o,%6xn”,x,x,x,x);x=65535;printf(n%6d,%6u,%6o,%6xn'x,x,x,x);x=65536;printf(n%6d,%6u,%6o,%6xn'x,x,x,x);3、若 a=3,b=4,c=5,x

21、=1.2,y=2.4,z=3.6,u=51274,n=128765,cl ='a',c2-b,。欲在user screen上得到以下的输出格式(表示一个空格)和结果,请编制程序实现之。 a=_3_b=_4_c=_5x=t.20b06d,y2.4b0000,z=-3.600000x+y=_3.60_ +z=l .20_z+x=2.40 u=_5?274n=_128765 claorjotc ascii) c2='boic98(ascii);±:各变執勺值隹编程虔义挛暈类犁町纠嬰初值方或络世,.程序事在printfawis 计上。 三、实验要求1、第3题耍求实验前

22、编制好上机测试用源程序,以便上机实验。2、其余题要求实验前分析程序结杲,以便上机时对比结果。3、实验中仔细观察、记录、比较实验结果,如果不一致应找岀原因。四、实验步骤、过程1、启动turbo c集成开发环境。(方法与实验1相同)2、完成10个程序题。(编辑、编译连接、运行程序,步骤与实验1相同)3、退出turbo c集成开发环境,关机。五、实验岀现的问题、实验结果分析(语法错英语捉示,屮文翻译,原因,您的理解?)第5次上机c程序中的输入输岀2一、目的:掌握赋值语句的使用、数据输入输出的方法。本章内容的重点是scanf函数的使用及对表达式的寧握。二、实验内容1、首先上机验证教材例题3. 93.

23、112、编辑以下程序,并运行:main ()int a,b, c;scanf (“d%ct,&a,&b);c=a+b;printftc=%d",c);欲使a的值为3, b的值为4,怎样输入数据?运行查看结果;(1)将第3行改为scanf(“d, %d",&a,&b);该如何输入数据才能正确运行?(2) 若改为 scanftc%d: %d'',&a,&b);该如何输入数据? scanf(“d %d",&a,&b);呢? scanf(“a=%db = %d",&a,&am

24、p;b);呢?3、编辑并运彳亍下列程序,欲使 a=3, b=7, x=8. 5, y=71. 82, cl=, a*, c2- a ;应在键盘上如何输入数据?main()int a,b; float x,y; char cl,c2;scanf(,'a=%d b=%ct,&a,&b);scanf(” x=%f y=%e”,&x,&y);scanff' cl=%c c2=%c”,&cl,&c2);printf(,!a=%d,b=%dnn,a,b);printf(,x=%f,y=%en,x,y); printfile 1 =%c,c2=

25、%nc",c 1 ,c2);4、用getchar函数读入两个字符给cl> c2,然后分别用putchar函数和printf函数输出 这两个字符。比较用putchar函数和printf函数输岀字符的特点。5、己知华氏温度,求摄氏温度。要求用scanf输入华氏温度,输出摄氏结果时要有文字 说明,且取小数点后两位数字。计算公式为:c=5/9(f-32)一、口的:掌握if语句的用法。二、上机编译题:(一)首先上机验证教材例题4-14-12(二)关系运算符的使用。上机运行以下程序,验证表达式的值:main()int a=3,b=4,c=5;int n;n=a+b>c&&am

26、p; b=c;printf(un=%dn,n);1)运行此程序,检查运行结果是否与h己的运算结果相同!如果不同的话,查找原 因。2)把以上程序的第四行分别换成以卜儿个表达式,并验证结果。n=a|b+c&&bc;n=!(a>b)&&!c|l;n=!(x=a)&&(y=b)&&0;(此行更换前先增加定义int x和int y)n =!(a+b)+c-l &&b+c/2;(三)掌握3种if语句的用法。1)从键盘输入两个数,输出其中的大的数。2)冇3个数a, b, c,由键盘输入,输出其中最大的数。(3)根据下列数学

27、函数编制程序,输入的任意x值,能正确计算y值并输出。r x ( x<l) y= j 2x-l(lwx10)| 3x-ll (xmlo)第7次上机 选择结构程序设计2一、目的:1、掌握条件缺套的运行和结构。2、掌握switch语句的用法。二、上机编译题:(一)首先上机验证教材例题4t34t7(二)应用switch语句编制程序,给出一个成绩等级:a、b、c、d、e中任一等级,要求 输岀百分制成绩范i节i。已知:90分以上为'a' , 8089分为'b' , 7079分为 c , 6069分为'd' , 60分以下为'e'。三、实

28、验出现的问题、实验结果分析(语法错英语提示,原因,您的理解?)第8次上机循环控制1一、目的:拿握while语句、do-while语句的用法;掌握用循环结构实现的各种常用 算法。二、上机编译题:(一) 首先上机验证教材例题4-184-21(二) 口己动手编程实现下列要求1、输出100以内所冇奇数。2、在1一500中,输出能同时满足用3除余2、用5除余3和用7除余2的所 冇整数。3、计算s=l + 2+4 + 8 + 的前10项z和。4、计算s=l/l + l/2+l/3+ 1/100.5、计算s=2/l+3/2+5/3+8/5+的前10项和。6、求 c=l/l!+l/2!+l/3!+.ln!(1

29、) 直到第10项。(2) 直到最后一项小于io'7提示:思路是曲2 (1.0/p>=le-7)参考程序:main()float e=0;int p=l,i=l;while(i<=10)p=p*i;e=e+1.0/p;i=i+l;printc6e=%fe);第9次上机循环控制2一、 fi的:掌握for语句的用法;掌握用循环结构实现的各种常用算法和循环的嵌套。三、用for语句编程上机:(1) 计算 s=l + 2 + 100 的和。(2) 输出100以内所冇奇数。(3) 在1-500中,输出能同时满足用3除余2、用5除余3和用7除余2的所 有整数。(4) 计算s=l + 2+4

30、 + 8+的前10项z和。(5) 计算 s=l/l + l/2+l/3+ 1/100.(6) 计算 s = 2/l+3/2+5/3+8/5+的前 10 项和。(7) 求1到1000之间所有满足各位数字的立方和等于它本身的数(称水仙花数)。 例如153的各位数字的立方和是13+53+33=153程序:main()int i,a,b,c;for(i=l;i<=1000;i+)a=i/l 00;b=i% 100/10;c=i% 10;if(i=a*a*a+b*b*b+c*c*c)printff%8d”,i);(8) 打印出以下图形,共50行,40列。 *. . .(9) 打印出以下图形,共10

31、行。*第10次上机数组1一、ri的:掌握一维数组的使用;掌握数组典型应用算法。二、上机编程:(一) 首先上机验证教材例题5-15-7(二) 常握一维数组的定义使用,认真阅读以下程序,并上机运行z,查看结果。main()(int i,a10;for(i=0;i<9;i+) ai=i; for(i=9;i>0;i-) printf(“(t',ai);(三) 任意输入10个整数,将它们按从小到大排序。注:10个数用scanf函数输入。程序:main()int all,ij,t;for(i=l;i<=10;i+)scanf(“ d,5,&ai);for(j=l;j&l

32、t;=9;j+4-)for(i=l;i<=10j;i+)if(ai<ai+1) t=ai;ai=ai+1;ai+1 =t;fbr(i=l;i<=10;i+)printf(“d”,ai); (四) 已有一个已排好序的数纟fl,今输入一个数,要求按原来的排序规律将他插入数 组中。注:10个数以赋初值方式在程序中给出,要插入的数用scanf函数输 入。第11次上机数组2一、冃的:掌握二维数组和字符数组的使用;掌握数组典型应用算法。二、上机编程:(1)掌握二维数组的定义及使用方法,上机运行以下程序,分析其实现的功能。main()int int ij,a2=1,2,3,4,5,6;fo

33、r(i=0;i<2;汁+)for(j=0;j<3;j+)printfc%4daij);print*%”);(2) 打印出以下的杨辉三角形(要求打卬出10行)。11112113 3 1146411510105 1(3) 编一程序,将两个2x3二维数组中的对应元索的值相加,输出其结果。(数 组请自己定义)参照课木练习字符窜函数的使用方法。第12次上机函数1一、目的:掌握函数的定义与调用方法;掌握递归函数设计方法;二、上机编程:(1)掌握函数的编写方法,规则,使用方法。编写一个求圆面积的两数,其半径r由键盘输入。(2) 上机运行以下程序,分析其实现的功能。main() int a,b,c

34、;scanff'%d,%d,%d",&a, &b,&c);printf(n%dnn,max(a,b,c);max(x,y,z)int x,y,z;int t;t=(x>y?x:y); return(t>z?t:z);(3) 利用函数调用求100 z内的奇数z和;main() intjihc();printf(“ct',jihe();intjihe()int s=0;for(i=l;i<=100;i+)if(i%2=l)s+=i;return(s);第13次上机函数2一、hl的:学握函数的定义与调用方法;学握递归函数设计方法;掌

35、握全局变量的使用方法;熟悉带参宏替换的使用。二、上机编程题:(1)掌握动态变量和静态变得异同。阅读卜面的程序,写出其结果,并上机验证。# includc<stdio.h>void fun(int a ,int b ); int c=-2;main()int i;fbr(i=o;i<=l;i+) fun(i,c); printf(“c=%dn",c);void fun(int a,int b) static int c=2;c=a+b+c;print f(“c=%dn'',c);(2) 阅读以下的程序并上机运行。分析结果#include <stdio.h>try() char c;ifl(c=getcher()!=,n,)try();putchar(c);main() printf(“it);try();(3) 运行下面程序,观察静态局部变量及口动变虽:的调用过程中的变化,在

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论