C语言程序设计实验指导书

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1/49C语言程序设计实验指导书电子工程学院2012-22/49实验一C程序的运行环境和编辑、调试、运行简单C程序一、实验目的1.了解TurboC的基本操作方法,学会独立使用该系统。2.掌握在该系统上如何编辑、编译、运行一个C程序。二、实验内容及步骤1.进入C的工作环境1)在Windouws环境下:“开始”→“程序”→“MS-DOS”屏幕上进入MS-DOS窗口2)在Dos环境下:键入命令c:\cdc:\tc↙c:\tctc↙屏幕上出现TurboC的工作环境2.熟悉TurboC的工作环境了解Edit窗口与Message窗口了解主菜单的8个菜单项FileEditCompileProjectOptionDebugbreak/watch3.输入并运行一个简单的程序File→New输入源程序:3/49main(){printf(ThisisaCprogram.\n);printf(OK\n);}按F9进行编译和连接,观察屏幕上显示的编译信息。如果出现出错信息,则应找出原因并改正。按Run→Run(或按Ctrl+F9)编译、连接、运行一起完成。按Run→Userscreen(或按Alt+F5)察看运行结果。按任一键从用户屏切换回TC窗口。4.输入并编辑第二个C程序File→New输入源程序:main(){inta,b,sum;a=123;b=456;sum=a+b;printf(sumis%d\n,sum);}4/49编辑、运行、调试该程序。5.编辑、运行、调试自己编写的程序(至少一个程序)如:输入上底、下底和高,计算梯形面积。观察屏幕上显示的编译信息。如果出现出错信息,则应找出原因并改正。用File→Save(或F2)保存程序(程序名为a1.c)三、实验报告要求写明:1.实验目的2.实验内容与步骤3.编写的程序(题目,经调试、运行后正确的程序)4.编译过程中出现的错误信息。5.总结讨论本次实验的结果和收获。5/49实验二数据类型、运算符和表达式一、实验目的1.掌握C语言的各种类型及其定义方法,赋值方法。2.掌握不同类型之间赋值的规律。3.学会使用各种算术运算符,特别是自加自减运算符。4.进一步熟悉C程序的编辑、编译、连接和运行的过程。二、实验内容及实验步骤1.练习一个有关字符和整型的程序。main(){charc1,c2;c1=97;c2=98;printf(%c%c\n,c1,c2);/*以字符形式输出*/printf(%d%d\n,c1,c2);/*转换为整数形式输出*/}2.转义字符的练习。main(){printf(---------------*\r*\n);6/49printf(\tOA\bK\n);printf(#---------------#\n);printf(\tABC\tDEF\tGHI\n);printf(\t123\t456\t789\n);}对照输出,理解转义字符的含义。3.自加自减程序的练习。main(){inta=5,b=3,c1,c2;a++;--b;c1=++a+b;c2=c1---a/b;b=++a+b+c1--+c2;printf(a=%d\nb=%d\nc1=%d\nc2=%d\n,a,b,c1,c2);}4.各种类型混合运算的例子main(){inta=7,b=3;charc1=’a’,c2=66;floatx=12.25;7/49doubley=1.3333333333;longd=5432789;a=x+b*x+y/2-d%(c1-c2);printf(a=%d,b=%d,c1=%\n,a,b,c1);printf(d=%ld,x=%f,y=%10.2f\n,d,x,y);}5.上机改错题:请指出以下C程序的错误所在(1)main();floatr,s;r=5.0;s=3.14159*r*r;printf(%f\n,s)(2)main{floata,b,c,v;a=2.0;b=3.0;c=4.0v=a*b*c;printf(%f\n,v)}6.调试、运行自己编写的程序。(1)已知圆半径r=1.5,圆柱高h=3,求圆周长,圆面积,圆球表面积,8/49圆球体积,圆柱体积。(2)输入一个华氏温度,要求输出摄氏温度。公式为c=5/9*(f-32).三、实验报告要求写明1.实验目的2.实验内容及步骤3.编写的程序(题目,经调试、运行后正确的程序)4.编译过程中出现的错误信息。5.总结讨论本次实验中的问题和收获i++和++i的区别,i--和--i的区别各种类型混合运算时的类型转换9/49实验三顺序和分支结构的程序设计一、实验目的1.掌握C语言中使用最多的一种语句——赋值语句的使用方法。2.掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符。3.熟练掌握if语句和switch语句。二、实验内容及实验步骤1.掌握各种格式转换符的正确使用方法(1)输入程序main(){inta,b;floatd,e;charc1,c2;doublef,g;longm,n;unsignedintp,q;a=61;b=62;c1=’a’;c2=’b’;f=3157.890121;g=0.123456789;d=f;e=g;p=a=m=50000;q=b=n=-60000;printf(a=%d,b=%d\nc1=%c,c2=%c\nd=%6.2f,e=%6.2f\n,a,b,c1,c2,d,e);printf(f=%15.6f,g=%15.12f\nm=%ld,n=%ld\np=%u,q=%u\n,f,g,m,n,p,q);}(2)运行此程序并分析结果。10/49(3)改用scanf函数输入数据而不用赋值语句,scanf函数如下:scanf(%d,%d,%c,%c,%f,%f,%lf,%lf,%ld,%ld,%u,%u,&a,&b,&c1,&c2,&d,&e,&f,&g,&m,&n,&p,&q);输入的数据如下:61,62,a,b,3.56,-6.87,3157.890121,0.123456789,50000,-60000,37678,40000↙(说明:lf和ld格式符分别用于输入double型和long型数据)分析运行结果。(4)在(3)的基础上将printf语句改为:printf(a=%d,b=%d\nc1=%c,c2=%c\nd=%15.6f,e=%15.12f\n,a,b,c1,c2,d,e);printf(f=%f,g=%f\nm=%d,n=%d\np=%d,q=%d\n,f,g,m,n,p,q);运行程序。2.字符的输入输出#includestdio.hmain(){chara,b;a=’g’;b=getchar();putchar(a);putchar(b);}3.以下程序多处有错。若指定必须按下面的形式输入数据,并且必须按下面指定的形式输出数据,请对该程序做相应的修改。main{doublea,b,c,s,v;11/49printf(inputa,b,c:\n);scanf(%d%d%d,a,b,c);s=a*b;v=a*b*c;printf(%d%d%d,a,b,c);printf(s=%f\n,s,v=%d\n,v);}当程序执行时,屏幕的显示和要求输入形式如下:inputa,b,c:2.02.03.0此处的2.02.03.0是用户输入的数据a=2.000000,b=2.000000,c=3.000000此处是要求的输出形式s=4.000000,v=12.0000004.编辑、运行、调试自己编写的程序给出一个百分制成绩,要求输出成绩等级A、B、C、D、E。90分以上为A,80-89分为B,70-79分为C,60-69分为D,60分以下为E。事先编好程序,要求分别用if语句和switch语句实现。运行程序,并检查结果是否正确。三、实验报告要求写明:1.实验目的2.实验内容与步骤3.编写的程序(题目,经调试、运行后正确的程序)4.编译过程中出现的错误信息。5.总结讨论本次实验的结果和收获。12/49实验四循环结构的程序设计一、实验目的1.熟练掌握while循环语句的应用。2.熟练掌握do—while循环语句的应用。3.熟练掌握for循环语句的应用。4.理解三者的区别和联系。二、实验内容及实验步骤1.求5!main(){intn,t;n=1;t=1;while(t=5){n=n*t;t=t+1;}printf(%d,n);}2.将以上程序用do—while语句改写。3.求和s=1!+3!+5!main(){ints=0,t,i,j;for(i=1;i=3;i++){t=1;13/49for(j=1;j=2*i-1;j++)t=t*j;s=s+t;}printf(%d,s);}4.求和s=3+33+333main(){ints=0,t=3,i;for(i=1;i=3;i++){s=s+t;t=10*t+3;}printf(%d,s);}5.打印下列图案****************main(){inti,j;for(i=1;i=4;i++){for(j=1;j=4-i;j++)printf();for(j=1;j=2*i-1;j++)printf(*);printf(\n);}}6.测试、运行自己编写的程序。14/49(1)编写程序,求1-3+5-7+…-99+101的值。(2)编写程序,求e的值,e≈1+1/1!+1/2!+1/3!+1/4!+…。(3)编写程序,统计输入的一行中小写字母的个数。(4)打印100-999之间所有的“水仙花数”。“水仙花数”是一个三位数,其各位数立方和等于该数本身。(5)一个数如果恰好等于它的因子之和,这个数就称为完数。求1000之内的所有完数。三、实验报告要求写明:1.实验目的2.实验内容与步骤3.编写的程序(题目,经调试、运行后正确的程序)4.编译过程中出现的错误信息。5.总结讨论本次实验的结果和收获。15/49实验五数组(一)一、实验目的1.掌握一维数组的定义、赋值和输入输出的方法。2.掌握二维数组的定义、赋值和输入输出的方法。二、实验内容及实验步骤1.在键盘上输入N个整数,试编制程序使该数组中的数按照从大到小的次序排列。分析:C中数组长度必须是确定大小,即指定N的值。#defineN10main(){inta[N],i,j,temp;printf(pleaseinput%dnumbers\n,N);for(i=0;iN;i++)scanf(%d,&a[i]);for(i=0;iN-1;i++)for(j=0;jN-1-i;j++){if(a[j]a[j+1]){temp=a[j];a[j]=a[j+1];a[j+1]=temp;}}printf(thearrayaftersort:\n);for(i=0;iN;i++)printf(%5d,a[i]);}16/492.有一个3×4的矩阵,要求输出其中值最大的元素的值,以及它的行号和列号。main(){intmax,i,j,r,c;staticinta[3][4]={{123,94,-10,218},{3,9,10,-83},{45,16,44,-99}};max=a[0][0];for(i=0;i3;i++)for(j=0;j4;j++)if(a[i][j]max){max=a[i][j];r=i;c=j;}printf(max=%d,row=%d,colum=%d\n,max,r,c);}3.测试、运行自己编写的程序。(1)编写程序,将数组中所有奇数放在另一个数组中返回。(2)输入若干有序数放在数组中。然后输入一个数,插入到此有序数列中,插入后,数组中的数仍然有序。请对插在最前、插在最后、插在中17/49间三种情况运行程序,以便验证程序是否正确。(3)求两个矩阵之和。三、实验报告要求写明:1.实验目的2.实验内容与步骤3.编写的程序(题目,经调试、运行后正确的程序)4.编译过程中出现的错误信息。5.总结讨论本次实验的结果和收获。18/49实验六数组(二)

1 / 49
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功