C语言学习知识程序设计实验指导书.doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《C语言学习知识程序设计实验指导书.doc》由会员分享,可在线阅读,更多相关《C语言学习知识程序设计实验指导书.doc(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、.C语言程序设计实验指导书 桂林电子科技大学信息科技学院2017.03前言 上机实验的目的和要求一 上机实验的目的上机实验的目的,绝不仅仅是为了验证教材和讲课的内容,或者验证自己所编程序正确与否。学习程序语言,上机实验的目的如下:1 加深对讲授内容的理解,尤其是一些语法规定,光靠课堂讲授,既枯燥无味又难以记住,通过多次上机,就能自然、熟练地掌握语法规定。2 了解和熟悉C语言程序开发环境。熟悉一两种环境(计算机系统的软件和硬件条件),再遇到其他的系统时便会触类旁通,很快学会。3 学会上机调试程序,也就是善于发现程序中的错误,并且能很快地排除这些错误,使程序能够正确地运行。要真正掌握计算机应用技术
2、,就不仅应当了解和熟悉有关理论和方法,而且要求自己动手实践能力强。4 在做实验时千万不要在程序通过后就认为万事大吉,完成任务了,应当在通过的程序上做一些调试和修改,看看会得到什么结果。多动脑筋思考,将会对你有很大帮助。二 上机实验前的准备工作1 了解所用的计算机系统的性能和使用方法;2 复习和掌握与本实验有关的教学内容;3 准备好上机所用的程序,切忌自己不思考、不编制程序或抄袭别人的程序;4 准备好调试和运行时所需的数据。三 上机实验的步骤1 调出C语言编译系统,进入C语言工作环境;2 输入自己编制好的程序;3 检查输入是否有错,及时更正;4 进行编译和连接;5 运行程序,分析结果。四、实验结
3、束,整理实验报告实验报告应包括以下内容:1 上机题目;2 程序清单;3 运行结果;4 对结果的分析和本次获得的经验和体会。实验一 C语言程序初步数据类型、运算符和表达式一 实验目的1 熟悉C语言运行环境Microsoft Visual C+ 6.0中文版。2 掌握语言程序的书写格式和语言程序的结构,初步了解C源程序的特点。3 掌握C语言上机步骤,了解如何编辑、编译、调试和运行一个C程序的方法。4 掌握C语言数据类型,熟悉如何定义一个整型、字符型和实型的变量,以及对他们赋值的方法。5 掌握不同的类型数据之间赋值的规律。二 实验内容1 C语言上机步骤 开机,启动Microsoft Visual C
4、+ 6。 建立工程文件:在“文件”菜单中选择“新建”命令项,在弹出的“新建”对话框的“工程”选项卡中选择“Win32 Console Application”选项,在“工程”框中输入工程文件名sy1,在“c:位置”下拉框中输入或选择文件夹,单击“确定”;在以下弹出的两个对话框中分别单击命令按钮“完成”和“确定”。 建立C+源文件:在“工程”菜单中选择“添加到工程”“新建”命令项,在弹出的“新建”对话框的“文件”选项卡中选择“C+ Source File”,在右边的“文件”框中输入文件名sy11后单击“确定”。 输入源程序:在弹出的文件编辑窗口中输入下面的源程序:#include void ma
5、in() printf(Hello,World!n); printf(Welcome to the C language world!n); printf(Everyone has been waiting for.n); 编译:用“编译”菜单的“编译”命令项对源文件sy11.cpp进行编译,如果程序有语法或语义错误,在屏幕下面的窗口会出现错误信息;这时候要修改源程序、保存后重新编译。直到修改了全部错误,屏幕下面的窗口会出现下面的信息:表示已通过编译,生成了目标程序sy11.obj。 调试:接下来进行调试,操作如下图所示。完成调试后,生成可执行程序文件sy1.exe。 运行:最后用“编译”菜单
6、的“!执行sy1.exe”命令项运行可执行程序文件sy1.exe。运行结果如下:2 用同样的方法,完成下面程序的运行1 输入并运行下面的程序,运行后记录并分析结果。#include main() char c1,c2; /* 第2行 */ c1=97;c2=98; /* 第3行 */ printf (%c %cn,c1,c2);在此基础上: 在程序最后增加一个语句,再运行,并分析结果。printf (%d %dn, c1, c2); 将第2行改为:int c1,c2;再次运行,并分析结果。 再将第3行改为:c1=305;c2=340;再使之运行,分析运行结果。2 输入并运行下面的程序#incl
7、ude main() char c1=a,c2=b,c3=c,c4=101,c5=116; printf(a%c b%ctc%ctabcn,c1, c2, c3); printf(ttb%c%cn, c4, c5);在上机前先用人工分析程序,写出应得结果,上机后将二者对照。三 分析与讨论1 下在调试过程中所发现的错误、系统给出的出错信息和对策。分析讨论成功或失败的原因。2 总结程序的结构和书写规则。四 思考题1 请写出C语言程序的构成和运行C语言程序的一般步骤。2 编写一个C语言程序,输入a、b、c三个数,输出其中最大者。试想,如果求四个数中的最大者,则程序该如何编写。五 注意事项1 当程序在
8、编译时发现很多错误,此时应从上到下逐一改正,或改一个错误,就重新再编译,因为有时一个错误会引起很多错误信息。2 当需要用比较复杂的逻辑表达式时,要避免发生优先级上的错误,可以使用最高优先级的运算符()将其括起来,这样既增加可读性,又不会出现不必要的错误。实验二 顺序结构与输入/输出方法一 实验目的1 学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(+)和自减(-)运算符的使用。2 掌握C语言中赋值语句的使用。3 掌握C语言中各种数据的输入/输出方法,能正确使用各种格式转换符。4 理解C语言程序的顺序结构。二 实验内容上机调通以下程序。1 输入下面的程序#include ma
9、in() int i,j,m,n; i=8;j=10; m=+i; /* 第5行 */ n=j+; /* 第6行 */ printf(%d,%d,%d,%dn,i,j,m,n);运行程序,注意i、j、m、n各变量的值;然后分别作以下改动并运行: 将第5、6行改为如下以后再运行:m=i+;n=+j; 将程序改为:#include main() int i,j; i=8;j=10; printf(%d,%dn,i+,j+); /* 第5行 */ 在的基础上,将第5行printf语句改为:printf(%d,%dn,+i,+j); 再将printf语句改为:printf(%d,%d,%d,%dn,i
10、,j,i+,j+); 将程序改为:#include main() int i,j,m=0,n=0; i=8;j=10; m+=i+;n-=- -j; printf(i=%d,j=%d,m=%d,n=%dn,i,j,m,n);2 运行以下程序,并分析其输出结果#include main() short i; i=-2; printf(n i:dec=%d,oct=%o,hex=%x,unsigned=%un,i,i,i,i);【注意】在VC+ 6.0中,short和int类型的数据在内存中占用4个字节。3 按格式要求输入、输出数据。#include main() int a,b; float x
11、,y; char c1,c2; scanf(a=%d,b=%d,&a,&b); scanf(%f,%e,&x,&y); scanf(%c%c%c,&c1,&c1,&c2); /* 第8行 */ printf(a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%cn,a,b,x,y,c1,c2);运行该程序,按如下方式在键盘上输入数据:a=3,b=785,71.82aA请同学们写出输出的结果。【思考】程序第8行中,为什么变量c1要输入两次?4 运行以下程序,并分析其输出结果#include main() float f; f=3.1415; printf(n %f,%4.3f,%5.3f
12、,%-10.3f,%10.3fn,f,f,f,f,f);4 运行以下程序,并分析其输出结果#include main() int a,b; float c,d; char c1,c2; a=61;b=62;c=31.5;d=-68.87;c1=a;c2=A; printf(n); printf(a=%d,b=%dn,a,b); printf(c=%f,d=%fn,c,d); printf(c=%e,d=%en,c,d); printf(c1=%c,%cn,c1,c2);【注意】在VC+ 6.0中,实数的指数形式是:X.XXXXXXeXXX5 以下程序的功能是从键盘输入一个整型数,一个实型数和一
13、个字符型数,并把他们在屏幕上输出。完成以下填空,并把程序调通,写出当输入为45,34.5,A时程序的运行结果。#include main() int a; float b; char c; scanf(%d,%f,%c, ); printf(a= n,a); printf(b= n,b); printf(c= n,c);6 指出以下程序的错误并改正,并上机把程序调通。#include main() int a; scanf(%f,a); printf(a=%f, a); char c; c=A; printf(%f,c)三 思考题1 编写程序,用getchar函数读入两个字符c1,c2,然后分
14、别用putchar函数和printf函数输出这两个字符。并思考以下问题: 变量c1,c2应定义为字符型或整型?还是二者皆可? 要求输出c1和c2的ASCII码,应如何处理?用putchar函数还是printf函数? 整型变量和字符型变量是否在任何情况下都可以互相代替?2 设圆半径r=2,圆柱高h=3,求圆周长,圆柱底面积,圆柱体积。用scanf输入数据,用printf输出计算结果,输出时要求有文字说明,取小数点后两位数字。实验三 逻辑运算和选择结构程序设计一 实验目的1 掌握C语言表示逻辑量的方法(0代表“假”,1代表“真”);2 学会正确使用逻辑运算符和逻辑表达式;3 熟练掌握if语句和sw
15、itch语句。二 实验内容 1 已知三个数a,b,c,找出最大值放在max中。#include main() int a,b,c,max; printf(请输入3个整数(中间用逗号分开):); scanf(%d,%d,%d,&a,&b,&c); if(a=b) max=a; else max=b; if(cmax) max=c; printf(max=%dn,max);若输入下列数据,分析程序的执行顺序并写出输出结果。序号输入的3个整数a、b、c输出max11,2,321,3,232,1,342,3,153,1,263,2,12 输入某学生的成绩,经处理后给出学生的等级,等级如下:90分以上(
16、包括90):A 8090分(包括80):B7080分(包括70):C 6070分(包括60):D60分以下:E方法一:用嵌套的if语句#include stdio.hmain() int score; char grade; printf(请输入学生成绩:); scanf(%d,&score); if(score100|score=90) grade=A;else if(score=80) grade=B; else if(score=70) grade=C;else if(score=60) grade=D; else grade=E;printf(n成绩等级是%cn,grade); 输入测
17、试数据,调试程序。测试数据要覆盖所有路径,注意临界值,例如此题中100分,60分,0分以及小于0和大于100的数据。如果稍不注意就会出现小的程序缺陷。方法二:用switch语句分析:switch语句是用于处理多分支的语句。注意,case后的表达式必须是一个常量表达式,所以在用switch语句之前,必须把0100之间的成绩分别化成相关的常量。所有A(除100以外)、B、C、D类的成绩的共同特点是十位数相同,此外都是E类。则由此可把score除十取整,化为相应的常数。请同学们自己根据分析写出完整的程序段,并编译、运行、查看结果。三 思考题1 有一函数:x (-5x0)y = x-1 (x=0)x+
18、1 (0x10)要求输入x的值,输出y的值。分别用: 不用嵌套的if语句; 用嵌套的if语句; 用switch语句编写程序。2 从键盘上输入三个实数,它们分别代表三条线段的长度,请写一个判断这三条线段所组成的三角形属于什么类型(不等边,等腰,等边或不构成三角形)的C程序;如果能构成三角形,求出三角形的面积(取小数2位)。用下面的数据运行程序,记录程序的输出结果:abc类型三角形面积1.582.371.583.214.255.162.482.482.482.359.283.83【提示】已知三角形边长a、b、c,计算三角形面积s的公式是:四 注意事项:1 if-else语句书写时应采用分层缩进的格
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 学习 知识 程序设计 实验 试验 指导书
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内