C语言程序设计实践教程.pdf
《C语言程序设计实践教程.pdf》由会员分享,可在线阅读,更多相关《C语言程序设计实践教程.pdf(149页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C语言程序设计 实践教程内容提要本书是C语言程序设计配套使用的教学用书。内容以实验操作为主,重点培养学生的 实际动手能力,并帮助学生对课程内容加深理解。全书分为实验指导、综合测试、习题集 和部分参考答案四个部分。在实验指导中,介绍了 C语言实验上机环境Visual C+6.0的 使用和程序调试方法,精选了 10个实验,每个实验都包括实验目的、实验内容等,重点在 于培养学生实际动手能力。综合测试紧扣计算机等级考试内容,让学生全面地检验自己对 本课程的学习掌握情况及综合解决实际问题的能力。在习题集中,按照教学大纲要求提供 了大量的习题,这些习题突出了重点和难点,更好的帮助学生对所学知识的理解。综合
2、测 试和习题集都配有参考答案。本书可以作为各类高等院校计算机专业、各类高职院校计算机专业及理工科学生的“C 语言程序设计”课程的实验教学用书,也可作为广大计算机爱好者学习C程序设计语言的 参考用书。刖s“C语言程序设计”是教育部高教司组织制订的高校理科类专业大学计算机教学基 本要求中规定的必修课程。本实验教程根据“C语言程序设计”课程教学大纲和“C语言程序设计”实验教学大 纲的要求编写而成。编写过程中,编者注意了本书内容与课堂讲授内容的衔接。通过学习,能够使学生了解计算机程序设计的基本知识,掌握程序设计的基本方法,培养学生程序设 计、综合解决实际问题的能力,为学生继续学习其他的程序设计语言打下
3、基础。本实验教程由工作在教学第一线并具有计算机基础教学经验的多位教师共同编写而 成,由王琳艳担任主编并统稿,杨冬梅、陈爱萍、刘征、刘警分别承担了不同实验单元和 习题单元的编写工作,并由江汉大学计算中心陈刚老师审稿。本书的编写得到江汉大学有 关领导及数计及计算机学院全体老师的支持和帮助,在此一并表示感谢。限于时间的仓促及编者水平有限,书中难免有不妥之处,恳请各位师生批评、指正。编者 第1部分实验指导实验1 Visual C+6.0编译系统入门实验目的(1)熟练掌握Visual C+6.0编译系统的常用功能。(2)学会使用VisualC+6.0编译系统创建、打开、编辑、保存、调试,运行C程序。(3
4、)熟练掌握C程序结构和语法规则。实验内容1.启动 Visual C+6.0 并了解 Visual C+6.0 的环境在Win dows环境下,双击Visual C+6.0图标,启动Visual C+6.0进入一个标题 为“Tip of the Day”窗口,如图1所示。可以看到,在该窗口中显示了一条帮助信息。单击该窗口中的“Next Tip”按钮可以继续得到更多的帮助信息。若单击“Close”按 钮,则会关闭该窗口。进入Visual C+6.0集成开发环境的主窗口,如图1.2所示,表 示Visual C+6.0已经启动成功。图 1.1 Tip of the Day”窗口图1.2 Visual
5、C+6.。集成开发环境的主窗口Visual C+6.0集成开发环境的主窗口由标题栏、菜单栏、工具栏、工作区窗口、源代码编辑窗口、输出窗口和状态栏组成。屏幕窗口最上方是标题栏,显示所打开的应用程序名。标题栏左端是控制菜单图 标,单击后会弹出窗口控制菜单。标题栏右端从左至右有3个控制按钮,分别为“最 小化”、“最大化”和“关闭”按钮,可以用它们快速设置窗口的大小。标题栏下方是菜单栏,由9个菜单项组成。单击菜单项会弹出下拉式菜单,可使 用这些菜单项实现集成开发环境的各种功能。菜单栏下方是工具栏,它由若干个功能按钮组成,单击它们可实现某种操作功能。该工具栏中共有15个工具项按钮。如图L3所示。图L3工
6、具栏自左至右各按钮的功能介绍如下。(1)New Text File:创建新的文本文件。(2)Open:打开已有文档。(3)Save:保存当前文档内容。(4)SaveAH:保存所有打开的文档。(5)Cut:将选定的文档内容从文档中删除,并将之复制到剪贴板中。(6)Copy;将选定的文档内容复制到剪贴板中。(7)Paste:在当前插入点处粘贴剪贴板中的内容。(8)Un do:取消最近一次编辑操作。(9)Redo:恢复前一次取消的编辑操作。(10)Workspace:显示或隐藏工作区窗口。(11)Output:显示或隐藏输出窗口。(12)Win dows list:管理当前打开的窗口。(13)Fin
7、 d in File:在多个文件中搜索字符串。(14)Fin d:激活查找工具。(15)Search:搜索联机文档。工具栏的下方有左、右两个窗口,左窗口是项目工作区窗口,右窗口是源代码编 辑窗口。在项目工作窗口和源代码编辑窗口的下方有一个输出窗口,在创建项目(Build)时,用来显示项目创建过程中的错误信息。屏幕最底部是状态栏,它可以给出当前操作或所选命令的提示信息。2.实验 例题将下面改错题输入到源代码编辑窗口,调试,注意系统出现的信息。修改错误,直到程序运行成功。#in clude main()/*main f un ction*/(prin tf(OK.n)操作步骤如下。(1)在Visu
8、al C+6.0集成开发环境的主窗口,单击“File”菜单,如图L4所示。(2)选择New选项,出现如图1.5所示的“New”对话框。(3)在“New”对话框中单击“Files”菜单,如图1.6所示。(4)选择“C+Source File”项,在“File”文本框中输入源代码文件的文件名(例 如:aaa.c),并单击Location项的按钮,出现如图1.7所示的对话框(5)在“Drives”选项中找出要保存文件的盘符,例如,要将aaa.c文件保存在D:盘上,如图L8所示,并单击“Choose Directory”对话框中的“OK”按钮。(6)返回到“New”对话框,如图1.9所示。继续单击“N
9、ew”对话框中的“OK”按钮。(7)系统返回Visual C+6.0集成开发环境的主窗口,并显示源代码编辑窗口,如 图L10所示。(8)在源代码编辑窗口输入改错的程序,如图L11所示。(9)单击菜单栏的“Build”菜单,选择“Build”项进行编译和链接。如图1.12 所示。(10)因为“prin tf(OK.n)”语句缺少“;”,所以编译系统在项目工作窗口和源代 码编辑窗口的下方窗口显示错误信息,如图L13所示。(11)根据错误信息找到相应的地方进行修改,使之正确无误,如图L14所示。(12)选择Build”项进行编译和链接。如图L15所示。(13)屏幕出现“询问是否创建默认项目工作区”对
10、话框,如图1.16所示。(14)单击“Yes”按钮,屏幕出现如图L17所示的“询问是否保存文件”对话框。(15)单击“Yes”按钮,系统开始对源程序文件进行编译,如果程序仍然有错必须 再次修改并重新对源程序进行编译,直到没有错误信息为止,如图L18所示。(16)执行程序可以选择“Build”菜单中的“执行”命令,或者单击主窗口工具栏 中带“!”的“BuildExecute”快捷键,屏幕会出现如图1.19所示的DOS形式的“输入 数据和输出结果”窗口。如果程序要求键盘输入数据,则Visual C+等待用户操作,然 后显示程序的输出结果。当程序成功执行并输出结果后,Visual C+显示提示信息“
11、Press an y key to con tin ue,J;这时按键盘上任意键,系统返回主窗口。(17)关闭程序工作区。单击菜单“File”,选择“Close workspace命令,在弹出 的对话框中单击“是”按钮,关闭工作区。图1.4 File菜单窗口图1.5“New”对话框图1.6单击“File”菜单图1.7单击Location项的按钮后的窗口图1.8选中D:盘后的窗口图1.9单击“OK”按钮后的窗口图L10源代码编辑窗口图1.11输入改错程序后的源代码编辑窗口图1.12选择“Build”项进行编译图L13编译后给出错误信息窗口图1.14程序修改后的窗口图 1.15 Build”窗口图
12、146”询问是否创建默认项目工作区”对话框图1.17“询问是否保存文件”对话框图L18无错误信息的窗口图1.19”输入数据和输出结果”窗口注意要点(1)在编译和链接时,如果编译器发现程序的语法错误,则会在输出窗口中显示 错误信息,这些信息包括错误的性质、出现的位置和产生错误的原因等。如果双击某 条错误信息,文件编辑区窗口的右边出现一个箭头,指向出现错误的程序行,此时用 户可以根据错误的性质修改程序。修改后还需重新对源程序再进行编译,直到没有错 误信息为止。(2)执行程序时出现的错误称为运行错误。例如,负数求开平方、溢出和内存不 够等。如果出现运行错误,用户还要修改源程序并且重新编译、链接和执行
13、。(3)执行结果显示出来后,并不意味它一定是所求解问题的正确答案。因为程序 可能存在逻辑错误。例如,算法错误、使用运算符错误等。这种错误不能被编译器发 现,必须通过人工测试、验证去查找和修正错误。3.实验 操作题读程序写结果/*s-C*/#in clude main()in t a,b,c,d;a=b=c=5;c+=a+b;d=c%a;prin tf(a=%d,b=%d,c=%d,d=%d n,a,b,c,d);)上机前分析结果:实际上机结果:4.完善 程序程序功能:下面的程序是求整数a/b的商和余数,请用正确的表达式填空。/*s-2 c*/#in clude main()(in t a,b,
14、c,d;a=100;b=30;prin tf(a=%d,b=%d,c=%d,d=%d n,a,b,c,d);)5.改错(1)将下面程序输入到C编辑窗口,调试,注意系统出现的信息。修改错误,直到程序 运行成功。/*sl-3 c*/#in clude stdio.h;main();/*main f un ction*/f loat r,s;/*/*r is rtadius*/,/*s is area of circular*/*/r=5.0;s=3.14159*r*r;prin tf(%f/n,s)提示:注意符号的要求。(2)/*si-4 C*/#in clude stdio.hmainf loa
15、t a,b,c,v;a=2.0;b=3.0;c=3.0v=a*b*c;prin tf(%f n,v)6.程序设计(1)输入半径,计算圆面积。(sl-5.c)提示:定义两个变量存放半径和圆面积的值;.给半径赋值;计算圆面积=半径X半径X 3.14159;输出圆面积的值。(2)输入出生年份和当前年份计算年龄。(sl-6.c)提示:定义两个变量存放出生年份和当前年份;输入变量:出生年份,当前年份;计算年龄=当前年份-出生年份;输出年龄。(3)输入3个变量的值,假设3个变量分别是1,2,3;将它们的值交换后输出,要 求a的值放入b,b的值放入c,c的值放入a中。(sl-7.c)提示:交换3个变量的值,
16、需要借助另一个变量。即该程序应定义4个变量。(4)把1050分钟换算成用小时和分钟表示,然后进行输出。(sl-8.c)提示:输出语句为:prin tf(%d小时d分钟 n ,h,m);其中h、m为存放小时和分钟的 变量。实验2顺序结构实验目的(1)熟练掌握顺序语句的使用方法。(2)理解并运用各种表达式。(3)熟练掌握输入、输出语句的使用及常用格式字符的使用方法。实验内容1.读程序写结果(1)/*s2-l.c*/#in clude main()(in t i,j,m,n;i=8;j=W;m=+i;n=j+;prin tf(%d,%d,%d,%d n,i,j,m,n);)上机前分析结果:实际上机结
17、果:(2)/*s2-2.c*/#in clude main()(in t a,b,d=241;a=d/100%9;b=(-l)&(-l);prin tf(%d,%d n,a,b):上机前分析结果:实际上机结果:(3)/*s2-3.c*/#in clude main()in t a=3,b=2,c=l,d;d=(abc);prin tf(%d n,d);)上机前分析结果:实际上机结果:(4)/*s2-4.c*/#in cludemain()(in t i=16,j,x=6,y,z;j=i+l;prin tf(l:%d n,j);x*=i=j;prin tf(2:%d n,x);x=l;y=2;z
18、=3;x+=y+=z;prin tf(3:%d n,z+=xy?x+:y+);x=y=z=-l;+xll+y&+z;prin tf(5:%d,%d,%d n,x,y,z);提示:关系运算符分为两个优先级,和“与(&)或(II),“!”优先级高于算术运算符,“&”和“II”优先级低于算术运算符和关系运算符。上机前分析结果:实际上机结果:2.完善程序下列给定程序的功能是:从键盘输入圆柱体的半径r和高度h,计算其底面积s和体积 v并输出。请完善程序并调试。(s2-5.c)/*s2-5.C*/#in cludemain()f loat pi=3.1415926;f loat r,h,s,v;prin
19、tf(Please in put r,h:);scan f(%f,_1_,&r,_2_);s=_3;v=4;prin tf(area=5_,volume=_6_ n,s,v);)3.程序设计从键盘输入变量x,y的值,交换它们的值并输出。(s2-6.c)提示:用scan f函数输入x,y的值;用第三个变量辅助交换x,y的值;用prin tf函数将交换后的x,y输出。(输入X,yt=x x=y y=t输出x,y结束;(2)输入一个十进制数,输出其八进制和十六进制数。(s2-7.c)提示:应用prin tf函数的格式控制。/*s2-7.c*/main()(scanf&n);printf(%o,%xn
20、*,n,n);)(3)编写程序求出任一输入字符的ASCI I 码。(s2-8.c)提示:接收一个字符赋给变量,以整型输出该变量。(4)从键盘输入a,b,c三个变量的值,输出其中最大的值。(s2-9.c)提示:用条件运算符(?:)实现。(5)输入一个华氏温度,要求输出摄氏温度。公式为c=2贫。精确到小数点后两位数字。(s2-10.c)提示:应用prin tf函数的格式控制中的长度限制。开始(6)从键盘输入两个二位数的正整数a和b,将它们合并形成一个新的整数c输出。合并方 式是:将a数的十位和个位数依次放在c数的十位和千位上,b数的十位和个位数依次放在 c数的百位和个位上。(如:a=35,b=42
21、时,c=5432)(s2-ll.c)提示:考虑如何截取二位数的个位、十位,分别存入相应变量中,再组合输出。输入两个数a,bc=a的个位*1000+a的十位*10C=c+b的个位+b的十位*100输出c(7)输入一个双精度数,对小数点后第2位进行四舍五入,即保留一位小数,输出四舍五入 后的结果。(s2-12.c)提示:四舍五入算法,x=(x+0.05)*10;x=(in t)x;x=x/10;实验3选择结构实验目的(1)掌握c语言的关系运算符、逻辑运算符以及它们的表达式。(2)掌握各种if语句的使用方法。(3)掌握switch语句的使用。(4)掌握嵌套的选择结构。实验内容1.读程序写结果(1)/
22、*s3-l.c*/#in cludemain()(in t a=10;if(a10)prin tf(%d n ,a10);else prin tf(%d n ,a=10);上机前分析结果:实际上机结果:(2)/*s3-2,c*/#in cludemain()(in t a,b,c,d,x;a=c=O;b=l;d=20;if(a)d=d-10;else if(!b)if(!c)x=15;else x=25;prin tf(d=%d n ,d);)提示:当程序中存在嵌套的ifelse结构时,由后向前每一个else都与其前面的最靠近它 的if配对。上机前分析结果:实际上机结果:(3)/*s3-3.c
23、*/#in cludemain()in t x=l,y=O;switch(x)case 1:switch(y)(case O:prin tf(f irst n );break;case l:prin tf(secon d n );break;case 2:prin tf(third n);上机前分析结果:实际上机结果:2.完善程序将用户输入的字母进行大小写转换。(s3-4.c)提示:小写字母W比大写字母,A,大32O接收一个字符,如果是大写字母,将其转换为小 写字母;如果是小写字母,将其转换为大写字母。/*s3_4.c*/#in clude main()(char i;scan f(%c,&i
24、);if(_1)2;else if(3)4;prin tf(%c n ,i);3.程序设计(1)输入一整数,输出它是奇数还是偶数。(s3-5.c)提示:若除2的余数为0则输出偶数,否则输出奇数。图 S3-5.c输入一个数n丫 n是偶数 n输出n是偶 数输出n是奇数(2)输入3个数,输出其中的最大数。(s3-6.c)提示:用scan f函数输入3个变量,用选择语句比较后用prin tf将结果输出。(3)分段函数:(4)输入一个学生的生日(年,月,日:yl,ml,dl);并输入当前的日期(年,月,日:y2,m2,d2);输出该生的实足年龄。(s3-8.c)提示:因为每月的天数不等,所以只要求精确到
25、年月;可设定实足年龄为y3岁零m3个月;参考算法:y3=y2-yl;m3=m2-ml;if(m30)y3-;m3=12-abs(m3);(5)输入学生某门课的成绩,要求输出成绩等级A、B、C、D、E,90分以上为“A”,80-89 分为“B”,70-79 分为“C”,60-69 分为“D”,其他为“E。(s3-9.c)提示:用switch。实现。#in clude main()(in t score,s;char grade;prin tf(in put a score0,100:);scan f(%d,&score);s=score/10;switch(s)(case 10:case 9:g
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 实践 教程
限制150内