版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验1 : C语言程序初步38实验名称:c语言程序初步实验类型:验证型一、实验目的了解Turbo C集成开发环境。熟悉C程序的实现过程和方法。掌握编辑、编译、连接、运行程序的过程和方法。了解常见的两种语法错误(Error/Warni ng )。二、实验内容了解Turbo C 集成开发环境的功能,熟悉菜单、热键基本操作启动、退出Turbo C集成开发环境。了解F5/F6 ; F10,7、卞 働能键;Alt+高亮度键的效果和作用。激活文件菜单(File)、编译菜单(Compile)、运行菜单(Run)、监视菜单(Break/Watch),查看菜单选项。在Turbo C下完成源程序清单”中规定的程序
2、题。三、实验要求实验中仔细观察本实验创建的目录、文件,回答实验小结和思考中的问题。在Turbo C 下完成源程序清单”中规定的程序题。编辑、编译、运行程序并获得程序结果; 如果程序有错,记录编译、连接遇到的提示错误。仔细思考出错原因,并更正之。编制的程序必须保存在用户目录中。注:用户目录可以用学号或姓名拼音简写。四、实验步骤、过程启动操作系统,查找 Turbo C 集成开发环境安装位置(路径)。假如为:C:TC,查看目录 中是否有tc.exe,此程序就是Turbo C集成开发环境的执行程序。记住您的系统Turbo C2.0的安装位置。启动、退出Turbo C集成开发环境。启动Turbo C 集
3、成开发环境。如:双击tc.exe文件图标。退出Turbo C 集成开发环境。File-Quit 退出Turbo C 集成开发环境再次启动Turbo C 环境。(同前)Turbo C 环境中,F5/F6 ; F10 , f 、f、働能键;Alt+高亮度键的效果和作用。重复按F6键,仔细观察。当前激活窗口在编辑窗口、消息窗口之间切换。重复按F5键,仔细观察。当前激活窗口最大,正常状态之间切换。先按F10,可以看到主菜单被激活,按f、-,主菜单各个项被依次激活,试着按f J可以打开相应菜单。重点浏览File (文件管理)、Run (程序运行控制)Compile 菜单(程序编译、连接)菜单。最后按ES
4、C键光标回到编辑窗口。主菜单各个项,首字母为红色(高亮度)。可以按Alt+高亮字母,直接激活相应菜单选项。例如按Alt+F激活File菜单,比F10再按光标快捷多了!按ESC键光标回到编辑窗口。观察当前源程序名 NONAME.C 表示当前的程序还没有取名字,以后保存程序时,系统会 提示输入源程序名。按照下面步骤完成第1个程序题。“ File- New”建一个新的源程序文件输入源程序,全屏幕编辑源程序。“ File- “Save保存源程序(文件名应按题目要求)。观察编辑窗口源程序名是否已经修改。用Windows资源管理器查看用户目录中是否产生了源程序文件 *.c。“ Compile -” “ B
5、uild all编译、连接源程序。如果有语法错误,修改源程序后再次编译、连 接程序,直到没有语法错误,系统提示成功。编译连接成功后用Windows资源管理器查看用户目录中是否产生了目标文件*.obj,可执行文件*.exe,观察其命名规则。“ Run” “ Run运行程序,用Alt-F5切换到用户屏幕查看运行结果。对比结果是否与预期相同。如果发现逻辑错误结果与预期不同,修改源程序,重复(3) - (5)保存、编译、运行程序,直到程序获得正确结果。必须顺序完成程序编辑、编译连接、运行的各个过程。没有正确编译成功的程序是不可 能运行的!程序开发中经常用“File “ Save保存源程序以免意外导致源
6、程序丢失。按步骤5完成第2个程序题。注意:Error -致命错的程序不能产生目标程序、执行程序, 必须修改程序,并重新编译,直到成功。按步骤5完成第3个程序题。注意: Warning -警告错的程序可以产生目标程序、执行程 序,试着运行一下。看看结果!A_A,还是修改吧,警告错一般也意味着程序有毛病,尽管这种程序可以强行编译连接为可执行程序,但结果一般都有问题。五、源程序清单、测试数据、结果。最简单的C程序。(要求文件名:1_1.c)main ()prin tf(Hello world!n);一个具有致命语法错的程序。 (要求文件名: 1_2.c)main()int i=9printf(i=%
7、dn,i)一个具有警告语法错的程序。 (要求文件名: 1_3.c)main()int i=9,j,s;s=i+j;printf(s=%dn,s);六、实验小结F5/F6 ; F10,t、j、f、助能键;Alt+高亮度键的效果和作用?答:F10,7、f J: F10激活Turbo C 主菜单,光标键选择菜单之间;回车确认。F5 :编辑窗口或消息窗口最大 / 恢复;F6 :切换编辑窗口 /消息窗口。Alt+ 高亮度键,直接激活主菜单项。与C语言程序直接相关的几种文件及扩展名分别是什么?答: C 语言源程序、目标程序、可执行程序,其后缀分别为 *.c , *.obj , *.exe 。C 语言程序主
8、要的实现过程?答:分为编辑、编译、连接、运行四个阶段。其中,开发环境中,编辑完成后,可以直接启 动运行,但分解的阶段仍然是四个,前面阶段未完成,程序仍然不能运行。C 语言程序主要的错误?答:程序错误分为:语法错误:编译系统可以协助查找出来的语法上的错误。语法错还包括:致命错Error/ 和警告错 Warning 。致命错必须修改! ,警告错可以不修改, 但常常暗示程序存在问题。逻辑错误:运行结果与预期不符,与程序算法逻辑相关的错误。实验2 :顺序程序设计实验名称: 输入与输出程序设计实验类型:验证性一、实验目的掌握:使用标准输入/输出函数进行常见数据类型的数据的输入/输出方法。初步培养编制程序
9、框图和源程序、准备测试数据以及实际调试程序的独立编程能力。二、实验内容在Turbo C 下完成程序题:根据商品原价和折扣率,计算商品的实际售价(结果精确到小数点后2位)根据圆柱体的半径和高,计算圆周长、圆面积、圆柱体表面积、圆柱体体积(结果精确到小 数点后3位)注:变量名可以自由选择,以易于理解为原则;数据由键盘输入。三、实验要求实验前编制程序框图、编写源程序、准备测试数据。实验测试数据要求从键盘输入。应尽力追求程序的完美。比如要求输入数据,应当显示提示字符串,提示用户输入;输出时要求有文字说明。在Turbo C 下完成程序的编辑、编译、运行,获得程序结果。如果结果有误,应找出原因,并设法更正
10、之。编制的程序必须保存在用户目录中。注:用户目录可以用学号或姓名拼音简写。四、实验步骤、过程启动操作系统。启动Turbo C 集成开发环境。(方法与实验1相同)完成2个程序题。(编辑、保存、编译连接、运行程序,步骤与实验1相同)退出Turbo C集成开发环境,关机。五、源程序清单、测试数据、结果。根据商品原价和折扣率,计算商品的实际售价程序流程图:(开始)ttAprice.discountfee=price*( 1-discount/100)1输出实际 售俯阴main ()float price,disco un t,fee;prin tf(I nput Price,Discou nt:);s
11、can f(%f%f,&price, &discou nt);fee=price*(1-discou nt/100);prin tf(Fee=%.2fn,fee);运行:In put Price,Discou nt:100 1Fee=90.00表示回车,以后不再解释。注:下划线表示程序运行后用户输入的数据,2、根据圆柱体的半径和高,计算圆周长、圆面积、圆柱体表面积、圆柱体体积 程序框图(略)void mai n()float r,h,pi=3.1415926;float cO,sO,s,v;printf(Input r,h(m):);scan f(%f,%f,&r,& h);c0=2*pi*r
12、;sO=pi*r*r;s=2*pi*r*h+2*pi*r*r;v=pi*r*r*h;prin tf(c0=%.3f(m)ns0=%.3f(m2)ns=%.3f(m2)nv=%.3f(m3)n,c0,s0,s,v);运行:In put r,h(m):1,2c0=6.283(m)s0=3.142(m2)s=18.850(m2)v=6.283(m3)六、实验出现的问题、实验结果分析(参考)C语言变量先定义后使用,变量名大小写敏感。scanf输入数据,变量应当使用取地址运算。scanf函数格式字符串中的普通字符要原样输入,否则会发生错误。七、实验小结若 scanf(%f,%f,&price,&disc
13、ount);如何输入两个数据?答:scanf函数格式字符串中非格式字符要求原样输入,printf函数格式字符串中非格式字符在输出时原样输出。由于格式字符串为f,%f,即要求两个浮点数之间由,分隔,所以输入数据时必须输入/ 例如:In put Price,Discou nt:100, 10实验3 :选择结构程序设计实验名称:选择结构程序设计实验类型:验证性一、实验目的掌握关系、逻辑运算符及其表达式的正确使用。掌握if语句和switch 语句的使用。了解Turbo C程序调试的基本方法。二、实验内容在Turbo C 下完成程序题:有如下函数,要求输入 x的值,求y的值。一 |X|, X v 0Y=
14、 - X2, OWXv 10LogX , X 10输入1-7之间的任意数字,程序按照用户的输入输出相应的星期值。某单位马上要加工资,增加金额取决于工龄和现工资两个因素:对于工龄大于等于 20年的,如果现工资高于 2000,加200元,否则加180元;对于工龄小于 20年的,如果现工 资高于1500,加150元,否则加120元。工龄和现工资从键盘输入,编程求加工资 后的员工工资。三、实验要求实验前绘制程序流程图,编制源程序、准备测试数据。在Turbo C 下完成程序的编辑、编译、运行,获得程序结果。实验中可以采用 Turbo C程序调试基本方法协助查找程序中的逻辑问题。四、实验步骤、过程编辑、编
15、译、运行程序题1,分别使用数据-5 , 0 , 5 , 10 , 100做测试。编辑、编译、运行程序题2,分别使用数据1 , 7 , 8做测试。编辑、编译、运行程序题3,测试数据见下表:工龄y (年)现工资S0 (元)252200221900181700161400尝试跟踪程序题1运行。用F7或F8键单步跟踪程序,用AF7检查变量值,用 F4可以将 程序运行到光标当前位置。五、源程序清单、测试数据、结果。给定y=f(x)函数,要求输入 x的值,求y的值。#in elude main ()float x,y;scan f(%f, &x);if(x0) y=fabs(x);else if(x10)
16、 y=x*x;else y=log10(x);prin tf(%fn,y);测试运行:-55.00000000.000000525.000000101.0000001002.0000002、输入1-7之间的任意数字,程序按照用户的输入输出相应的星期值。main ()int week;prin tf(l nput(1-7):); scan f(%d,&week);switch(week)case 1:pri ntf(Mo n.n);break;case 2:pri ntf(Tue.n);break;case 3:pri ntf(Wed.n);break;case 4:pri ntf(Tur.n)
17、;break;case 5:pri ntf(Fri.n);break;case 6:pri ntf(Sat.n);break;case 7:pri ntf(Su n.n);break;default:pri ntf(The in put is wron g!n);测试运行:In put(1-7):1Mo n.In put(1-7):5Fri.In put(1-7):8The in put is wrong!3、工资计算。main ()float s0,s;int y;prin tf(I nput sO,y:);scan f(%f,%d, &s0, &y);if(y=20)if(s0=2000)
18、s=s0+200;else s=s0+180;elseif(s0=1500)s=s0+150;else s=s0+120;prin tf(s=%fn,s); 测试运行:In put s0,y:2200,25s=2400.000000In put s0,y:1900,22s=2080.000000In put s0,y:1700,18s=1850.000000In put s0,y:1400,16s=1520.000000六、 实验出现的问题、实验结果分析(不要照抄哦,A_A )求绝对值对于浮点数要使用函数fabs。使用abs是对整数取绝对值。以10为底的对数,应当使用函数 loglO。0WXV
19、 10不能表示为0=x10,否则尽管无语法错误,但是含义不正确。case语句与常量之间应当有空格,否则当做语句标号处理。如easel :。(使用单步跟踪发现)。七、实验小结程序错误分为语法错误和逻辑错误。 语法错误可以由编译器协助检查,逻辑错误编译器无法检查出来。程序逻辑错误比语法错误更加隐蔽,程序跟踪可用于发现程序逻辑错误。调用库函数应当包含对应头文件,帮助进行类型匹配检查和类型转化,保证函数调用使用正确参数。实验4 :循环结构程序设计实验名称:循环结构程序设计实验类型:验证型一、实验目的掌握while , do-while , for循环的语法结构与应用。掌握while , do-whil
20、e 循环的区别。掌握Turbo C单步执行调试程序的方法。二、实验内容 完成程序题: 用三种循环结构,求 1000以内奇数的和。用while,do-while 循环求i-10的连加和,i由用户输入。有一堆零件(100 - 200个之间),如果以4个零件为一组进行分组,则多2个零件;如果以7个零件为一组进行分组,则多3个零件;如果以9个零件为一组进行分组,则多 5个零件。编程求解这堆零件总数。提示:用穷举法求解。即零件总数x从100-200 循环试探,如果满足所有几个分组已知条 件,那么此时的 x就是一个解。分组后多几个零件这种条件可以用求余运算获得条件表达式。三、实验要求 实验前编制源程序、对
21、第 2个实验内容需要准备测试数据。在Turbo C 下完成程序的编辑、编译、运行。查看、分析程序结果。四、实验步骤、过程编辑、编译、运行程序题编辑、编译、运行程序题2,分别使用数据3 ,15做测试。编辑、编译、运行程序题五、源程序清单、测试数据、结果。 用三种循环结构,求 1000 以内奇数的和。(1 )用 while 结构实现void main()long sum;int i,item;sum=0,i=0,item=2*i+1; while(item1000) sum=sum+item; i+;item=2*i+1;printf(1+3+5+.999=%ldn,sum);( 2 )用 do-
22、while 结构实现void main()long sum;int i,item;sum=0,i=0,item=2*i+1;do sum=sum+item; i+;item=2*i+1;while(item1000);printf(1+3+5+.999=%ldn,sum);(3 )用 for 结构实现void main()long sum;int i,item;i+,item=2*i+1)for(sum=0,i=0,item=2*i+1; item1000; sum=sum+item;printf(1+3+5+.999=%ldn,sum);运行结果:1+3+5+.999=250000i由用户输
23、入。2、用while,do-while 循环求i-10的连加和,(1 )用while循环实现main ()int sum=O,i;printf(Input i:);scanf(%d,&i);while(i=10)sum+=i;i+;prin tf(sum=%dn,sum);测试运行结果:In put i:7sum=34In put i:15 sum=0(2 )用do-while 循环实现main ()int sum=0,i;printf(Input i:);scanf(%d,&i);dosum+=i;i+;while(i=10);prin tf(sum=%dn,sum);测试运行结果:In p
24、ut i:7sum=34In put i:15sum=153、穷举法搜索计算零件总数main ()int x,flag=0;for(x=100; x=200; x+)if(x%4=2&x%7=3&x%9=5)flag=1;break;if(flag)printf(x=%dn,x);else printf(no answer!n);运行结果:x=122六、实验出现的问题、实验结果分析对于累加问题,获得的累加值可能超过变量允许的范围,出现溢出错误(逻辑错误 - 编 译时不能发现) 。程序题 1 :原来 sum 定义为 int ,后来改为 long 后程序获得了正确的结 果。七、实验小结变量类型的选
25、择应当考虑变量的使用范围。 循环程序可以用三种结构实现,三种结构一般情况可以相互替换。 while , do-while 循环的区别: while 先判断循环条件,如果条件满足再执行循环体,如果 条件不满足,循环体一次也不执行。 do-while 先执行一次循环体再判断循环条件, 以决 定是否再次执行循环体,即就是说循环体至少执行一次。穷举法是利用计算机高速计算能力试探搜索求解复杂问题的一种很好的方法。实验5 :数组程序设计实验名称:数组程序设计实验类型:验证型一、实验目的掌握一维数组和二维数组的定义、初始、数组元素引用。掌握一维数组和二维数组的输入 /输出。掌握与数组有关的算法。二、实验内容
26、编制程序,求Fibonachi数列的前10项。提示:Fib on achi的第1,2项分别为1,1。其后任何一项满足 ai=a i-2+a i-i。编写找出1 - 100之间能被7或11整除的所有整数,存放在数组a中,并统计其个数。要 求以每行排列5个数据的形式输出 a数组中的数据。设有4X4的方阵,其中的元素由键盘输入。求出(1)主对角线上元素之和;(2 )辅对角线上元素之积;(3)方阵中最大的元素。提示:主对角线元素行、列下标相同;辅对角线元素行、列下标之和等于方阵的最大行号(或 最大列号)下标、行列号基于0。三、实验要求编制源程序,对于程序 3输入测试数据。在Turbo C 下完成程序的
27、编辑、编译、运行。查看、分析程序结果。四、实验步骤、过程编辑、编译、运行程序题1。编辑、编译、运行程序题2。编辑、编译、运行程序题3。测试数据12345678910111213141516五、源程序清单、测试数据、结果。1 、求 Fibonachi 数列的前 10 项 main()int f11=0,1,1,n;for(n=3; n=10; n+)fn=fn-1+fn-2;for(n=1; n=10; n+)printf(%d ,fn);printf(n);程序结果:1 1 2 3 5 8 13 21 34 552、找出 1 100 之间能被 7 或 11 整除的所有整数 main()int
28、n=0,a100,i;for(i=1; i=100; i+)if(i%7=0|i%11=0)an=i;n+;printf(n=%dn,n);for(i=0; in; i+)printf(%dt,ai); if(i+1)%5=0)printf(n);printf(n);程序结果:n=2271114212228333542444955566366707784889198993、方阵求出(1 )主对角线上元素之和;(2 )辅对角线上元素之积;(3)方阵中最大的元 素。#i nclude #defi ne N 4main ()int aNN,s 1=0,s2=1,max=0,i,j;for(i=0;
29、iN; i+)for(j=0; jN; j+)scan f(%d, &aij);max=aOO;for(i=0; iN; i+)for(j=0; jmax)max=aij;prin tf(s1=%d,s2=%d,max=%dn,s1,s2,max);程序结果:12345678910111213141516s1=34,s2=3640,max=16六、实验出现的问题、实验结果分析数组下标范围容易搞错,容易产生越界错误。利用scanf()输入数据时取地址符号(&)容易忘记。七、实验小结 典型算法需要在理解的基础上记忆。实验8 :字符数组与字符串函数实验名称:字符数组与字符串函数实验类型:验证型一、实
30、验目的掌握字符数组的定义、初始、数组元素引用、输入输出。掌握字符数组的处理掌握常用字符串处理函数二、实验内容编制程序:对键盘输入的字符串进行逆序,逆序后的字符串仍然保留在原来字符数组中,最后输出。(不得调用任何字符串处理函数,包括strlen )例如:输入 hello world 输出 dlrow olleh编写程序:对从键盘任意输入的字符串,将其中所有的大写字母改为小写字母,而所有小写字母改为大写字母,其它字符不变。(不调用任何字符串处理函数)例如:输入:Hello World! 输出:hELLO WORLD!编写程序:从键盘输入 4个字符串(长度20 ),存入二维字符数组中。然后对它们进行
31、排序(假设由小到大顺序),最后输出排序后的 4个字符串。(允许使用字符串函数)提示:字符串比较可以用strcmp函数实现,排序方法可以选择法或冒泡法。三、实验要求绘制流程图、编制源程序,测试数据。1-2题不得使用任何字符串处理函数,3题允许使用字符串处理函数。在Turbo C 下完成程序的编辑、编译、运行。查看、分析程序结果。四、实验步骤、过程编辑、编译、运行程序题1,使用数据:hello world做测试。编辑、编译、运行程序题2,使用数据:Hello World做测试。编辑、编译、运 行程序题3,使用数据Spa nishChi naAmericaJapa n做测试。五、源程序清单、测试数据
32、、结果。1、字符串进行逆序main ()char str100;int n,i,j;gets(str);n=0;while(str n) n+;for(i=0,j=n_1; ij; i+,j-)strj=k;char k=stri; stri=strj;puts(str);测试运行结果:hello worlddlrow olleh2、大写变小写,小写变大写#i nclude main ()char s100;int i;gets(s);for(i=0; si!=0;i+)if(si=A&si=a&si=z)si-=32;puts(s);测试运行结果:Hello World!hELLO wORL
33、D!3、串排序(采用选择法排序)#in elude #defi ne N 4main ()char sN20;int i,j;for(i=0;iN;i+)gets(si);for(i=0;iN-1;i+)for(j=i+1; j0)char t20;strcpy(t,si);strcpy(si,sj);strcpy(sj,t);for(i=0; iN; i+)puts(si);测试运行结果:Spani shChi naAmericaJapa nAmericaCh inaJapa nSpanish六、实验小结也可以调用字符串处理函数整对于字符串的处理可以将字符串当作字符数组逐个元素处理,体处理。
34、字符串串尾结束符号0在编制字符串处理程序很重要。字符串处理函数可以减轻编程工作量, 了解并熟悉常用字符串处理函数乃至其它系统函数可以提高软件开发的效率。ctrl+F1要调用系统函数一般应包含此系统函数的 “头文件 ”,以便编译系统检查调用格式。 如果在编程时忘记一个系统函数的调用格式,可以将光标停留在此函数上,并按 键联机查询。gets() 可以输入带空格字符串,而 scanf() 不能。实验6 :函数的定义与调用实验名称:函数的定义与调用实验类型: 综合型一、实验目的掌握函数定义(返回、函数名、参数、函数体),调用。掌握函数的声明嵌套调用、递归调用。二、实验内容编制函数fun,其功能是:删除
35、一个字符串中指定的字符。要求:原始字符串在主函数中输入,处理后的字符串在主函数中输出。例如:输入 “ I am a teacher,you are a student ”禾口 输出 “ I am a tachr,you ar a stud nt ”。编制函数sortstr,其功能是对多个字符串进行排序。要求:欲排序的字符串在主函数中输入,排好序的字符串在主函数中输出。提示:排序算法可参照实验9第4题,即将排序算法改为由一个函数sortstr实现。掌握函数声明的使用。三、实验要求1、2题编制源程序和测试数据;在 Turbo C下完成程序的编辑、编译、运行并分析程序结果。3题按实验步骤完成,认真观
36、察,仔细思考思考题。四、实验步骤、过程编辑、编译、运行程序题1。使用字符串:“ I am a teacher,you are a stude nt以及字符做测试。编辑、编译、运行程序题2。使用数据:“Spanish”、“China”、“America”、“Japan”、“ England做测试。掌握函数声明的使用输入下面程序,编译、连接,如果没有输错,应该提示成功。运行获得正确结果 100 。 float fun(float f)return f*f;void main()float k;k=fun(10.0);printf(%fn,k);把 fun 函数移到 main() 函数之后,再次编译
37、,提示错误:Type mismatch in redeclaration of fun,(重新定义了 fun ,类型不一致) 。提示:移动一块程序可以用AKB,AKK 定义要移动的块,然后移动光标到要移动的目标位置,AKV移动程序块。另外,akc还可以复制一块程序,试试吧!在 main() 函数前增加函数声明 float fun(float f) ;,再次编译,提示成功并能正确运行获得 结果。思考:在什么情况需要函数声明?五、源程序清单、测试数据、结果。 删除字符串中指定的字符#include void fun(char ,char);void main()char s100,c;gets(s
38、);c=getchar();fun(s,c);puts(s);void fun(char s,char c)int i,j;for(i=0;si!=O:i+)if(si=c)for(j=i; sj!=0;j+)sj=sj+1;测试运行:I am a teacher,you are a stude nt eI am a tachr,you ar a stud nt字符串进行排序(选择法)#in clude void sortstr(char s20,i nt n)int i,j;for(i=0; in-1;i+)for(j=i+1;j0)strcpy(sj,t);char t20; strcpy
39、(t,si); strcpy(si,sj); void mai n()char s520;int i;for(i=0;i5;i+)gets(si);sortstr(s,5);for(i=0;i5;i+)puts(si);测试运行:Spani shChinaAmericaJapa nEn gla ndAmericaCh inaEn gla ndJapa nSpanish函数声明的使用float fun( float f)return f*f;void mai n()float k;k=fu n(10.0);prin tf(%fn,k);或:float fun( float f);void mai
40、 n()float k;k=fu n(10.0);prin tf(%fn,k);float fun( float f)return f*f;是正确的程序形式。六、实验小结通过编制两个函数,您认为定义函数的关键是什么?答:定义函数的关键是确定函数头。确定了函数头就确定了函数的整体框架。应该在理解函数功能基础上,确定函数形式参数(出入口参数)、返回值类型(出口参数),进而确定函数头。在什么情况需要函数声明?答:函数调用出现在函数定义前时,应该在函数调用前进行函数声明。这样,可以使编译器在函数调用时就可以明确函数调用格式,产生正确的编译目标代码。实验名称:指针实验7 :指针实验类型:验证型一、实验目
41、的进一步理解指针概念。掌握指针变量的定义、初始化以及通过指针变量对数据的访问。掌握指针与一维数组的关系。二、实验内容运行下面程序,理解指针的概念。main ()int a10=1,2,3,4,5,6,7,8,9,10;int *p;for(p=a; p=A&*p=a&*p=0&*p=9)c2+;else if(*p= )c3+;p+;prin tf(%dt%dt%dt%dn,c0,c1,c2,c3);测试运行:Hello World! 3.14 WB4833六、实验思考程序1中“ p=A&*p=a&*p=0&*p=9 ”分别表示什么含义?这几个条件表达式太长,Turbo C有无系统函数可以替代
42、?程序2中“ int c4=0;定义的数组是什么作用?c0-c3分别代表什么?程序2中“char s100;定义的数组是什么作用?假设int *p1; float *p2 ;那么p1=p1+5 ,p2=p2+5 分别是什么含义?赋值后 p1、p2存放的地址值分别增加了多少?假设float *p ;请问p,*p,&p分别代表什么?画图表示。假设p是一个指针变量,指针变量p为什么必须初始化后,才可以用 *p访问?画图表示。两个程序对指针的初始化分别用哪条语句完成?实验8 :文件实验名称:文件实验类型:验证型实验准备:数据文件 d1.txt , d2.txt , din.txt一、实验目的1、掌握文
43、件输入/输出的操作过程。2、掌握文件的基本打开方式3、掌握文件常用文件函数的应用二、实验内容将两个文本文件连接成一个文本文件。给文本文件加上行号后存储到另外一个文本文件由教师提供。buffer 中。提示:读文件一行函数 in t getli ne(FILE *fp, char buffer)函数功能:从fp指向的文本文件中读取一行,并存放在缓冲区 返回值:0-正常读取以n 吉束的文本行,文件没有结束;1- 读取到一部分文本,文件结束;2- 未读取到文本,文件结束。三、实验要求理解题意,编制程序和测试数据文件。程序应当详细注释。四、实验步骤、过程(学生自行填写,填写程序实现过程)五、源程序清单、
44、测试数据、结果。两个文件连接#i nclude void mai n()char n180, n280, n380;FILE *fp1,*fp2,*fp3;char ch;prin tf(.li nk two file.n ”);prin tf(first file :);gets( n1);prin tf(sec ond file:);gets (n 2);prin tf(li nked file:);gets( n3);fp1= fope n(n 1,r);fp2=fope n(n 2,r);fp3=fope n(n 3,w);if(!fp1|!fp2|!fp3)pri ntf(Error
45、 Ope n File!n);exit(1);while(ch=fgetc(fp1)!=EOF)fputc(ch,fp3);while(ch=fgetc(fp2)!=EOF)fputc(ch,fp3);fclose(fp1);fclose(fp2);fclose(fp3);prin tf(li nk complete!.n);测试数据文件:d1.txt 内容:HiHello How are you?d2.txt 内容:good morning!Mrs Wang运行过程:.li nk two file.first file :d1.txtsec ond file:d2.txtlin ked file:d3.txtlink complete!.运行后产生文件d3.txt :HiHello How are you? good morning!Mrs Wang文本文件加行号#include /*Read A Line From File.return0:read a line (n) ,1:read a line,eof2:no new line,eof(discard buffer content)*/int getline(FI
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年国际贸易实务考试模拟题国际贸易规则与实务操作试题
- 2026年网络工程师网络规划与维护管理考试模拟题
- 2026年现代科技与创新能力测试题
- 消防卫生制度
- 村委会议事会会议制度
- 日常金融管理事项会议制度
- 2025四川大学出版社秋季招聘6人笔试历年备考题库附带答案详解
- 2025四川华丰科技股份有限公司招聘销售经理等岗位测试笔试历年典型考点题库附带答案详解
- 2025四川兵器工业集团激光公司总经理公开招聘1人笔试参考题库附带答案详解
- 2025四川九洲光电科技股份有限公司招聘软件工程师测试笔试历年常考点试题专练附带答案详解
- 渐冻症患者麻醉管理要点
- 西安民宿管理办法
- 【基于PLC的地铁屏蔽门控制系统设计8900字(论文)】
- 医学诊断证明书规范与管理体系
- 《肝性脑病》课件
- 经内镜逆行胰胆管造影(ERCP)护理业务学习
- 养老院老人档案管理制度
- 《摩擦磨损试验》课件
- 粮油食材配送投标方案(大米食用油食材配送服务投标方案)(技术方案)
- 超声波治疗仪的生物力学效应研究
- 耳膜穿孔伤残鉴定
评论
0/150
提交评论