




免费预览已结束,剩余59页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言程序设计能力标准:1 了解C语言的作用;2 熟悉C程序结构;3 掌握TC集成调试环境的使用。知识点:1 C语言是人和计算机交流的一种工具;2 C语言程序的执行过程。模块一 认识C语言1C语言的发展计算机语言是计算机和人交流的工具,必须遵守一定的规则,具有一定的书写格式。C语言就是一种计算机语言,诞生于1972年,是由美国电话电报公司(AT&T)贝尔实验室的Dennis.M.Ritchie设计。C语言诞生至今已30多年,其发展经历了ALGOL(1960年)CPL(1963年)B(1970年)C(1972年)的演变过程。2人机交流人和计算机交流可以采用对话形式的一问一答方式,也可采用任务方式,即把需要交流的内容集中在一起,一次性完成。前者的专业述语叫解释方式,后者叫编译方式。用C语言进行人和计算机交流采用的是编译方式。具体过程如下:#include main() float m,k,j;k=5;m=1;for(j=1;j=k;j+) m=m*j;printf(“%f !=%fn”,k,m); 编程 首先人将和计算机交流的内容按要求,用C语言写成任务,如要计算机计算5!,则需要写出以下任务:上述用C语言表示的任务,称为程序。所谓程序指由一系指令组成,完成某个具体功能的指令集合。 编译 计算机本身是一堆零件,它只知道高低电平,对应到二进制就是“0”和“1”这两个符号,当然它是不认识我们用上述符号写成的程序,因此我们需要将上述程序进行转换,转换成由“0”和“1”的组合来表示的二进制程序,也就是机器语言程序。我们把这样的转换称之为编译。 连接 为了方便程序的编写,专业人员已经将许多常用的功能写成了固定的程序,并已进行编译,我们在编写实际应用程序时可以直接使用现成的功能程序,这些功能程序要和用户编写的程序连接起来,形成最终计算机能够执行的机器语言程序。 执行 经过上述三步之后生成的机器语言程序,在Turbo C系统中称为目标程序,把目标程序交给计算机,计算机在操作系统的支持下,就能按人的要求实现相应的功能,就是执行程序,并把执行的结果输出在输出设备上,供人来阅读,从而实现人机交流。编程.c编译.exe.obj连接执行输出结果键盘输入图1.1 人机交流的过程为了区别不同过程中生成的不同对象,计算机中用不同的文件扩展名来表示,编程阶段生成的文件扩展名是.c,编译阶段生成的文件扩展名是.obj,连接阶段生成的文件扩展名是.exe。以上过程可用图1.1表示。3C语言程序的基本结构/*求圆的面积*/#include main() float r,s; /*定义变量r,s表示圆的半径和面积*/r=5.365; /*给半径赋值*/s=3.14*r*r; /*计算面积*/printf(“s=%fn”,s); /*输出面积*/ 下面通过几个C语言程序的实例,介绍C语言程序的基本构成和书写格式。【例1-1】已知圆的半径,请编程求圆的面积。【例1-2】/*求两个整数中的大数*/#include main() int num1,num2,m; /*定义变量num1,num2和m*/scanf(“%d%d”,&num1,&num2); /*输入两个整数*/m=max (num1,num2); /*调用max函数求大数存入m变量*/printf(“max=%dn”,m); /*输出大数*/ /*用户设计的函数max*/int max(int x,int y)if(xy)return x; /*比较返回大数*/ else return y; 请编程求两个整数中的大数。结合以上示例,可见C语言程序由以下几部分组成:1 C语言程序由函数组成,每个函数完成相对独立的功能,函数是C语言程序的基本模块单元。main和max是函数名,x,y是函数max的形式参数;2 一个C语言程序总是从main函数开始执行,main函数执行结束,程序执行即结束;3 C语言程序的开头部分一般是编译预处理命令(如#include,#define命令)和全局变量的定义语句。4C语言程序的书写格式1 C语言的语句以分号“;”作为语句结束标志;2 每行通常写一条语句,一行也可写多条语句,长语句也可分在多行书写;3 为了使程序更加清晰,便于阅读,采取缩进书写格式,不同一层次的语句依次缩进两个字符或者一个水平制表符;4 注释由“/*”开始,由“*/”结束;5 复合语句由“”括起来;6 编译预处理命令后不加“;”。5人机交流过程的演示(TC集成调试环境的使用)Turbo C 是美国Borland 公司的产品,Borland公司是一家专门从事软件开发、研制的大公司。该公司在1987年首次推出Turbo C 1.0 产品,其中使用了全然一新的集成开发环境,即使用了一系列下拉式菜单,将文本编辑、程序编译、连接以及程序运行一体化,大大方便了程序的开发。Turbo C 2.0 则是该公司1989年出版的,Turbo C 2.0在原来集成开发环境的基础上增加了查错功能,并可以在Tiny模式下直接生成.com (数据、代码、堆栈处在同一64K 内存中) 文件,还可对数学协处理器 (支持8087/80287/80387等)进行仿真。使用Turbo C 2.0可以进行C语言源程序的编辑、编译、连接和运行,方便用户程序的调试。5.1 Turbo C 2.0基本配置要求 Turbo C 2.0可运行于IBM-PC系列微机,包括XT,AT及IBM 兼容机。 此时要求DOS 2.0或更高版本支持,并至少需要448K的RAM,可在任何彩、单色80列监视器上运行。支持数学协处理器芯片,也可进行浮点仿真,这将加快程序的执行。5.2 Turbo C 2.0的启动 在DOS系统下Turbo C 2.0安装完毕,将在C盘根目录下建立一个TC子目录,TC下还建立了两个了目录LIB和INCLUDE,LIB子目录中存放库文件,INCLUDE子目录中存放所有头文件。运行Turbo C 2.0时,只要在TC子目录下键入TC并回车即可进入Turbo C 2.0集成开发环境。5.3 Turbo C 2.0窗口介绍 进入Turbo C 2.0集成开发环境中后,屏幕上显示如图1.2的TC工作窗口。其中顶上一行为Turbo C 2.0 主菜单,中间窗口为编辑区,接下来是信息窗口,最底下一行为参考行。这四个窗口构成了Turbo C 2.0的主屏幕,以后的编程、编译、调试以及运行都将在这个主屏幕中进行。5.4 C语言程序的编辑1编辑一个新文件图1.2 TC工作窗口主菜单编辑区信息窗口参考行如果要输入或编辑一个新的C语言程序,应该先选File菜单,然后选择子菜单new,编辑窗口被清空,光标定位在左上角(Line 1、Col 1),这时注意默认的文件名为“NONAME.C”。用户可以开始输入和编辑源程序了。输入和编辑程序的操作类似于通常的字处理软件,通过Insert键进行插入和改写状态的切换,如果有“Insert”显示,表示处于插入状态。程序输入完毕要及时进行保存,保存文件操作应选择File菜单的子菜单Save,这时会弹出一个对话框如图1.3所示,要求用户输入文件名及其路径来修改默认的路径和文件名。注意文件的扩展名“.c”不可省略。一旦用新的文件名保存文件后,编辑窗口默认的文件名“NONAME.C”被改为新的文件名。2. 编辑一个已存在的文件如果要重新编辑一个已经存在的文件,应选择File菜单下的子菜单Load,这时会弹出一个类似于图1.3的对话框,当用户输入要打开的文件名和路径后,即打开了此文件,这时用户就可对其进行重新编辑并保存。编辑窗口这时会显示打开的文件名。3重命名一个文件如果要对正在编辑的文件重命名,请选择File菜单下的子菜单Write to,这时会弹出一个同样类似图1.3的对话框,要求用户输入新的文件名和路径。完成之后编辑窗口将以新的文件名显示。5.5 C语言程序的编译和连接图1.3编辑好源程序并存盘后,应当对源程序进行编译、连接和运行。在Turbo C集成环境中,进行编译、连接和运行是十分方便的,既可以将编译、连接和运行分三个步骤进行,也可以将编译和连接合起来作为一步进行,然后再运行;还可以三者合在一起一次完成。既可对单个模块的程序进行编译、连接和运行,也可以一次对多个文件模块的程序进行编译、连接和运行。1对单文件程序的编译和连接(1) 编译 选择Compile菜单下的子菜单Complie to OBJ,此时系统显示默认的目标文件名。编译后,目标文件将保存在当前工作目录或配置文件TCCONFIG.TC所指定的输出目录中。(2) 连接 有了目标文件后,还不能直接运行,还要将目标文件与系统提供的库函数和包含文件等连接成一个可执行文件(扩展名为.exe),才能运行这个.exe文件。选择Compile菜单的子菜单Link EXE file,就可执行连接操作,在当前工作目录或者配置文件TCCONFIG.TC所指定的输出目录中生成一个可执行文件。应注意的是,必须是在编译没有错误的情况下才能进行连接。图1.4(3)一次完成编译和连接 选择Compile菜单下的子菜单Make EXE file,即可一次完成编译和连接,从而在当前工作目录或者配置文件TCCONFIG.TC所指定的输出目录中生成一个目标文件和一个可执行文件。注:在选择相关菜单时,请注意有些菜单后面跟有快捷键提示,也就是说可以直接按对应的快捷键实现菜单的功能。如进行存盘操作,需要选择File菜单的子菜单Save,也可以直接按F2键,相当于进行了上面的选择。2对多个程序文件进行编译和连接如果一个源程序包含多个文件模块,则应当对各文件分别进行编译,得到多个目标文件,然后将这些目标文件和库函数、包含文件等连接成一个可执行文件。Turbo C提供了多个程序文件进行编译和连接的简便方法,即将这些文件组成一个“项目”,为此要建立一个“项目文件”,以.prj作为扩展名,项目文件中包含这些文件,然后将该项目文件交付编译和连接,就可以得到可执行文件了。具体步骤如下:(1)在Turbo C 编辑环境中,输入各源文件名,如有两个文件需要进行编译和连接,则.prj文件内容见图1.4所示。(2)将上述编辑的内容保存成项目文件。选择File菜单的子菜单Save或Write to,输入项目文件名包括路径,并且注意一定要包含扩展名.prj,以表示建立的是项目文件。(3)建立项目。选择Project菜单的子菜单Project name,输入刚建立的项目文件名。(4)编译和连接。选择Compile菜单下的子菜单Make EXE file,系统就会对此项目文件进行编译和连接,并生成两个目标文件和一个可执行文件,生成的可执行文件名同项目文件名。注:在选择Make EXE file菜单进行编译和连接时,系统首先查找有无项目文件,如果在Project name中指定了项目文件,则系统优先编译该项目文件,而不是编译编辑窗口中的文件。应特别注意,在处理完一个多程序文件的编译和连接后,应及时将Project name清空,否则就会在编译连接时仍然把项目文件当做编译对象,而不是编译编辑窗口中的源文件。3. 编译和连接过程中的显示信息(1)编译过程中出现的信息如图1.5所示,窗口最上方的Compiling表示是编译阶段的信息;第一行表示编译的主文件是HELLO.C;第二行正在编译的是正在编辑的文件HELLO.C;接下来表示编译的行数是220,警告0个,错误1个;下面一行表示占用的存储空间为299KB;最后一行表示编译成功(Success)或者有错误(Errors),请用户按任意键继续。需要解释的是,只有编译没有错误时,才可以进行连接,否则仍需要进行编辑,再编译。(2)连接过程中出现的信息如图1.6所示,连接过程出现的信息和编译的信息类似,只有警告和错误都为0,才表示连接成功,并且最下面也有文字提示Success。只有连接成功才能生成可执行文件。图1.6图1.55.6 C语言程序的运行经过成功的编译和连接之后,就生成了可执行文件,这时就可以运行了。运行一个程序,可采用以下几种方法:1. 在TC的集成环境中运行 选择Run菜单下的子菜单Run,即可运行程序。2. 在DOS环境下运行在DOS提示符下,输入可执行文件的文件名和路径,即可运行程序。3. 在WINDOWS环境下运行(1)选择WINDOWS开始菜单中的运行子菜单,然后输入文件名及路径。(2)在资源管理器中双击所生成的可执行文件名。5.7 在TC集成环境中查看运行结果在TC集成环境中有一个用户屏幕(User Screen),程序运行结果将显示在用户屏幕,从编辑窗口切换到用户屏幕,选择Run菜单下的子菜单User Screen,或用快捷键Alt+F5即可进入用户屏幕,从用户屏幕按任意键即可进入编辑窗口。6C语言学习要求1按时上课及上机;2勤于思考,多查阅资料;3多进行实践;4具有团队协作精神;5分组学习。7实验一 TC集成调试环境的初识7.1 实验目的1. 熟悉TC集成调试环境;2. 掌握在TC环境下编辑、编译、连接和运行C语言程序的过程;3. 熟悉C语言程序的组成及书写格式。7.2 实验要求1. 普通微机;2. TC集成调试环境。7.3 实验内容及步骤1. TC集成调试环境的熟悉1.1启动TC集成调试环境;1.2熟悉各菜单项;1.3熟悉各功能键;1.4熟悉编辑窗口各部分的意义;1.5退出TC集成环境。2. 调试【例1.1】程序并记录相关信息2.1输入【例1.1】程序,输入时省略注释部分。源程序:2.2用program1.c文件名保存文件在自己的目录下。2.3编译program1.c源程序文件,生成program1.obj目标文件(该步可能需要反复进行)。编译提示信息: 修改情况记录:错误原因分析:2.4连接程序,生成可执行文件program1.exe(2.3和2.4两步可能需要反复进行)。连接提示信息: 修改情况记录:错误原因分析:2.5执(运)行program1.exe文件,记录输出结果。运行结果:2.6修改【例1.1】程序,求半径为6.2圆的面积,重复2.12.5步骤,并记录每一步相关信息。3. 调试【例1.2】程序并记录相关信息,用program2.c文件名保存源程序。调试步骤同2. 。4. 编程求5!,并调试该程序,记录每一步相关信息。7.4思考题1. 请总结C语言程序调试的步骤。2. 为什么程序修改后需要重新进行编译、连接和运行?3. TC为什么称为集成调试环境?8课后练习(要求所有程序必须上机运行通过)1 模仿讲议中C语言程序,编写程序求圆的周长。2 模仿讲议中C语言程序,编写程序求两个整数中的小数。3 上机运行下列程序,并记录输出结果。#include main() printf(“Hello C program world !n”);printf(“I am an university student !n”); 4 请参照第3题的程序,编程输出下列图形。* * * * * * * *5 请参照第4题的程序,编程输出下列图形。(可选做)* * * * * * * * * * * *6 C语言程序由哪几部分组成?其程序的基本单位是什么?9补充阅读9.1计算机语言的发展过程1第一代语言-机器语言(低级语言)机器语言是由0、1组成的机器指令集合,是面向机器的语言。要使计算机按人的意图工作,就必须使计算机懂得人的意图,接收人向它发出的命令和信息。人要和机器交换信息就要解决一个“语言”的问题。计算机并不懂人类的语言(无论是中文或英文),例如,我们要写y=2x+3,机器不能接受。它只能识别0和1两种状态,如光电输入机中纸带有孔的地方代表1,无孔的地方代表0。由0和1组成各种排列组合,通过线路转变成电信号,让计算机执行各种不同的操作。这种直接用0和1 组成的机器指令编写程序,就是机器语言源程序。对计算机来说,这是它唯一能直接读懂的语言,所以,通常称之为机器语言。但是,对于使用计算机的人来说,这是十分难懂的语言,它难读、难记、难写,容易出错,不同的机型又不通用,显然人和机器之间的通信存在巨大的鸿沟,只有填补上这个鸿沟,才能让用户使用起来方便容易,机器又能懂,计算机才能发挥更大的作用,为此,人们研究了一种汇编语言。2第二代语言-汇编语言(低级语言)LDA A 取出AADD B A和B相加STA C 存入CPRINT C 打印CSTOP 停止汇编语言也叫符号语言,它是把用二进制数表示的指令,用一些符号来表示,例如,用表示操作的英文缩写来代替汇编语言指令代码。下面是一段汇编语言代码。这种用符号代替二进制代码的指令,就叫汇编语言。像LDA、ADD这类符号称之为指令符号或助记符。用汇编语言编写的程序,称为汇编语言程序。这种语言,相对于机器语言来说容易读、容易记,但是,机器却不能识别。因此,计算机是无法执行的。为了让机器能执行汇编语言程序,这时就需要一个翻译,正如一个不懂汉语的外国人到中国来无法同中国人直接交流,需要借助于翻译一样,借助于翻译,将汇编语言程序翻译成机器语言程序,这个翻译过程叫做“汇编”。汇编后产生的机器代码称为目标程序。翻译可由人手工完成,也可用计算机来完成,用计算机来做翻译,实际上是研制了翻译程序,把这个翻译程序称为汇编程序。汇编过程如图1.7所示。汇编语言源程序机器指令目标程序计算机执行结果输出汇编程序(事先放入计算机)(汇编)(执行)(输入)图1.7 汇编过程汇编语言使程序设计工作前进了一大步,但是仍然存在很多缺点:第一,不便于我们求解问题过程的描述,如一个数学公式,汇编语言的表达式与人们的习惯表达形式差距很大;第二,它仍然是面向机器的语言,不同机型,汇编语言也不一样,因此用它编制程序,没有通用性。为了克服这些不足之处,人们进一步研制开发出了高级语言。3第三代语言-算法语言(高级语言)算法语言是更接近人的自然语言和数学表达式的一种语言,由表达不同意义的“关键字”和“表达式”按照一定的语法语义规则组成、完全不依赖机器的指令系统。这样的高级语言为人们提供了很大的方便,编制出来的程序易读易记,也便于修改、调试,大大提高了编制程序的效率和程序的通用性,便于推广交流,从而极大地推动了计算机的普及与应用。常见的BASIC、FORTRAN、ALGOL、COBOL、C等都是高级语言。高级语言更接近人的习惯,便于人的理解与使用,可计算机却更难理解与接受,计算机不能直接理解那些英语单词、数学表达式。所以,为了填补计算机和人之间的鸿沟,还得求助于翻译。这种翻译通常分为两种形式,一种叫解释方式,另一种叫编译方式。编译方式是事先编好一个称为编译程序的机器指令程序,并放在计算机中,把用高级语言编写的源程序输入计算机,编译程序就把源程序整个翻译成用机器指令表示的目标程序,然后执行该目标程序,得到计算结果。其过程如图1.8所示。高级语言源程序机器指令目标程序计算机执行结果输出编译程序(事先放入计算机)(汇编)(执行)(输入)图1.8 编译过程解释方式是事先编好一个称为解释程序的机器指令程序,并放在计算机中,把用高级语言编写的源程序输入计算机,它并不像编译方式那样把源程序整个翻译成用机器指令表示的目标程序,而是逐句地翻译,译出一句立即执行,即边解释边执行。其过程如图1.9所示。C语言采用的是编译方式。高级语言的用户可以完全不顾机器指令,也不必深入懂得计算机内部结构和工作原理,就能方便地使用高级语言编写程序进行各种科学计算和事务处理,并且由于采用编译(解释)程序代替人工翻译,大大降低了人们的工作量,因此,有人说,高级语言的出现是计算机发展中“最惊人的成就”。目前,世界上已有100多种高级语言,比较流行的有几十种之多,比如: FORTRAN(Formula Translator的缩写)语言是世界上最早出现的高级语言,从1954年问世以来,经过几次大的发展,功能有很大的增强,它特别适用于科学计算和工程计算。 COBOL(Common Business Language的缩写)语言适用于非数值计算的商业、管理领域。 PASCAL语言是最早出现的结构化语言,适用于计算机教学。 PL/1语言是一种大型语言,功能强,适用于数值计算和数据处理。 Ada语言是一种工程化的大型语言,适用于大型软件工程。 C语言是近年来广泛推广的结构化语言,适用于编写系统软件。 BASIC语言是一种简单会话式语言,在世界上应用最广泛。4第四代语言-非过程化语言(高生产率语言)非过程化语言就是目前比较流行的面向对象语言,该语言只需要编程人员对问题进行描述。比如C+/Visual C+,JAVA语言等。高级语言源程序计算机执行结果输出解释程序(事先放入计算机)(解释并执行)(输入)图1.9 解释过程目前也出现了智能化语言,主要用于人工智能等领域。比较有代表性的有LISP语言和PROLOG语言。9.2 C语言的特点C语言是一种出现比较晚的高级语言,它吸取了早期高级语言的长处,克服了某些不足,形成了自己的风格和特点。总的来说,C语言是一种简洁、功能强大、可移植性好的结构化程序设计语言。C语言具有如下特点: C语言简洁、紧凑; C语言是一种结构化程序设计语言; C语言具有丰富的数据类型; C语言提供了丰富的运算符; C语言可以直接对硬件进行操作; 虽然C语言具有灵活简炼的特点,但在有些方面也存在不足,了解其不足有助于使用,避免出现错误。其不足简单概括如下: 运算符多,难于记忆; C语言类型转换比较灵活,在许多情况下不做检查,对类型要求不够严格; C语言中对数组进行初始化主要是判定是否越界,越界时会发生编译错误,但在动态赋值时不判定越界,这样容易造成数据存储方面的混乱。总之,C语言有诱人的优点,也有值得注意的不足,使用时应特别加以注意。64模块二 C语言程序设计入门能力标准:1. 能编写、分析基本的C语言程序;2. 熟练掌握程序的多种调试方法。知识点:1. 基本数据类型;2. 各种运算符及表达式;3. 三种基本的程序结构。案例一 一个经典C语言入门程序 helloworld.c教学目的:1. 巩固C语言程序结构;2. 掌握printf函数输出字符串的功能;3. 掌握clrscr函数的功能与使用;4. 熟悉用编译预处理命令#include命令包含头文件。在模块一中,我们已经知道C语言程序由函数构成,并且任何一个程序有且只有一个main函数,程序的执行总是从main函数开始的,由main函数的第一条语言开始执行,到main函数的最后一条语句结束。下面是一个最简单的C语言程序,我们将对该程序的每一行进行分析。/* Hello world! */#include main() printf(“Hello world!n”); 一、案例分析1“/*Hello world!*/”行是一个注释行,用来说明该段程序的功能。一般如果在程序的开头加上这样的注释行,便于用户阅读与分析程序。注释可以用中文或英文,如果操作系统是英文的,则中文字符在编译时是不认识的符号,建议使用英文注释,便于和国际接轨。2.“#include ”行是一个编译预处理命令行,其中“#include”是编译预处理命令,其作用是将一个C语言源程序文件的全部内容包含到当前这段程序中,“”是指定被包含的文件。一个#include命令只能包含一个文件,需要多个文件包含时,必须用多个#include命令。#include命令行应放在程序的开头位置,故有时也把被包含的文件称为头文件,常以“.h”作为扩展名(后缀),如stdio.h文件,事实上可以用“.c”或其它的扩展名。被包含文件可以用双引号和尖括号括起来,其区别在于用尖括号时,系统先到存放C库函数头文件所在的目录寻找要包含的文件,称为标准方式;用双引号时,系统先在用户当前目录中寻找要包含的文件,若找不到,再按标准方式查找。一般地,如果是调用库函数而用#include命令来包含相关的头文件时,用尖括号,以节省查找时间;如果要包含的是用户自己编写的文件(通常存放在当前目录中),则用双引号。stdio.h文件是C语言的标准输入输出头文件,该文件主要是对输入输出函数进行定义。例如printf函数、scanf函数、getchar函数、putchar函数。函数返回类型 函数名( 形式参数定义) /*函数的首部*/ 函数体; /*函数的实现部分*/ 3从“main()”行开始,直到“”为止是主函数main的定义部分。其中“main()”行是函数定义的头(首)部,用于说明函数返回值的类型、函数名及形式参数的定义。主函数main是一个特殊的函数,它的首部标准格式是 int main(int argc,int *argv),用“”括起来的部分表示是可选项,“int”说明main函数的返回值是整型,“main”是函数名,“int argc,int *argv”是main函数的形式参数定义,“()”是函数定义不可缺少的部分。在目前我们的使用中只需要使用main函数最简单的定义形式,即“main()”。从“”起到“”止是函数的实现部分,也就是实现函数功能的语句组合,通常称为函数体。因此函数的通常定义格式如下:本例中的main的函数体只有一条语句,即“printf(“Hello world!n”);”,其作用是向输出设备输出字符串“Hello world!”。二、C语言函数简介C语言函数分为库函数和用户自定义函数两类,库函数由系统提供,编程者只需要直接使用,用户自定义函数需要编程者自己编写。比如我们前面见过的printf函数就是库函数,main函数就是用户自定义的函数。任何一个函数都需要先定义,然后被调用。函数的定义同上述main函数的定义,函数的调用格式如下:函数名(实际参数)对于库函数printf,其定义包含在stdio.h头文件中,因此我们要使用它时,需要用#include命令把stdio.h文件包含到当前的程序中,然后才能调用printf函数。printf函数的一种调用格式如下:printf(“字符串”)其作用是将“字符串”输出到显示器上,对上例来说就是将“Hello world!”输出到显示器上,显示器上将显示“Hello world!”字符串。请注意“n”字符的作用是换行,即下一个printf函数的输出内容将另起一行。字符串在计算机中是指用双引号括起来的一串字符序列,如“1234”、“student”。三、显示学生管理系统的主菜单在未讲到C语言图形函数时,我们所设计应用程序的用户界面都是字符型的。如一个学生管理系统,我们需要提供以下的主菜单界面,供用户根据菜单选择相应的功能,从而调用对应的函数。*student management system menu* 1. Input student records * 2. Output student records * 3. Insert a new student * 4. Delete a student * 5. Find a student on name or number * 6. Sort on score * 7. Save to file * 8. Import file * 0. Exit * Please input your choice(08): *根据上述要求,我们需要编程输出这样的菜单,通过我们已学的知识,可以写一个主函数,函数体就是用printf输出每一行即可。程序如下:/*学生管理系统输出主菜程序*/#include main()printf(“*student management system menu*n”);printf(“* 1. Input student records *n”);printf(“* 2. Output student records *n”);printf(“* 3. Insert a new student *n”);printf(“* 4. Delete a student *n”);printf(“* 5. Find a student on name or number *n”);printf(“* 6. Sort on score *n”);printf(“* 7. Save to file *n”);printf(“* 8. Import file *n”);printf(“* 0. Exit *n”);printf(“* Please input your choice(08): *n”);printf(“*n”);通过这个实例我们可以看到,在实际应用中,要输出系统菜单,主要是调用printf函数,一行一行输出字符串。四、clrscr函数如果在TC系统中,重复执行上例程序,可以看到显示器上连续重复显示主菜单,而实际使用中我们希望不管理执行多少次,主菜单总是显示在屏幕的上方。为此我们需要在主菜单显示前,先擦除原来的屏幕,然后再输出主菜单,这样不管重输出多少次,主菜单总是在屏幕上方。擦除屏幕,可以调用库函数clrscr函数,它的定义在conio.h头文件中,因此将前述的程序作如下修改如下(斜体部分):斜体部分是新增加的语句行,“#include ”行是将clrscr函数的定义文件包含进当前程序,“clrscr();”行是通过调用库函数clrscr擦除当前屏幕,该函数没有参数,也不需要返回值。五、实验二 printf和clrscr函数5.1实验目的1 进一步熟悉TC集成调试环境;2 熟悉C语言程序的构成;3 熟悉C语言函数的定义;4 掌握用printf函数输出字符串;5 熟悉clrscr函数。/*学生管理系统输出主菜程序*/#include #include main()clrscr();printf(“*student management system menu*n”);printf(“* 1. Input student records *n”);printf(“* 2. Output student records *n”);printf(“* 3. Insert a new student *n”);printf(“* 4. Delete a student *n”);printf(“* 5. Find a student on name or number *n”);printf(“* 6. Sort on score *n”);printf(“* 7. Save to file *n”);printf(“* 8. Import file *n”);printf(“* 0. Exit *n”);printf(“* Please input your choice(08): *n”);printf(“*n”);5.2实验内容及步骤1.调试“Hello world!”程序,并做以下记录。 程序: 编译结果: 修改记录: 运行结果:2.连续运行三次上述程序,记录输出结果。 运行结果:3. 如果去除printf(“Hello world!n”);语句中的“n”,请连续运行三次,记录输出结果,并与2.1.1运行结果进行比较,分析不同的原因。4. 调试“学生管理系统输出主菜”程序,并记录程序:编译结果: 修改记录:输出结果:5.连续运行三次,记录输出结果。输出结果:6.调试添加clrscr函数后的“显示学生管理系统主菜单”程序,连续运行三次,记录结果并与5运行结果比较,分析输出结果不同的原因。输出结果:7.编程输出下图。* * * * * * * 程序: 编译结果: 修改记录: 输出结果:5.3思考题(1) clrscr函数有没有将屏幕全部擦干净?为什么有时屏幕的下部擦不干净?六、习题1 编程输出下列图形。88888888(d)8888888888(c) 8888888888888888(b)8 888888888(a)2 请编程输出下列表头。*常州轻工职业技术学院学生成绩表*学号姓名 班级语文数学英语政治计算机总分名次案例二 求任意两个数之和(差、积、商)教学目的:1. 掌握整型和实型变量的定义;2. 掌握整型和实型变量的数据范围;3. 掌握用scanf函数输入整型和实型数据;4. 掌握用printf函数输出整型和实型数据。/*求两个整数的和*/#include #include main()int num1,num2,sum; /*定义三个整型变量*/clrscr(); /*清除屏幕*/sum=0; /*和的初值置为0*/printf(“Please input two integers:”); /*显示提示字符*/scanf(“%d”,&num1); /*输入第一个整数*/scanf(“%d”,&num2); /*输入第二个整数*/sum=num1+num2; /*求两个整数的和,并存入变量sum中*/printf(“num1 and num2 is: %dn”,sum); /*输出和值*/C语言将数分为整型和实型两种类型,不同的类型,在程序编写上有所区别,因此案例二要求的两个整数之和,我们先给出求两个整型数据和的程序,如下:一、案例分析1 上述程序的功能是通过键盘输入两个整数,然后求两个整数的和。这段程序也只有一个主函数。2 “int num1,num2,sum;”行根据注释可知是定义了三个整型的变量。 变量 就是如同数学中用到的x、y等,可以改变它们的值,在C语言中给变量取名字时要求只能用数字、字母和下划线组成,且第一个符号不能是数字。如“_sum,num,score”等都是合法的变量名,而“1a,2_b”等是不合法的变量名。 常量 如123,-7,34.6,-0.76等都是常量,前两个称为整型常量,后两个称为实型常量。 整型变量的定义 C语言中整型变量又分为基本整型(int)、短整型(short int 或short)、长整型(long int 或long)及无符号整型(unsigned int、unsigned short int/ unsigned short、unsigned long int/ unsigned long)。如:int num1,num2,sum; 表示定义了三个基本的整型变量;short a;或者short int a;表示定义了短整型变量a;long int c;或者long c;表示定义了长整型变量c; unsinged int d;表示定义了基本的无符号整型变量d;各种整型变量在不同的计算机机型中存放的数的范围不同,也即表示数所用的字节数不同,见表2-1。表2-1 整型变量所占用字节数和数的范围数据类型所占字节数(二进制位数)数的范围int 2(16)-3276832767 即-215(215-1)short int /short2(16)-3276832767 即-215(215-1)long int /long4(32)-21474836482147483647即-231(231-1)unsigned int2(16)065535即(0216-1)unsigned short int/ unsigned short2(16)065535即(0216-1)unsigned long int/ unsigned long4(32)04294967295即0(232-1)3 “ sum=0;”行是给存放和值的变量赋初值0。4 “printf(“Please input two integers:”);”行是在屏幕上输出“Please input two integers:”字符串,以提示用户输入两个整数。5 “scanf(“%d”,&num1);”行的作用是等待用户从键盘输入一个整数,并存入变量num1中。 scanf函数 scanf函数是标准库函数,其作用是等待用户从键盘给变量输入值。scanf函数的定义包含在stdio.h头文件中。 scanf函数调用格式scanf(格式串,地址列表)“%d”就是格式串,其表示的意思是等待从键盘输入的必须是一个整型数据。scanf函数的格式串是由“%”开始,其后跟不同的类型格式符。具体格式符见表2-2。表2-2 scanf函数的格式符格式符说 明d,i输入有符号十进制整数u输入无符号十进制整数o输入无符号八进制整数X,x输入无符号十六进制整数(大小写作用相同)c输入单个字符s输入字符串,将字符串送到一个起始地址起的存储单元中,输入时以非空格字符开始,以第一个非空格字符结束。字符串存储时以0作为结束标志f输入实数,可以是小数形式及指数形式e与f作用相同,可以互换“&num1”表示一个地址,这个地址就是变量num1在内存中分配的存储单元的首地址,“&”在变量名前表示取该变量的地址。如果是地址列表,则各地址之间用“,”隔开。“scanf(“%d”,&num2);”行同“scanf(“%d”,&num1);”行的作用,等待用户从键盘给变量num2输入值。上述两条语句也可合并为一条语句scanf(“%d%d”,&num1,&num2); ,这时在输入两个数据时,可以用空格、回车或制表符进行分隔。6“sum=num1+num2;”行是求num1和num2两个变量值的和,并把
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 环境保护行业污染排放统计表格
- (正式版)DB15∕T 3634-2024 《沙葱“沙珍C-1号”露地栽培技术规程》
- (正式版)DB15∕T 3384-2024 《草原资源资产评估技术规程》
- 电梯招聘考试题及答案
- 电工考试题窍门及答案
- 滴灌技术考试题及答案
- 客户关系管理标准化模板及跟进策略
- 家居装饰材料进销存系统协议
- 大专化工考试题及答案
- 商业场所改建合同协议
- 安全驾驶教育培训课件
- 西师大版数学六年级上册 第一单元测试卷(A)(含解析)
- 2025北京京剧院招聘10人备考题库及答案解析
- 防护用品使用课件
- 日间手术课件
- 2025年初级注册安全工程师考试练习题及答案解析
- 幼儿园膳食委员会流程
- 海洋微塑料污染溯源分析-洞察及研究
- 癌痛护理查房
- 孕妇孕期心理健康管理策略
- 花园开荒保洁方案(3篇)
评论
0/150
提交评论