c语言实验指导课件_第1页
c语言实验指导课件_第2页
c语言实验指导课件_第3页
c语言实验指导课件_第4页
c语言实验指导课件_第5页
已阅读5页,还剩266页未读 继续免费阅读

下载本文档

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

文档简介

1、概述实验一熟悉C程序的开发环境实验二 常量、变量及数据类型实验三运算符与表达式实验四基本输入、输出实验五选择结构程序设计实验六循环结构程序设计实验七数组实验八字符数组与字符串实验九函数实验十结构体与共用体实验十一指针实验十二文件管理实验十三编译预处理第三部分 上机实验指导第1页,共271页。概 述一、实验目的 C语言程序设计课程上机实验的目的是让学生加深对课堂讲授内容的理解,培养、训练学生程序设计和程序调试的能力。在每个实验中,除了对程序设计提出要求之外,对程序的调试方法也提出具体的要求,这样就可以逐步培养学生分析、判断、改正错误的能力。“程序设计”是一门实践性很强的课程,必须十分重视实践环节

2、,必须保证有足够的上机实验时间,最好能做到授课学时与实践学时之比为11。除了教学所安排的上机时间以外,还应当提倡学生多上机实践。C语言程序设计课程上机实验的目的可以概括为如下几个方面。第2页,共271页。1. 加深对讲授内容的理解课堂上要讲授许多关于C语言的语法规则,只记住这些语法规则是远远不够的。学习C语言,不仅要熟练掌握其语言本身的特点、语法规则等,而且更重要的是要掌握分析问题、解决问题的方法,即锻炼分析、分解及最终归纳整理出算法的能力。通过多次上机实践就能自然、熟练地理解和掌握。第3页,共271页。2. 熟练使用集成开发环境程序的开发环境包括所用的计算机系统的硬件环境和软件环境。一个C语

3、言源程序总是在一定的硬件和软件环境支持下运行的。读者必须了解所使用计算机系统的基本操作方法,了解在该系统上如何编辑、编译、连接和运行一个C语言程序。第4页,共271页。3. 学会调试程序的一般方法在程序设计中,要求掌握如何编写程序并上机调试通过。因此,调试程序本身是程序设计课程一个重要的内容和基本要求。调试程序中,要善于发现程序中的错误,并且能很快地排除这些错误,使程序能正确运行。调试程序固然可以学习借鉴他人的经验,但主要还是要通过自己的直接实践来积累经验,而且有些经验是只可意会不可言传的,别人的经验不能代替自己的经验。调试程序的能力是每个程序设计人员应当具备的一项基本能力。第5页,共271页

4、。C语言程序设计的学习必须灵活主动。也就是说,在做实验时千万不要在程序通过后就认为完成任务了,而应当在已通过的程序基础上做些改动,再进行编译、链接和运行。有时候还需要设计一些测试的数据来验证程序是否正确,这样的学习才会有真正的收获。第6页,共271页。二、实验要求上机实验一般经历上机前的准备(编程)、上机调试运行和实验后的总结三个步骤。1. 上机实验前的准备工作在上机实验前应做好准备工作,以提高上机实验的效率。准备工作主要包括以下几个方面:(1) 了解所用的计算机系统(包括C编译系统)的性能和使用方法。(2) 复习与本实验有关的教学内容,掌握本章的主要知识点。第7页,共271页。(3) 按任课

5、教师的要求独立完成上机程序的编写。手写程序应整齐清晰,并进行人工检查。(4) 对程序中有疑问且不能独立解决的地方,应做出标记,以便在上机时给予注意或求助于实验指导教师。(5) 准备好运行、调试和测试所需的数据。(6) 准备实验报告。第8页,共271页。2. 上机实验的步骤及实验内容安排上机实验时应该一人一组,独立上机。一般上机实验的步骤如下:(1) 启动操作系统。(2) 进入C工作环境(例如:Turbo C 2.0、Turbo C+ 3.0、Visual C+ 6.0或Win-TC集成环境)。(3) 输入自己编好的程序代码。(4) 人工检查一遍已输入的程序是否有错,发现有错,应及时改正。第9页

6、,共271页。(5) 进行编译和链接。如果在编译和链接过程中发现错误,屏幕上会出现“报错信息”,根据提示找到出错的位置和原因,并及时加以改正,然后再进行编译和链接。如此反复,直到顺利通过为止。(6) 运行程序并分析运行结果是否合理和正确。在运行时要注意,当输入不同的数据时所得到的结果是否正确。(7) 输出程序清单和运行结果。(8) 对程序的运行过程进行记录和思考,并记载在实验报告上。第10页,共271页。实验内容的安排可根据习题量的多少和上机时间的长短,教师可以指定习题的全部或一部分作为上机实验题。本书共包括13个实验,每个实验对应于本书配套教材(C语言程序设计,柴世红主编,西安电子科技大学出

7、版社2011年2月出版)中一个完整的知识内容,并包括多个备选的实验题目,题目设计由易到难、由浅入深,在每个完整的知识点后增加了实验思考题,使学生能更深刻地理解和掌握程序设计的算法和思想,在组织上机实验时可以根据条件做必要的调整,增加或减少某些部分的内容。学生应在实验前将教师指定的题目编好程序,然后上机输入和调试。有些题目的算法可能不止一种,学生应该尝试使用多种算法解决同一个问题,并比较不同算法的优劣。第11页,共271页。3. 整理实验结果并写出实验报告实验结束后,要整理实验结果并进行认真分析和总结,根据教师要求写出实验报告。书写实验报告是整个实验过程的一个重要环节。通过写实验报告,可以对整个

8、实验作一个总结,然后不断积累经验,提高程序设计和调试的能力。实验报告主要包含以下内容:(1) 实验目的。实验的目的就是深入理解和掌握课程教学中的有关基本概念,应用基本技术解决实际问题,从而进一步提高分析问题和解决问题的能力。因此,学生必须明确实验的目的。第12页,共271页。(2) 实验内容。每个实验都安排了多个实验题目,学生事先必须作好准备,每个实验大约2学时做完,学生按照老师的要求完成指定的实验题目。(3) 算法分析及主要语句说明。本书中实验的安排由易到难,对一些有难度的题目给出了算法分析和程序注释。在写实验报告时,对于书中未给出算法分析的题目,自己要给出算法分析及主要语句的说明。 (4)

9、 完整的程序清单。需提供完整、清晰的程序代码。(5) 分析与思考。这部分的内容包括:调试过程中遇到的问题及解决办法;调试程序的心得与体会;对于最终未完成调试的题目,要认真找出错误并分析原因等。第13页,共271页。实验一 熟悉C程序的开发环境一、实验目的1. 熟悉Turbo C 2.0 集成开发环境。2. 熟悉Visual C+6.0集成开发环境。3. 熟悉Win-TC集成开发环境。4. 通过运行简单的C程序,初步了解C源程序的结构。第14页,共271页。二、实验要求1. 实验前要认真预习本实验内容,明确本实验的目的和要求,熟悉实验内容和步骤。2. 实验中充分利用时间进行程序输入和调试工作,善

10、于提出问题。3. 实验完成后要立即对实验过程进行总结,对于没有解决的问题要记载,要认真写好实验报告。4. 本实验要求2学时完成。第15页,共271页。三、实验内容和步骤题目1:在Turbo C 2.0 集成开发环境中输入并运行下面的程序,这个程序的功能是在屏幕上输出一行信息。#include#include main( ) printf(Hello,World!n); system(pause);第16页,共271页。代码说明:为了方便,对程序的每一行都加了一个行号,即每一行最前面的编号,表示此行代码所在的行数,在实际程序编写过程中不需要写出来。 第01行,编译预处理命令,包含标准输入输出头文

11、件stdio.h,因为第05行用到了格式化输出函数printf( )。 第02行,编译预处理命令,包含标准库函数头文件stdlib.h,因为第06行用到了系统函数system(pause),用来暂停以查看屏幕,并不是完成题目要求要必须用到的语句。另外还可用getch( ) 函数来暂停以查看屏幕,用getch( ) 函数时包含头文件conio.h。第17页,共271页。Turbo C 2.0作为在DOS和Windows操作系统上学习C语言程序设计的练习平台,具有操作简单、界面清晰的特点,是C程序设计语言初学者较常用的平台。Turbo C 2.0对计算机的要求低,并且编译、链接的速度快,对于程序练

12、习和一般的程序开发都很合适。它的缺点就是不支持鼠标操作,也不能同时编辑多个文件,而且不能使用汉字。下面是Turbo C 2.0中C程序的编写步骤:第18页,共271页。(1) 进入Turbo C 2.0集成开发环境:打开“我的电脑”,进入Turbo C 2.0所在的根目录C盘(或其他盘),找到TC(或Turbo C 2)文件夹,双击进入此文件夹,再找到TC.EXE,双击打开如图3-1所示的界面。可以看到,这个界面从上到下分成四个区域。最上面一行是Turbo C 2.0的主菜单,每个菜单项的首字母大写并红色显示,按“Alt+红色字母”就可以打开相应的下拉菜单。主菜单下面比较大的区域就是源程序编辑

13、区,编好的源程序就要输到这个区域。源程序编辑区下面是信息窗口,显示编译或链接时的信息。信息窗口下面是参考行,给出了一些操作提示信息。第19页,共271页。图3-1 Turbo C 2.0集成开发环境界面第20页,共271页。(2) 新建文件:按快捷键“Alt+F”,弹出“File”下拉菜单,选中“New”命令,按回车键,新建文件完成,如图3-2所示。图3-2 新建文件第21页,共271页。(3) 输入源程序:从光标所在处开始输入源程序,如图3-3所示。图3-3 在编辑区输入源程序第22页,共271页。(4) 保存源程序:按键盘上快捷键“Alt+F”,弹出“File”下拉菜单,用方向键选中“Wr

14、ite to”命令,按回车键,此时弹出重命名对话框,对源程序文件进行重命名(包括路径)。学生可以先在D盘(或E盘)下新建一个以自己的学号或自己名字的拼音命名的文件夹,然后将源程序保存在这个文件夹里。例如输入“E:2010hello.C”,按回车键,如图3-4所示。第23页,共271页。图3-4 保存源程序第24页,共271页。(5) 编译、链接、执行源程序:按快捷键“Ctrl+F9”或执行“Run”菜单下的“Run”命令,如图3-5所示。图3-5 编译、链接、执行源程序第25页,共271页。(6) 查看结果:如果没有编译或链接错误,将出现如图3-6所示的运行结果;如果有错误,则会在消息框给出错

15、误提示信息。图3-6 运行结果第26页,共271页。按任意键将返回源程序编辑界面,若要再次查看结果,可按快捷键“Alt+F5”或执行“Run”菜单下的“User screen”命令。【注意】 如果实验的上机环境是Turbo C 2.0 集成开发环境,学生在以后的实验中可以将自己编写的程序放在一个专门的文件夹里,以便于集中管理和查看。可以按照以下步骤进行操作:第27页,共271页。 在D盘创建一个以自己的学号命名的文件夹,例如D:20100001。 然后在这个文件夹中创建TC.EXE的快捷方式。 用记事本编辑C语言源程序,并保存成*.C的文件(例如1-1.C),如图3-7所示。第28页,共271

16、页。图3-7 TC快捷方式和记事本编辑的源程序第29页,共271页。 用鼠标左键将1-1.C的文件拖曳至TC.EXE快捷方式,即可打开Turbo C 2.0集成开发环境,如图3-8所示。其余操作方法与前面介绍的相同。图3-8 将记事本编辑的源程序拖曳至TC快捷方式第30页,共271页。 如果要将相应的可执行文件和目标文件都放在D:20100001中,可以进行如下设置:按快捷键“Alt+O”,打开“Options”菜单,用方向键选中“Directories”,按回车键;接下来选中“Output directory”,按回车键,在弹出的设置框里输入“D:20100001”,按回车键,最后退出菜单。

17、这样就把.EXE和.OBJ文件的存放目录设置成了D:20100001,如图3-9所示。第31页,共271页。图3-9 设置输出文件的路径第32页,共271页。 按快捷键“Ctrl+F9”执行程序,正确无误之后关闭Turbo C 2.0 集成开发环境。此时可以在D:20100001看到生成的1-1.EXE和1-1.OBJ,如图3-10所示。图3-10 执行程序后在输出目录生成的.EXE和.OBJ文件第33页,共271页。 如果实验的上机环境是Turbo C 2.0 集成开发环境,以后的实验都可以按照以上步骤去做。题目2:在Visual C+6.0集成开发环境中输入并运行下面的程序,这个程序的功能

18、是计算12345+5432,并在屏幕上输出。#includemain( ) printf(n12345+5432=%dn, 12345+5432);第34页,共271页。Visual C+6.0是Windows操作系统上主流的可视化C语言集成开发环境,具有使用方便、编程快速的特点,可以使用汉字,有相当多的程序员使用它,是大多数人认为最好的C语言开发环境。同时,全国计算机等级考试二级C语言的上级考试环境就是Visual C+6.0。下面介绍Visual C+6.0中C程序的编写步骤:(1) 进入Visual C+6.0集成开发环境:依次点击“开始菜单所有程序Microsoft Visual C+

19、 6.0Microsoft Visual C+ 6.0”,打开如图3-11所示的界面。第35页,共271页。图3-11 Visual C+6.0集成开发环境界面第36页,共271页。(2) 创建工作空间:执行“File”“New”命令;在“New”对话框中,切换到“Workspaces”选项卡;输入工作空间名(Workspaces Name)和保存位置(Location);然后单击“OK”按钮。如图3-12所示。不管开发几个程序,一般每个人只需一个工作空间(当然也可以每个程序一个),主要用于把个人的源码及其相关资源集中在一起,以方便管理。第37页,共271页。图3-12 创建工作空间窗口第38

20、页,共271页。(3) 新建一空白工程:一个工程(或项目),一般是一套软件的源程序及其资源的集合。执行“File”“New”命令;在“New”对话框中,切换到“Projects”选项卡;选中“Win32 Console Appliaction”(Win32控制台应用程序)和“Add to current workspace”(添加到当前的工作空间),输入工程名Project name和保存位置Location;工程名Project name一般要取与程序功能相关的名称,如图3-13所示。然后单击“OK”按钮,弹出如图3-14所示的窗口,单击“An empty project”选项,创建一个空白

21、工程,单击“Finish”按钮,出现新工程信息窗口,如图3-15所示,最后单击“OK”按钮,空白工程创建完成。第39页,共271页。图3-13 设置工程名称窗口第40页,共271页。图3-14 选择空白工程窗口第41页,共271页。图3-15 新工程信息窗口第42页,共271页。(4) 添加、编辑、保存C源程序文件:执行“File”“New”命令;在“New”对话框中,切换到“Files”选项卡;选中“C+ Source File”或者“Text File”,输入文件名(扩展名必须为.c),如图3-16所示,然后单击“OK”按钮。在编辑窗口,输入源程序,并保存,如图3-17所示。第43页,共2

22、71页。图3-16 输入源程序名对话框第44页,共271页。图3-17 保存源程序对话框第45页,共271页。(5) 编译、链接、执行源程序:执行“Build”“Execute”命令,或单击“Execute Program”图标,或按快捷键“Ctrl+F5”,都会弹出如图3-18所示的对话框。然后单击“是”按钮,查看结果。图3-18 编译、链接、执行源程序对话框第46页,共271页。(6) 查看结果:如果没有编译或链接错误,将出现如图3-19所示的运行结果;如果有错误,则会在消息框给出错误提示信息。图3-19 运行结果第47页,共271页。(7) 退出VC+ 6.0环境。方法如同一般Windo

23、ws窗口的退出。题目3:在Win-TC集成开发环境中输入并运行下面的程序,这个程序的功能是在屏幕上输出星号组成的图案。第48页,共271页。01#include02#include 03main( )0405printf( *n);06printf( *n);07printf( *n);08printf( *n);09getch( );10第49页,共271页。代码说明: 第01行,编译预处理命令,包含标准输入输出头文件stdio.h,因为第06行用到了格式化输出函数printf( )。 第02行,编译预处理命令,包含头文件conio.h,因为第10行用到了getch( )函数来暂停以查看屏幕

24、。 第05行到第08行,直接用格式化输出函数printf( )打印出星号图案。第50页,共271页。Win-TC集成开发环境是Turbo C 2.0编译外壳程序,该软件的特点就是在Windows下编辑TC源程序,能够充分利用Windows的支持剪贴板和中文的优点。与本书配套的教材中所有示例程序均是通过Win-TC集成开发环境调试通过。下面是Win-TC集成开发环境中C程序编写的步骤:(1) 进入Win-TC集成开发环境:依次点击“开始菜单所有程序Win-TCWin-TC”,打开如图3-20所示的窗口,然后单击“知道了”按钮,打开Win-TC界面,如图3-21所示。第51页,共271页。图3-2

25、0 操作系统检测警告窗口第52页,共271页。图3-21 Win-TC集成开发环境界面第53页,共271页。图3-20的窗口给出了一个规范的C语言源程序的范例。main( )函数的返回值类型可以定义为int型,程序可以给操作系统返回一个整数值。所以,一般不要将main( )函数的返回值类型写成void类型。在Win-Tc环境中编写程序,源程序末尾必须要加getch( )或者system(pause)函数才能够看到屏幕输出的结果。而在前面介绍的Turbo C 2.0环境或Visual C+ 6.0环境中都可以不加getch( )或者system(pause)函数。在Turbo C 2.0环境中可

26、以用快捷键“Alt+F5”来查看屏幕。第54页,共271页。(2) 新建文件:执行“文件”“新建”命令,如图3-22所示。图3-22 新建文件窗口第55页,共271页。(3) 输入源程序:从光标所在处开始输入源程序,如图3-23所示。图3-23 在编辑区输入源程序窗口第56页,共271页。输入源程序时,每一行代码前都有自动生成的行号。编辑时还可以使用复制、粘贴操作,所以会加快程序编辑的速度。编辑菜单下有编辑配置命令,可以设置编辑时的一些属性,例如“颜色和字体设置”等。(4) 保存源程序:执行“文件”“保存文件”命令,如图3-24所示。在“另存为”对话框中选择合适的路径并输入文件名,点击“保存”

27、按钮。第57页,共271页。图3-24 保存源程序对话框第58页,共271页。(5) 编译、链接、执行源程序:按快捷键“Ctrl+F9”或执行“运行”菜单下的“编译链接并运行”命令,如图3-25所示。图3-25 编译、链接、执行源程序对话框第59页,共271页。(6) 查看结果:如果没有编译或链接错误,将出现如图3-26所示的运行结果;如果有错误,则会在消息框给出错误提示信息。(7) 按任意键将返回源程序编辑界面。图3-26 运行结果第60页,共271页。四、实验思考题1. 如何用记事本编辑源程序,然后在Turbo C 2.0 集成开发环境中被调用?2. 简述C语言源程序的结构。第61页,共2

28、71页。实验二 常量、变量及数据类型一、实验目的1. 掌握C语言的数据类型,熟悉整型、字符型、实型数据的常量表示。2. 掌握如何定义一个整型、字符型、实型变量,以及对它们赋值的方法。3. 了解数据的溢出错误和舍入误差。4. 进一步熟悉C程序的编辑、编译、链接和运行的过程。第62页,共271页。二、实验要求1. 实验前复习常量、变量、数据类型的基本概念以及常量、变量的表示方法。2. 认真预习本实验内容。3. 本实验要求2学时完成。三、实验内容和步骤题目1:输入并运行下面的程序。(1) 定义两个整型变量并初始化,同时将其相加之和显示出来。第63页,共271页。01#include02#includ

29、e0304main( )0506int x=10, y=100,z;0708z=x+y;09printf(z=%d,z);1011system(pause);12第64页,共271页。步骤:打开Turbo C 2.0环境,新建文件,输入源程序,按快捷键“Ctrl+F9”运行程序并查看结果。(2) 从键盘输入一个整数,并将其值加1,然后显示出来。01#include02#include 0304main( )0506int x;07第65页,共271页。08scanf(%d,&x);09+x;10printf(%d,x);1112system(pause);13步骤:打开Turbo C 2.0环

30、境,新建文件,输入源程序,按快捷键“Ctrl+F9”运行程序并查看结果。第66页,共271页。步骤:打开Turbo C 2.0环境,新建文件,输入源程序,按快捷键“Ctrl+F9”运行程序并查看结果。题目2:上机调试下列程序,分析出运行结果,并与上机运行结果作对比。第67页,共271页。01#include02#include0304main( )0506float x=45.982;0708printf(x=%fn,x);0910system(pause);11第68页,共271页。题目3:字符数据的输出,分析出运行结果,并与上机运行结果作对比。01#include02#include030

31、4main( )0506char c=A;0708printf(c=%cn,c);09printf(c=%dn,c);1011system(pause);12第69页,共271页。题目4:上机调试下列程序,分析出运行结果,并与上机运行结果作对比。01#include02#include0304main( )0506int x=32767,y= -32768;07 第70页,共271页。08printf(x=%dn,x);09printf(x+1=%dn,x+1);10printf(y=%dn,y);11printf(y-1=%dn,y-1);1213system(pause);14第71页,共

32、271页。题目5:用sizeof运算符求出本编译系统中各种数据类型所占内存字节数,分析出运行结果,并与上机运行结果作对比。01#include02#include0304main( )0506printf(sizeof(int)=%dn,sizeof(int);07printf(sizeof(short)=%dn,sizeof(short);第72页,共271页。08printf(sizeof(long)=%dn,sizeof(long);09printf(sizeof(float)=%dn,sizeof(float);10printf(sizeof(double)=%dn,sizeof(do

33、uble);11printf(sizeof(char)=%dn,sizeof(char);1213system(pause);14第73页,共271页。四、实验思考题1. 为什么C语言中的每个数据都要属于一个特定的类型?2. 使用计算机编写程序时如何选择合适的数据类型?3. 计算机中表示的数是连续的吗?4. 实型数据存储时为什么会有误差?第74页,共271页。实验三 运算符与表达式一、实验目的1. 掌握C语言算术、赋值、自增、自减运算符及相应表达式。2. 掌握C语言关系、逻辑运算符及相应表达式。3. 掌握不同类型数据之间的赋值规律。4. 了解强制数据类型转换以及运算符的优先级、结合性。5. 学

34、会根据表达式编写相应程序,验证表达式结果的方法。第75页,共271页。二、实验要求1. 实验前复习各种运算符的作用以及表达式的值的类型。2. 认真预习本实验内容。3. 本实验要求2学时完成。第76页,共271页。三、实验内容和步骤题目1:已知:a=5,b=6,x=8.7,y=3.4(a,b整型,x,y浮点),计算算术表达式(float)(a+b)/2+(int)x%(int)y的值。试编程上机验证。 先判断结果值类型,可设置一个此类型的变量用于记录表达式结果,本例用s存放结果; 程序先给几个变量赋初值,然后将表达式赋值给变量s; 最后打印变量s的值就是表达式的值。第77页,共271页。01#i

35、nclude02main( )0304int a=5,b=6;05float x=8.7,y=3.4;06double s;07s=(float)(a+b)/2+(int)x%(int)y;08printf(float)(a+b)/2+(int)x%(int)y=%fn,s);09getch( );10第78页,共271页。题目2:已知:a=10,x=8.3,y=5.9(a整型,x,y浮点),计算算术表达式x+a%3*(int)(x+y)%2/4的值。试编程上机验证。01#include02main( )03 04int a=10; 05float x=8.3,y=5.9; 06double

36、s; 07s=x+a%3*(int)(x+y)%2/4; 08printf(x+a%3*(int)(x+y)%2/4=%fn,s); 09getch( );10第79页,共271页。题目3:自增、自减运算符练习。分析下面程序结果,并上机验证。01#include02main( )0304int a=5,b=6;05float x=8.7,y=3.4;06printf(%dt%dn,+a,b+a+);07printf(%ft%fn,-y,x+y-);08第80页,共271页。题目4:赋值表达式练习。分析下面程序结果,并上机验证。01#include02main( )03 04int a,b; 0

37、5float x,y; 06x=y=b=a=3; 07a+=a;第81页,共271页。 08y-=2; 09b*=2+3; 10 x/=x+x; 11a%=(b%=2); 12a+=a-=a*=a; 13printf(%dt%dn,a,b); 14printf(%ft%fn,x,y); 15第82页,共271页。题目5:关系表达式练习。编程判断两个分数12/345678999与34/567899999哪个大?01#include02main( )03 04double x,y; 05x=12./345678999; 06y=34./567899999; 07printf(xy)=%dn,xy)

38、; 08第83页,共271页。题目6:问号表达式练习。分析下面程序结果,并上机验证。01#include02main( )03 04int a=5,b=6;05float x=8.7,y=3.4; 06printf(xy?x:ab?a:b=%fn,xy?x:ab?a:b);07第84页,共271页。题目7:逻辑表达式练习。分析下面程序结果,并上机验证。01#include02main( )0304char c; /*定义字符变量c */05printf(please input a charactern); /*输出信息*/06scanf(%c,&c); /*从键盘输入字符*/07c= (c=

39、a & c=z)?(c-32):c ; /*条件运算符使用*/08printf(%cn,c); /*输出结果*/09第85页,共271页。题目8:逗号表达式练习。分析下面程序结果,并上机验证。01#include02main( )0304int a,b,c,d;05a=2,b=3,c=4;06d=a,printf(a=%dnb=%dnc=%dnd=%dn,a,b,c,d);07第86页,共271页。四、实验思考题1. 总结赋值转换原则。2. 什么是自动转换和强制转换?第87页,共271页。实验四 基本输入、输出一、实验目的1. 掌握格式输入函数scanf( )函数输入各种类型数据的方法。2.

40、掌握格式输出函数printf( )函数输出各种类型数据的方法。3. 掌握字符输入、输出函数getchar( )和putchar( )的使用方法。4. 理解C语言程序的顺序结构。第88页,共271页。二、实验要求1. 实验前复习基本输入、输出函数的用法。2. 认真预习本实验内容。3. 本实验要求2学时完成。三、实验内容和步骤题目1:用下面的scanf( )函数输入数据,使a=3,b=7,x=8.5,y=71.82,c1=A,c2=a 。请问在键盘上如何输入?正确输入各数据后,请给出运行结果。第89页,共271页。01#include02#include0304main( )0506int a,b

41、;07float x,y;08char c1,c2;09第90页,共271页。10scanf(a=%db=%d,&a,&b);11scanf(%f%e,&x,&y);12scanf(%c%c,&c1,&c2);13printf(a=%d,b=%d,x=%f,a,b,x);14printf(y=%f,c1=%c,c2=%cn, y,c1,c2);1516system(pause);17思考:如果第三个scanf( )函数双引号里面去掉空格字符,写成:scanf(%c%c,&c1,&c2); 按以上的内容输入,输出将如何变化?第91页,共271页。题目2:编写程序,在屏幕上输出下列字符串。Hell

42、o,world!f:testa.txtShe says:I like the C programming language! 参考程序如下:01#include02#include 0304main( )第92页,共271页。0506printf(Hello,world!n);07printf(f:testa.txtn);08printf(She says:I like the C programming language!n);0910system(pause);11第93页,共271页。题目3:字符数据的输入、输出。从键盘输入一个英文小写字母,然后输出对应的大写字母。试着完成下面的程序,并

43、查看运行结果是否正确。01#include02#include0304main( )0506char c; 07第94页,共271页。08printf(Please input a alphabet:n);09【1】 =getchar( );10putchar( 【2】 );11putchar(n);1213system(pause);14第95页,共271页。题目4:(教材例4-8的程序)输入一名学生的学号(7位数字)、生日(年-月-日)、性别(M:男;F:女)及三门功课(语文、数学、英语)的成绩,现要求计算该学生的总分和平均分,并将该学生的全部信息输出(包括总分、平均分)。输入、输出的形式

44、如图3-27所示。图3-27 题目4运行结果第96页,共271页。题目5:已知三角形三边长分别为8,9,10,求此三角形的面积。要求:程序填空并写出运行结果。01#include02#include03#include 0405main( )06 07int a=8,b=9,c=10;第97页,共271页。08double s,aera;0910s=(a+b+c)/ 【2】 ;11aera=sqrt(s*( 【3】 )*( 【4】 )*( 【5】 );12printf(The aera of this triagle is:%.3fn, 【6】 );13putchar(n);1415syste

45、m(pause);16第98页,共271页。四、实验思考题1. 用scanf( )接收多个数值型数据时,有哪些分隔数据项的方法?2. 用scanf( )如何正确输入多个字符型数据,有哪些方法?3. 用scanf( )如何正确接收多个字符串数据,有哪些方法?4. 如果字符串中有空格,能否用scanf( )函数输入?第99页,共271页。实验五 选择结构程序设计一、实验目的1. 了解C语言表示逻辑量的方法(以0代表“假”,以非0代表“真”)。2. 学会正确使用逻辑运算符和逻辑表达式,熟练掌握if语句和switch语句。3. 结合程序掌握一些简单的算法。第100页,共271页。二、实验要求1. 做实

46、验前复习关系表达式、逻辑表达式和if语句、switch语句。2. 认真预习本实验内容。3. 本实验要求4学时完成。第101页,共271页。三、实验内容和步骤题目1:将下列由程序流程图(见图3-28)描述的算法,转换为C源代码,然后输入计算机并运行。图3-28 程序流程图第102页,共271页。题目2:输入一个整数,打印出它是奇数还是偶数。要求:程序填空,上机运行并写出运行结果。参考程序如下:01#include 02#include 03main( )04 05int a;06rintf(“nPlease input a integer:n”);第103页,共271页。07scanf(%d,

47、【1】 );08if ( 【2】 )09printf(It is an odd number.n );10else11printf(It is an even number.n);12getch( );13第104页,共271页。题目3:计算如下分段函数值:具体要求如下: 用if语句实现分支。自变量x与函数值均用单精度类型。第105页,共271页。 自变量x用scanf( )函数输入,且输入前要有提示。结果的输出采用以下形式:x=具体值,f(x)=具体值 程序填空,上机运行并分别输入x=-5.0,-3.0,1.0,2.0,2.5,3.0,5.0,运行该程序,并写出运行结果。01#include

48、 02#include 03main( )04 05float x,y;第106页,共271页。06printf(nPlease input float x:n);07scanf(%f, 【1】 );08if ( 【2】 )09y=x*x+x-6;10else if( 【3】 )11y=x*x-5*x+6;12else13y=x*x-x-1;14printf(nx=%g , f(x)=%gn,x,y);15getch( );16第107页,共271页。题目4:输入一个年份,判断是不是闰年。闰年的条件有两个: 能被4整除,但不能被100整除; 能被400整除。要求:程序填空并写出运行结果。参考程

49、序如下:01#include 02#include 03main( )04 第108页,共271页。05int year;06printf(nPlease input a year:n);07scanf(%d, 【1】 );08if(year%4=0&year%100!=0| 【2】 =0)09printf(%d is leapnn, 【3】 );10else 11printf(%d is not leapnn, 【4】 );12getch( );13第109页,共271页。题目5:由键盘输入3个整数,判断以此3个数为边长的三角形属于什么类型(不等边、等腰、等边或不能构成三角形)。要求:程序填

50、空,并写出运行结果。参考程序如下:01#include 02#include 03 04 main( ) 05 第110页,共271页。06int a,b,c;07printf(nPlease input a,b,c:n);08scanf(%d%d%d, 【1】 );09if( 【2】 )10if( 【3】 )11printf(“It is an equillateral triangle.n” ); /*输出是等边三角形*/12else if( 【4】 )13printf(“It is an isosceles triangle.n” ); /*输出是等腰三角形*/第111页,共271页。1

51、4else 15 printf(It is a scalene triangle.n ); /*输出是不等边三角形*/16else 17 printf(It is not triangle!n); /*输出不是三角形*/1819 getch( );20 第112页,共271页。题目6:根据百分制分数决定成绩等级如下: 80分(含)以上为A级。 70分(含)以上且80分以下为B级。 60分(含)以上且70分以下为C级。 60分以下为D级。用多分支语句if-else if和switch两种方法编写程序,输入一个百分制分数,输出相应的等级。要求:程序填空,并写出运行结果。第113页,共271页。方法

52、一:01#include 02#include 03main( )04 05float score;06char rank;07printf(nPlease input a score:n);08scanf(%f, 【1】 );09if( 【2】 )10第114页,共271页。11printf(Input error!n ); /*输入错误*/12getch( );13exit(0); /*结束程序*/1415else if( 【3】 )16rank=A;17else if( 【4】 )18rank=B;第115页,共271页。19else if( 【5】 )20 rank=C;21 else

53、 22 rank=D;23 printf(%g is rank %c.n,score,rank);24 getch( );25第116页,共271页。方法二:01#include 02#include 03main( )04 05float score;int x;06char rank;07printf(nPlease input a score:n);08scanf(%f, 【1】 );09x=(int)score/10;第117页,共271页。10if(score100)11 x=11; 12 switch(x) 13 14 case 10:15 case 9:16 case 8: ra

54、nk= 【2】 ;break;17 case 7: rank= 【3】 ; break;18 case 6: rank= 【4】 ; break;第118页,共271页。19case 5:20 case 4:21 case 3:22 case 2:23 case 1:24case 0: rank= 【5】 ; break;25 default:printf(Input error!n ); /*输入错误*/26 getch( );27 exit(0); /*结束程序*/28 29 printf(%g is rank %c.n,score,rank);30 getch( );31第119页,共2

55、71页。题目7:由键盘输入3个整数,按降序打印这3个数。请编写程序并上机调试。四、实验思考题如何判断一个数n能否被3和5整除。第120页,共271页。实验六 循环结构程序设计一、实验目的1. 掌握在设计条件型循环结构时,如何正确地设定循环条件。2. 掌握如何正确地控制计数型循环结构的循环次数。3. 练习并掌握选择结构与循环结构的嵌套、多重循环的应用。4. 掌握在程序设计中用循环的方法实现一些常用算法,加强调试程序的能力。第121页,共271页。二、实验要求1. 复习while、do-while、for语句和continue、break语句。2. 能够用流程图表示实验题目的算法。3. 能够独立调

56、试运行实验题目。4. 本实验要求4学时完成。第122页,共271页。三、实验内容和步骤题目1:分别用while循环和for循环计算:1+2+3+100=?要求:写出程序并上机查看运行结果。题目2:输入一行字符,分别统计出其中大小写英文字母、空格、数字和其他字母的个数。要求:程序填空,并写出两组运行结果。第123页,共271页。01#include 02#include 03#include 04main( )05 06char c;07int letter=0,capital=0,lower=0,space=0,digital=0,other=0;08printf(ninput a line

57、character :n); 09while(c=getchar()!=n)第124页,共271页。1011if( 【1】 ) /*统计大小写字母的个数*/12 13 letter+; 14 if ( 【2】 ) 15 lower+; /*统计小写字母的个数*/16 17 else if( 【3】 )第125页,共271页。18 space+; /*统计空格的个数*/19 else if( 【4】 )20 digital+; /*统计数字的个数*/21 else22 other+; /*统计其他字符的个数*/23 24 capital=letter-lower;25 printf(Letter

58、: %d (Capital: %d Lowercase: %d)n,letter,capital,lower);第126页,共271页。26printf(Spaces: %dnDigital : %dnOther : %dn,space,digital,other);27getch( );28第127页,共271页。题目3:求两个正整数的最大公约数和最小公倍数。分析:求两个正整数的最大公约数采用辗转相除法: 输入正整数m和n,保证m不小于n。 如果n0,则求r=m%n,然后m=n,n=r;重复此操作直到n=0。 如果n=0,则此时m就是最大公约数,而最小公倍数是这两数之积除以这两个数的最大公约

59、数得到的商。要求:程序填空,并写出两组运行结果。第128页,共271页。01#include 02#include 03main( )0405int m,n,r,a;06 printf(nInput 2 positive integer:n);07scanf(%d%d, 【1】 );08a= 【2】 ;09if(mn)10 第129页,共271页。11m=m+n;12 n=m-n;13 m=m-n; 14 15 while(n!=0)16 17 r= 【3】 ;18 m=n;19 n=r;20 第130页,共271页。21printf(“The largest divisor is : %dn

60、”, 【4】 ); /*输出最大公约数*/22printf(“The smallest common multiple is : %dn”,a/m); /*输出最小公倍数*/23 getch( );24 第131页,共271页。题目4:在屏幕上打印出下三角的乘法表,如图3-29所示。试着完成下面的程序,并查看运行结果是否正确。图3-29 乘法表第132页,共271页。01#include 02#include 03main( )0405 int i,j;06 for(i=1;i=9;i+)07 08 for(j=1; 【1】 ;j+)09 printf(%d*%d=%-4d,i,j, 【2】

温馨提示

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

评论

0/150

提交评论