C语言概述课件_第1页
C语言概述课件_第2页
C语言概述课件_第3页
C语言概述课件_第4页
C语言概述课件_第5页
已阅读5页,还剩103页未读 继续免费阅读

下载本文档

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

文档简介

1第1章C语言概述本章主要介绍C语言程序的结构和书写,以及TurboCV2.0的基本操作。1第1章C语言概述本章主要介绍C语言程序的结构和书写,以2本章内容1.1C语言的发展简史1.2C语言的特点1.3

简单的C程序介绍1.4TurboCV2.0的基本操作1.5

程序设计与算法1.6

如何学习本课程2本章内容1.1C语言的发展简史31.1C语言的发展简史1.

C语言诞生的历史背景2.C语言的诞生及发展3.在微机上使用的C语言编译系统有MicrosoftC、TurboC、BorlandC等。虽然它们的基本部分都是相同的,但还是有一些差异,所以请大家注意自己所使用的C编译系统的特点和规定(参阅相应的手册)。本课程选定的上机环境是TCV2.0。31.1C语言的发展简史1.C语言诞生的历史背景4C语言诞生的历史背景

在C语言诞生以前,系统软件主要是用汇编语言编写的。由于汇编语言程序依赖于计算机硬件,其可读性和可移植性都很差;但一般的高级语言又难以实现对计算机硬件的直接操作(这正是汇编语言的优势),于是人们盼望有一种兼有汇编语言和高级语言特性的新语言。4C语言诞生的历史背景在C语言诞生以前,556许多著名的系统软件,如DBASEⅢPLUS、DBASEⅣ都是由C语言编写的。到上世纪90年代,C已经成为计算机专业学生的首选教学语言,并成为一代程序员主要工作语言。90年代中期,随着PC的普及和C++等面向对象语言的出现,人们渐渐把视线转移到PC应用软件上,程序员们也开始习惯用面向对象这种更高级方式思考和解决问题。大家对C强大的底层控制能力失去兴趣,因为那些复杂的代码已经可以交给编译器去实现,底层的操作已经完全可以交给类库和操作系统API去进行,C语言逐渐失去了主流编程语言的位置。6许多著名的系统软件,如DBASEⅢPLUS、DBAS7进入21世纪,随着个人电子消费产品和开源软件的流行,C语言再次焕发生机。由于C在底层控制和性能方面的优势,使之成为芯片级开发(嵌入式)和Linux平台开发的首先语言;在通信、网络协议、破解、3D引擎、操作系统、驱动、单片机、手机、PDA、多媒体处理、实时控制等领域,C正在用一行行代码证明它从应用级开发到系统级开发的强大和高效。78C语言的诞生及其发展

C语言是贝尔实验室于上世纪70年代初研制出来的,后来又被多次改进,并出现了多种版本。80年代初,美国国家标准化协会(ANSI),根据C语言问世以来各种版本对C语言的发展和扩充,制定了ANSIC标准(1989年再次做了修订)。

本课程以ANSIC新标准来介绍。8C语言的诞生及其发展C语言是贝尔实验室于上91.2C语言程序的特点C语言同时具有汇编语言和高级语言的优势。(1)语言简洁、紧凑,使用方便、灵活(共只有32个关键字,9种控制语句)。(2)运算符极其丰富。(3)数据结构丰富,具有现代化语言的各种数据结构。(4)具有结构化的控制语句,用函数实现程序的模块化。[程序演示1][程序演示2][程序文本1][程序文本2]91.2C语言程序的特点C语言同时具有汇编语言和高级语言10(5)语法限制不太严格,程序设计自由度大,所以,程序员应仔细检查程序保证其正确性,而不要过分依赖C编译系统去查错。如:对数组下标越界不作检查,整型数据与字符型数据可以通用。10(5)语法限制不太严格,程序设计自由度大,所以,程序员应11(6)C语言允许直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。所以,C语言兼有高级语言和低级语言的特点,又称为“中级语言”,既可用来编写应用软件,又可用来编写系统软件。对操作系统和系统实用程序以及需要对硬件进行操作的场合,用C明显优越于其他高级语言。11(6)C语言允许直接访问物理地址,能进行位(bit)操作12(7)生成的目标代码质量高,程序执行效率高。(8)可移植性好(较之汇编语言),基本上不作修改就能用于各种型号的计算机和各种操作系统。以上现在还不能深刻理解,待本课程学完相信大家就会有比较深的体会。12(7)生成的目标代码质量高,程序执行效率高。131.3简单的C程序介绍1.简单C程序举例2.通过以上例子,可以总结出:(1)C程序是由函数构成的。(2)一个函数由函数的说明部分(函数首部)和函数体组成。(3)一个C程序总是从main函数开始执行。131.3简单的C程序介绍1.简单C程序举例14(4)程序行的书写格式自由,既允许1行内写几条语句,也允许1条语句分写在几行上。(5)所有语句都必须以分号“;”结束,函数的最后一个语句也不例外。(6)C语言本身没有I/O语句,I/O实行“函数化”。(7)可用/*……*/对C程序中的任何部分作注释。“/*”和“*/”必须成对使用,且“/”和“*”、以及“*”和“/”之间不能有空格,否则都出错。3.程序的书写技巧14(4)程序行的书写格式自由,既允许1行内写几条语句,也15程序的书写技巧技巧:在源程序中,很多符号都是成对匹配出现的,为避免遗漏必须配对使用的符号,例如注释符号、函数体的起止标识符(花括号)、圆括号等等,在输入时,可连续输入这些起止标识符,然后再在其中进行插入来完成内容的编辑。在起止标识符嵌套时,以及相距较远时,这样做更有必要。15程序的书写技巧技巧:16C程序是由函数构成的1.一个C源程序至少包含一个函数(main函数),也可以包含一个main函数和若干其它函数。因此,函数是C程序的基本单位。2.main()函数的作用,相当于其它高级语言中的主程序;其它函数的作用,相当于子程序。3.main函数由程序员自己定义,main函数中使用的函数可以使自己编写的(如max案例中的函数),也可以是系统提供的(库函数,如printf函数、scanf函数)。4.C的函数库十分丰富,可参见课本的附录了解。[Return]16C程序是由函数构成的1.一个C源程序至少包含一个函数(17函数的说明部分(函数首部)例如,案例1.2中的函数max(),其函数说明各部分如下所示。函数类型函数名函数参数表↓↓↓

intmax(intx,inty)[Return]17函数的说明部分(函数首部)例如,案例1.2中的函数max18函数体在函数说明部分的下面、大括号(必须配对使用)内的部分。

函数体的构成:(1)说明部分说明语句部分由变量定义、变量说明等组成。(2)可执行语句部分一般由若干条可执行语句构成。案例1.2的main()函数体如下所示。18函数体在函数说明部分的下面、大括号(必须配对使用)内的部19main(){intn1,n2;变量定义部分

printf(“Inputthefirstnumber:”);scanf(“%d”,&n1);printf(“Inputthesecondnumber:”);可执行语句部分函数体

scanf(“%d”,&n2);printf(“max=%d\n”,max(n1,n2));}[Return]19main(){[Return]20C程序的执行

一个C语言程序,总是从main()函数开始执行,而不论其在程序中的位置。当主函数执行完毕时,亦即程序执行完毕。[Return]20C程序的执行一个C语言程序,总是从main()函数开21

一个完整的C语言程序,是由一个main()函数(主函数)和若干个其它函数结合而成的,或仅由一个main()函数构成。[例1.1]仅由main()函数构成的C语言程序。main(){printf(“ThisisaCprogram.\n”);}[程序演示]程序运行结果:ThisisaCprogram.

21一个完整的C语言程序,是由一个main()函数(主22[案例1.2]由main()函数和1个其它函数max()构成的C语言程序。intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}main(){intnum1,num2,c;printf(“Inputthefirstintegernumber:”);scanf(“%d”,&num1);printf(“Inputthesecondintegernumber:”);scanf(“%d”,&num2);c=max(num1,num2);printf(“max=%d\n”,c);}[程序演示]程序运行情况:

Inputthefirstintegernumber:6←┘Inputthesecondintegernumber:9←┘max=922[案例1.2]由main()函数和1个其它函数max(23改写[案例1.2],交换main()函数和max()函数的前后位置,源程序略。[程序演示]程序运行情况:

Inputthefirstintegernumber:6←┘Inputthesecondintegernumber:9←┘max=9说明:C语言程序总是从main()函数开始执行,而不论main函数在整个程序中的位置如何。[Return]23改写[案例1.2],交换main()函数和max()函数241.4TurboCV2.0的基本操作1.

运行一个C语言程序的一般过程2.TC的启动、退出与命令菜单

3.

编辑并保存一个C语言源程序

4.

编译、连接──单个源程序文件

5.

运行与查看结果

6.

编辑下一个新的源程序

241.4TurboCV2.0的基本操作1.运行一251.运行一个C语言程序的一般过程

TurboC是一个集源程序编辑、编译、连接、运行与调试于一体、用菜单驱动的集成软件环境。运行一个C语言程序的一般过程:(1)启动TC,进入TC集成环境。(2)编辑(或修改)源程序,源程序文件后缀一般为*.c,注意文件的保存。(3)编译。由编译程序将源程序编译成机器指令程序,即目标程序。目标程序的文件名与相应的源程序同名,但后缀为*.obj。如果编译成功,可进行下一步操作;否则,返回(2)修改源程序,再重新编译,直至编译成功。251.运行一个C语言程序的一般过程26(4)连接。将目标程序和库函数或其它目标程序连接成了可执行的文件,文件名与相应的源程序同名,后缀为*.exe。如果连接成功,则可进行下一步操作;否则,根据系统的错误提示,进行相应修改,再重新连接,直至连接成功。(5)运行。通过观察程序运行结果,验证程序的正确性。如果出现逻辑错误,则必须返回(2)修改源程序,再重新编译、连接和运行,直至程序正确。(6)退出TC集成环境,结束本次程序运行。[Return]26(4)连接。将目标程序和库函数或其它目标程序连接成了可执272.TC的启动、退出与命令菜单(1)启动TurboC(2)命令菜单的使用(3)退出TurboC[Return]272.TC的启动、退出与命令菜单[Return]28启动TurboC启动TurboC:tc←┘[画面演示](1)启动TurboC后,其主菜单条横向排列在屏幕顶端,并被激活,其中File菜单成为当前项。

(2)主菜单的下面,是Edit(编辑)窗口和Message(消息)窗口。两个窗口中,顶端横线为双线显示的,表示该窗口是活动窗口。28启动TurboC启动TurboC:tc←┘29(3)编辑窗口的顶端为状态行,其中:.Line1Col1:显示光标所在的行号和列号,即光标位置。.Insert:表示编辑状态处于“插入”。当处于“改写”状态时,此处为空白。.D:NONAME.C:显示当前正在编辑的文件名。显示为“NONAME.C”时,表示用户尚未给文件命名。(4)屏幕底端是7个功能键的说明,以及NumLock键的状态(显示“NUM”时,表示处于“数字键”状态;空白,表示“控制键”状态)。[Return]29(3)编辑窗口的顶端为状态行,其中:[Return]30命令菜单的使用(1)按下功能键F10,激活主菜单。如果主菜单已经被激活,则直接转下一步。(2)用左、右方向键移动光带,定位于需要的主项上,然后再按回车键,打开其子菜单。(3)用上、下方向键移动光带,定位于需要的子项上,回车即可。执行完选定的功能后,系统自动关闭菜单。注意:菜单激活后,又不使用,可再按F10/Esc键关闭,返回原来状态。[Return]30命令菜单的使用(1)按下功能键F10,激活主菜单。如果主31退出TurboC退出TC有两种方法:(1)菜单法:File|Quit先选择File主项,再选择并执行Quit子项(2)快捷键法:Alt+“X”先按下Alt键并保持,再按字母键X,然后同时放开[Return]31退出TurboC退出TC有两种方法:[Return]323.编辑并保存一个C语言源程序

(1)激活主菜单,选择并执行File|Load项(快捷键键:F3)。(2)在“LoadFileName”窗口,输入源程序文件名。文件名的输入有两种方法:直接输入和选择输入。(3)常用编辑操作[Return]323.编辑并保存一个C语言源程序[Return]33文件名的输入1)直接输入按照文件名的组成字符串,逐个字符输入即可。a.如果是已经存在的文件,系统就在编辑窗口显示该文件的内容,可供编辑、修改。如果是新文件,则给出一个空白编辑窗口,可供输入新的源程序。b.如果该文件不在当前目录下,则需要冠以路径名和(或)盘符。2)选择输入(仅适用于已经存在的源程序文件)a.回车,打开当前目录下后缀为.C的所有文件的文件名窗口。b.用上、下、左、右方向键,将光标定位于所需的文件名上。b.按回车键。[Return]33文件名的输入1)直接输入[Return]34常用编辑操作(1)在编辑源程序过程中,随时都可以按F2键(或File|Save),将当前编辑的文件存盘,然后继续编辑。这是一个良好的习惯!(2)关于帮助:在任何窗口下,按F1键激活活动窗口(或状态)的帮助:34常用编辑操作(1)在编辑源程序过程中,随时都可以按F2键35在任何窗口下,按F1键激活活动窗口(或状态)的帮助:.下一页──PageDown,返回上一页──PageUp.关闭在线帮助、返回原窗口(或状态)──Esc.返回前一个在线帮助屏──Alt+F1(无论在线帮助是否被激活).返回在线帮助索引──F1:激活在线帮助后,再按F1,则返回在线帮助索引,以便查询其它类别在线帮助信息。.查询库函数的在线帮助信息──^F1:将光标移到需要查询函数名的首字符上,然后键入^F1,即可获得该库函数的在线帮助信息。注:为简化描述,用“^”代表“Ctrl”键。^Fn就是Ctrl+Fn,下同。[Return]35在任何窗口下,按F1键激活活动窗口(或状态)的帮助:[R36

4.编译、连接──单个源程序文件

选择并执行Compile|MakeEXEFile项(快捷键:F9),则TC将自动完成对当前正在编辑的源程序文件的编译、连接,并生成可执行文件。如果源程序有语法错误,系统将在屏幕中央的“Compiling”(编译)窗口底端提示“Error:Pressanykey”(错误:按任意键)。此时,按空格键,屏幕下端的“Message”(消息)窗口被激活,显示出错(或警告)信息,光带停在第一条消息上。这时“Edit”(编辑)窗口中也有一条光带,它总是停在编译错误在源代码中的相应位置。注意:当用上、下键移动消息窗口中的光带时,编辑窗口中的光带也随之移动,始终跟踪源代码中的错误位置![Return]364.编译、连接──单个源程序文件[Return37

5.运行与查看结果

(1)运行当前正在编辑的源程序文件选择并执行Run|Run项(快捷键:^F9),程序运行结束后,仍返回到编辑窗口。当你认为自己的源程序不会有编译、连接错误时,也可直接运行(即跳过对源程序的编译、连接步骤)。这时,TC将一次完成从编译、连接到运行的全过程。(2)查看运行结果选择并执行Run|UserScreen项(快捷键:Alt+F5)。查看完毕后,按任一键返回编辑窗口。如果发现逻辑错误,则可在返回编辑窗口后,进行修改;然后再重新编译、连接、运行,直至正确为止。[Return]375.运行与查看结果[Return]386.编辑下一个新的源程序

选择并执行File|New项即可。如果屏幕提示如下确认信息:

NONAME.Cnotsaved.Save?(Y/N)如果需要保存当前正在编辑的源程序,则键入“Y”,进入操作(1);否则,键入“N”(不保存),跳转到(2)。(1)系统提示换名:

<d:><path>\NONAME.C

直接输入你给源程序文件起的名字即可。(2)系统给出一个空白的编辑窗口,可以开始编辑下一个新的源程序。[Return]386.编辑下一个新的源程序[Return]391.5程序设计与算法1.

程序2.

算法

3.

结构化程序设计

4.C语言程序设计的主要过程

391.5程序设计与算法1.程序40程序

程序(program)是为解决特定问题而用计算机语言编写的命令序列的集合。执行程序时,由程序控制计算机完成相应的操作,得到相应的结果。程序应包括:对数据的描述:数据的类型,数据的组织形式(数据结构,做什么)对操作的描述:操作步骤(算法,怎么做)所以:数据结构+算法=程序(沃思)[Return]40程序程序(program)是为解决特定41算法定义:为了解决一个问题而采用的方法和步骤称为算法。同一问题,有不同的解题方法和步骤;我们关心的仅限于计算机能执行的算法。计算机算法的分类:数值运算算法非数值运算算法41算法定义:为了解决一个问题而采用的方法和步骤称为算法。42算法的特性有穷性:有限的操作步骤(合理的范围之内)确定性:每一步都应当是确定的,不应含糊不清可行性:每一步应当正确的执行,得到确定的结果有零个或多个输入有一个或多个输出:算法的目的是为了求解

“解”就是输出没有输出的算法是没有意义的42算法的特性有穷性:有限的操作步骤(合理的范围之内)43算法举例—判断整数n是否为素数素数:除了1和该数本身,不能被其它任何整数整除的数。S1:输入n的值。S2:i=2S3:r=n%iS4:若r==0,输出“n不是素数”,算法结束。否则,继续S5。S5:i=i+1S6:若i<=n-1,返回S3;否则,输出“n是素数”,算法结束。43算法举例—判断整数n是否为素数素数:除了1和该数本身,不44(判断素数算法的改进)S1:输入n的值。S2:i=2,flag=1S3:r=n%iS4:若r==0,flag=0S5:i=i+1S6:若i<=n-1并且flag==1,返回S3;否则,继续S7。S7:若flag==1,输出“是素数”;否则,输出“不是素数”,算法结束。44(判断素数算法的改进)S1:输入n的值。45课后思考题设计一算法,判断任意3位数n是否为水仙花数。定义:水仙花数是指一个n位数(n≥3),它的每个位上的数字的n次幂之和等于它本身。(例如:1^3+5^3+3^3=153)[Return]45课后思考题[Return]46结构化程序设计结构化程序设计的实质是控制编程的复杂性。其基本思想是像搭积木一样,只要有几种简单的结构即可构成任意复杂的程序。三种基本结构顺序结构选择结构循环结构46结构化程序设计结构化程序设计的实质是控制编程的复杂性。其47顺序结构先A,后B顺序执行

AB

ab47顺序结构先A,后Bab48选择结构必有一个判断框选择的执行A或B之一A,B中可有一个是空的

成立

条件不成立

ABab48选择结构必有一个判断框ab49循环结构当型循环结构

A

条件直到型循环结构

A

条件不成立不成立成立成立aabb49循环结构当型循环结构直到型循环结构不成立不成立成立成立a50传统流程图的表示

起止框

I/O框判断框处理框流程线连接点(避免流程线交叉或过长,使流程图清晰)注释框(不是必要部分)50传统流程图的表示起止框51三种基本结构的N-S流程图注:A,B可以是一个简单的操作,也可以是3个基本结构之一。AB条件不成立成立当条件成立直到条件成立AABA51三种基本结构的N-S流程图AB条件不成立成立52结构化程序设计方法三种基本结构构成的程序必然是结构化的程序;结构化程序设计方法强调程序设计风格和程序结构的规范化;结构化程序设计方法提倡清晰的结构。基本思路:复杂问题的求解过程可分阶段进行具体采用以下方法:自顶向下,逐步细化,模块化设计(程序复杂时,更有必要),结构化编码(用高级语言语句正确的实现三种基本结构)[Return]52结构化程序设计方法三种基本结构构成的程序必然是结构化的程53C语言程序设计的主要过程提出并分析问题设计算法(画出算法流程)编写程序编译调试程序[Return]53C语言程序设计的主要过程提出并分析问题[Return]541.6如何学习本课程学习的内容:C语言的语法规则程序设计基本技术“先读(读程序),再模仿,再实战”上机环节的重要性541.6如何学习本课程学习的内容:55第1章C语言概述本章主要介绍C语言程序的结构和书写,以及TurboCV2.0的基本操作。1第1章C语言概述本章主要介绍C语言程序的结构和书写,以56本章内容1.1C语言的发展简史1.2C语言的特点1.3

简单的C程序介绍1.4TurboCV2.0的基本操作1.5

程序设计与算法1.6

如何学习本课程2本章内容1.1C语言的发展简史571.1C语言的发展简史1.

C语言诞生的历史背景2.C语言的诞生及发展3.在微机上使用的C语言编译系统有MicrosoftC、TurboC、BorlandC等。虽然它们的基本部分都是相同的,但还是有一些差异,所以请大家注意自己所使用的C编译系统的特点和规定(参阅相应的手册)。本课程选定的上机环境是TCV2.0。31.1C语言的发展简史1.C语言诞生的历史背景58C语言诞生的历史背景

在C语言诞生以前,系统软件主要是用汇编语言编写的。由于汇编语言程序依赖于计算机硬件,其可读性和可移植性都很差;但一般的高级语言又难以实现对计算机硬件的直接操作(这正是汇编语言的优势),于是人们盼望有一种兼有汇编语言和高级语言特性的新语言。4C语言诞生的历史背景在C语言诞生以前,59560许多著名的系统软件,如DBASEⅢPLUS、DBASEⅣ都是由C语言编写的。到上世纪90年代,C已经成为计算机专业学生的首选教学语言,并成为一代程序员主要工作语言。90年代中期,随着PC的普及和C++等面向对象语言的出现,人们渐渐把视线转移到PC应用软件上,程序员们也开始习惯用面向对象这种更高级方式思考和解决问题。大家对C强大的底层控制能力失去兴趣,因为那些复杂的代码已经可以交给编译器去实现,底层的操作已经完全可以交给类库和操作系统API去进行,C语言逐渐失去了主流编程语言的位置。6许多著名的系统软件,如DBASEⅢPLUS、DBAS61进入21世纪,随着个人电子消费产品和开源软件的流行,C语言再次焕发生机。由于C在底层控制和性能方面的优势,使之成为芯片级开发(嵌入式)和Linux平台开发的首先语言;在通信、网络协议、破解、3D引擎、操作系统、驱动、单片机、手机、PDA、多媒体处理、实时控制等领域,C正在用一行行代码证明它从应用级开发到系统级开发的强大和高效。762C语言的诞生及其发展

C语言是贝尔实验室于上世纪70年代初研制出来的,后来又被多次改进,并出现了多种版本。80年代初,美国国家标准化协会(ANSI),根据C语言问世以来各种版本对C语言的发展和扩充,制定了ANSIC标准(1989年再次做了修订)。

本课程以ANSIC新标准来介绍。8C语言的诞生及其发展C语言是贝尔实验室于上631.2C语言程序的特点C语言同时具有汇编语言和高级语言的优势。(1)语言简洁、紧凑,使用方便、灵活(共只有32个关键字,9种控制语句)。(2)运算符极其丰富。(3)数据结构丰富,具有现代化语言的各种数据结构。(4)具有结构化的控制语句,用函数实现程序的模块化。[程序演示1][程序演示2][程序文本1][程序文本2]91.2C语言程序的特点C语言同时具有汇编语言和高级语言64(5)语法限制不太严格,程序设计自由度大,所以,程序员应仔细检查程序保证其正确性,而不要过分依赖C编译系统去查错。如:对数组下标越界不作检查,整型数据与字符型数据可以通用。10(5)语法限制不太严格,程序设计自由度大,所以,程序员应65(6)C语言允许直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。所以,C语言兼有高级语言和低级语言的特点,又称为“中级语言”,既可用来编写应用软件,又可用来编写系统软件。对操作系统和系统实用程序以及需要对硬件进行操作的场合,用C明显优越于其他高级语言。11(6)C语言允许直接访问物理地址,能进行位(bit)操作66(7)生成的目标代码质量高,程序执行效率高。(8)可移植性好(较之汇编语言),基本上不作修改就能用于各种型号的计算机和各种操作系统。以上现在还不能深刻理解,待本课程学完相信大家就会有比较深的体会。12(7)生成的目标代码质量高,程序执行效率高。671.3简单的C程序介绍1.简单C程序举例2.通过以上例子,可以总结出:(1)C程序是由函数构成的。(2)一个函数由函数的说明部分(函数首部)和函数体组成。(3)一个C程序总是从main函数开始执行。131.3简单的C程序介绍1.简单C程序举例68(4)程序行的书写格式自由,既允许1行内写几条语句,也允许1条语句分写在几行上。(5)所有语句都必须以分号“;”结束,函数的最后一个语句也不例外。(6)C语言本身没有I/O语句,I/O实行“函数化”。(7)可用/*……*/对C程序中的任何部分作注释。“/*”和“*/”必须成对使用,且“/”和“*”、以及“*”和“/”之间不能有空格,否则都出错。3.程序的书写技巧14(4)程序行的书写格式自由,既允许1行内写几条语句,也69程序的书写技巧技巧:在源程序中,很多符号都是成对匹配出现的,为避免遗漏必须配对使用的符号,例如注释符号、函数体的起止标识符(花括号)、圆括号等等,在输入时,可连续输入这些起止标识符,然后再在其中进行插入来完成内容的编辑。在起止标识符嵌套时,以及相距较远时,这样做更有必要。15程序的书写技巧技巧:70C程序是由函数构成的1.一个C源程序至少包含一个函数(main函数),也可以包含一个main函数和若干其它函数。因此,函数是C程序的基本单位。2.main()函数的作用,相当于其它高级语言中的主程序;其它函数的作用,相当于子程序。3.main函数由程序员自己定义,main函数中使用的函数可以使自己编写的(如max案例中的函数),也可以是系统提供的(库函数,如printf函数、scanf函数)。4.C的函数库十分丰富,可参见课本的附录了解。[Return]16C程序是由函数构成的1.一个C源程序至少包含一个函数(71函数的说明部分(函数首部)例如,案例1.2中的函数max(),其函数说明各部分如下所示。函数类型函数名函数参数表↓↓↓

intmax(intx,inty)[Return]17函数的说明部分(函数首部)例如,案例1.2中的函数max72函数体在函数说明部分的下面、大括号(必须配对使用)内的部分。

函数体的构成:(1)说明部分说明语句部分由变量定义、变量说明等组成。(2)可执行语句部分一般由若干条可执行语句构成。案例1.2的main()函数体如下所示。18函数体在函数说明部分的下面、大括号(必须配对使用)内的部73main(){intn1,n2;变量定义部分

printf(“Inputthefirstnumber:”);scanf(“%d”,&n1);printf(“Inputthesecondnumber:”);可执行语句部分函数体

scanf(“%d”,&n2);printf(“max=%d\n”,max(n1,n2));}[Return]19main(){[Return]74C程序的执行

一个C语言程序,总是从main()函数开始执行,而不论其在程序中的位置。当主函数执行完毕时,亦即程序执行完毕。[Return]20C程序的执行一个C语言程序,总是从main()函数开75

一个完整的C语言程序,是由一个main()函数(主函数)和若干个其它函数结合而成的,或仅由一个main()函数构成。[例1.1]仅由main()函数构成的C语言程序。main(){printf(“ThisisaCprogram.\n”);}[程序演示]程序运行结果:ThisisaCprogram.

21一个完整的C语言程序,是由一个main()函数(主76[案例1.2]由main()函数和1个其它函数max()构成的C语言程序。intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}main(){intnum1,num2,c;printf(“Inputthefirstintegernumber:”);scanf(“%d”,&num1);printf(“Inputthesecondintegernumber:”);scanf(“%d”,&num2);c=max(num1,num2);printf(“max=%d\n”,c);}[程序演示]程序运行情况:

Inputthefirstintegernumber:6←┘Inputthesecondintegernumber:9←┘max=922[案例1.2]由main()函数和1个其它函数max(77改写[案例1.2],交换main()函数和max()函数的前后位置,源程序略。[程序演示]程序运行情况:

Inputthefirstintegernumber:6←┘Inputthesecondintegernumber:9←┘max=9说明:C语言程序总是从main()函数开始执行,而不论main函数在整个程序中的位置如何。[Return]23改写[案例1.2],交换main()函数和max()函数781.4TurboCV2.0的基本操作1.

运行一个C语言程序的一般过程2.TC的启动、退出与命令菜单

3.

编辑并保存一个C语言源程序

4.

编译、连接──单个源程序文件

5.

运行与查看结果

6.

编辑下一个新的源程序

241.4TurboCV2.0的基本操作1.运行一791.运行一个C语言程序的一般过程

TurboC是一个集源程序编辑、编译、连接、运行与调试于一体、用菜单驱动的集成软件环境。运行一个C语言程序的一般过程:(1)启动TC,进入TC集成环境。(2)编辑(或修改)源程序,源程序文件后缀一般为*.c,注意文件的保存。(3)编译。由编译程序将源程序编译成机器指令程序,即目标程序。目标程序的文件名与相应的源程序同名,但后缀为*.obj。如果编译成功,可进行下一步操作;否则,返回(2)修改源程序,再重新编译,直至编译成功。251.运行一个C语言程序的一般过程80(4)连接。将目标程序和库函数或其它目标程序连接成了可执行的文件,文件名与相应的源程序同名,后缀为*.exe。如果连接成功,则可进行下一步操作;否则,根据系统的错误提示,进行相应修改,再重新连接,直至连接成功。(5)运行。通过观察程序运行结果,验证程序的正确性。如果出现逻辑错误,则必须返回(2)修改源程序,再重新编译、连接和运行,直至程序正确。(6)退出TC集成环境,结束本次程序运行。[Return]26(4)连接。将目标程序和库函数或其它目标程序连接成了可执812.TC的启动、退出与命令菜单(1)启动TurboC(2)命令菜单的使用(3)退出TurboC[Return]272.TC的启动、退出与命令菜单[Return]82启动TurboC启动TurboC:tc←┘[画面演示](1)启动TurboC后,其主菜单条横向排列在屏幕顶端,并被激活,其中File菜单成为当前项。

(2)主菜单的下面,是Edit(编辑)窗口和Message(消息)窗口。两个窗口中,顶端横线为双线显示的,表示该窗口是活动窗口。28启动TurboC启动TurboC:tc←┘83(3)编辑窗口的顶端为状态行,其中:.Line1Col1:显示光标所在的行号和列号,即光标位置。.Insert:表示编辑状态处于“插入”。当处于“改写”状态时,此处为空白。.D:NONAME.C:显示当前正在编辑的文件名。显示为“NONAME.C”时,表示用户尚未给文件命名。(4)屏幕底端是7个功能键的说明,以及NumLock键的状态(显示“NUM”时,表示处于“数字键”状态;空白,表示“控制键”状态)。[Return]29(3)编辑窗口的顶端为状态行,其中:[Return]84命令菜单的使用(1)按下功能键F10,激活主菜单。如果主菜单已经被激活,则直接转下一步。(2)用左、右方向键移动光带,定位于需要的主项上,然后再按回车键,打开其子菜单。(3)用上、下方向键移动光带,定位于需要的子项上,回车即可。执行完选定的功能后,系统自动关闭菜单。注意:菜单激活后,又不使用,可再按F10/Esc键关闭,返回原来状态。[Return]30命令菜单的使用(1)按下功能键F10,激活主菜单。如果主85退出TurboC退出TC有两种方法:(1)菜单法:File|Quit先选择File主项,再选择并执行Quit子项(2)快捷键法:Alt+“X”先按下Alt键并保持,再按字母键X,然后同时放开[Return]31退出TurboC退出TC有两种方法:[Return]863.编辑并保存一个C语言源程序

(1)激活主菜单,选择并执行File|Load项(快捷键键:F3)。(2)在“LoadFileName”窗口,输入源程序文件名。文件名的输入有两种方法:直接输入和选择输入。(3)常用编辑操作[Return]323.编辑并保存一个C语言源程序[Return]87文件名的输入1)直接输入按照文件名的组成字符串,逐个字符输入即可。a.如果是已经存在的文件,系统就在编辑窗口显示该文件的内容,可供编辑、修改。如果是新文件,则给出一个空白编辑窗口,可供输入新的源程序。b.如果该文件不在当前目录下,则需要冠以路径名和(或)盘符。2)选择输入(仅适用于已经存在的源程序文件)a.回车,打开当前目录下后缀为.C的所有文件的文件名窗口。b.用上、下、左、右方向键,将光标定位于所需的文件名上。b.按回车键。[Return]33文件名的输入1)直接输入[Return]88常用编辑操作(1)在编辑源程序过程中,随时都可以按F2键(或File|Save),将当前编辑的文件存盘,然后继续编辑。这是一个良好的习惯!(2)关于帮助:在任何窗口下,按F1键激活活动窗口(或状态)的帮助:34常用编辑操作(1)在编辑源程序过程中,随时都可以按F2键89在任何窗口下,按F1键激活活动窗口(或状态)的帮助:.下一页──PageDown,返回上一页──PageUp.关闭在线帮助、返回原窗口(或状态)──Esc.返回前一个在线帮助屏──Alt+F1(无论在线帮助是否被激活).返回在线帮助索引──F1:激活在线帮助后,再按F1,则返回在线帮助索引,以便查询其它类别在线帮助信息。.查询库函数的在线帮助信息──^F1:将光标移到需要查询函数名的首字符上,然后键入^F1,即可获得该库函数的在线帮助信息。注:为简化描述,用“^”代表“Ctrl”键。^Fn就是Ctrl+Fn,下同。[Return]35在任何窗口下,按F1键激活活动窗口(或状态)的帮助:[R90

4.编译、连接──单个源程序文件

选择并执行Compile|MakeEXEFile项(快捷键:F9),则TC将自动完成对当前正在编辑的源程序文件的编译、连接,并生成可执行文件。如果源程序有语法错误,系统将在屏幕中央的“Compiling”(编译)窗口底端提示“Error:Pressanykey”(错误:按任意键)。此时,按空格键,屏幕下端的“Message”(消息)窗口被激活,显示出错(或警告)信息,光带停在第一条消息上。这时“Edit”(编辑)窗口中也有一条光带,它总是停在编译错误在源代码中的相应位置。注意:当用上、下键移动消息窗口中的光带时,编辑窗口中的光带也随之移动,始终跟踪源代码中的错误位置![Return]364.编译、连接──单个源程序文件[Return91

5.运行与查看结果

(1)运行当前正在编辑的源程序文件选择并执行Run|Run项(快捷键:^F9),程序运行结束后,仍返回到编辑窗口。当你认为自己的源程序不会有编译、连接错误时,也可直接运行(即跳过对源程序的编译、连接步骤)。这时,TC将一次完成从编译、连接到运行的全过程。(2)查看运行结果选择并执行Run|UserScreen项(快捷键:Alt+F5)。查看完毕后,按任一键返回编辑窗口。如果发现逻辑错误,则可在返回编辑窗口后,进行修改;然后再重新编译、连接、运行,直至正确为止。[Return]375.运行与查看结果[Return]926.编辑下一个新的源程序

选择并执行File|New项即可。如果屏幕提示如下确认信息:

NONAME.Cnotsaved.Save?(Y/N)如果需要保存当前正在编辑的源程序,则键入“Y”,进入操作(1);否则,键入“N”(不保存),跳转到(2)。(1)系统提示换名:

<d:><path>\NONAME.C

直接输入你给源程序文件起的名字即可。(2)系统给出一个空白的编辑窗口,可以开始编辑下一个新的源程序。[Return]386.编辑下一个新的源程序[Return]931.5程序设计与算法1.

程序2.

算法

3.

结构化程序设计

4.C语言程序设计的主要过程

391.5程序设计与算法1.程序94程序

程序(program)是为解决特定问题而用计算机语言编写的命令序列的集合。执行程序时,由程序控制计算机完成相应的操作,得到相应的结果。程序应包括:对数据的描述:数据的类型,数据的组织形式(数据结构,做什么)对操作的描述:操作步骤(算法,怎么做)所以:数据结构+算法=程序(沃思)[Return]40程序程序(program)是为解决特定95算法定义:为了解决一个问题而采用的方法和步骤称为算法。同一问题,有

温馨提示

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

评论

0/150

提交评论