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

下载本文档

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

文档简介

C语言程序设计第1章C语言概述第2章数据类型与表达式第3章顺序结构程序设计第4章选择结构程序设计第5章循环结构程序设计第6章数组第7章函数第8章预处理命令第9章指针第10章结构类型与其他构造类型第11章文件第一章C语言概述1.1C语言的发展及其特点1.2C语言的基本符号1.3简单的C语言程序1.4C程序的开发步骤1.5本章小结本章的主要内容1、了解C语言的特点。2、认识C语言程序的格式及其结构特点。3、掌握C程序上机调试环境的操作方法。本章的重点和难点重点:1、C语言程序的格式及其特点。

2、在turbo-C环境下建立、修改、编译、连接、运 行、调试C程序的方法。难点:在turbo-C环境下调试C程序的方法。1.1C语言出现的历史背景一、C语言的诞生和发展在C语言诞生以前,系统软件主要是用汇编语言编写的。由于汇编语言程序依赖于计算机硬件,其可读性和可移植性都很差;但一般的高级语言又难以实现对计算机硬件的直接操作(这正是汇编语言的优势),于是人们盼望有一种兼有汇编语言和高级语言特性的新语言。C语言是贝尔实验室于70年代初研制出来的,后来又被多次改进,并出现了多种版本。80年代初,美国国家标准化协会(ANSI),根据C语言问世以来各种版本对C语言的发展和扩充,制定了ANSIC标准(1989年再次做了修订)。Algol60由一个国际委员会于19世纪60年代早期设计。

CPL(CombinedProgrammingLanguage混合编程语言)——由剑桥和伦敦大学于1963年开发而成。

BCPL(BasicCombinedProgrammingLanguage基础混合编程语言)——由剑桥大学的MatinRichards于1967年发明。

B——由贝尔实验室的KenThompson于1970年发明

C——由贝尔实验室的DennisRitchie于1972年发明。标准C——BrianW.Kernighan和DennisM.Ritchie(合称K&R)编写《TheCProgramming》1978年ANSIC——美国国家标准化协会根据问世以来的各种版本对C的发展和扩充,制定新标准,1983年87ANSICISOC——国际标准化组织接受87ANSIC为87ANSIC为ISOC标准C语言的发展历程如下:二、C语言的特点

(1)C语言简洁、结构紧凑,程序书写方便、使用灵活。

C语言仅有32个具有特定意义的关键字,9种控制语句,程序书写自由,用小写字母书写程序。除宏定义的宏名一般采用大写字母外,其它一般用小写字母书写,C语言把大、小字母视为两个不同的字符。

(2)运算符丰富,数据处理能力强。

C语言有34种运算符,把括号、赋值号等作为运算符处理,且有自加、自减、逗号等运算符,使C语言运算符丰富,且新颖、灵活、多样,既可以实现汇编语言的许多功能,又可以实现其它高级语言难以实现的功能。(3)数据结构丰富,具有现代化语言的各种数据结构。有整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等,能满足现代程序设计的要求。(4)具有结构化的控制语句。有9种控制语句,对程序的逻辑结构提供了很好的基础。其程序结构清晰,层次分明,有利于采用自顶而下,逐步求精的程序设计方法。(7)生成目标代码质量高,程序执行效率高,可移植性好。可移植性是指在一种环境下运行的程序在另一种不同的环境下也可以运行。用汇编语言(低级语言)编写的程序,完全依赖以计算机硬件,而C语言程序基本上不作修改就能用于各种型号的计算机和各种操作系统。(5)语法限制不太严格,程序设计自由度大。例如数组下标越界不作检查,变量类型使用比较灵活,字符型和整型数据可以通用。(6)C语言能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。C语言既具有高级语言的功能,又具有低级语言的许多功能,C语言的这种双重性,使它既是成功的系统描述语言,又是通用的程序设计语言。(8)使用方便,具有完好的集成开发环境。本书介绍的TurboC是一个集程序编辑、编译、链接、运行、调试为一体的C语言程序开发环境。可对程序进行全屏幕编辑。可利用窗口功能进行编译、链接、调试、调试、环境设置等工作。C语言既具有高级语言的功能,又具有低级语言的许多功能,对操作系统和系统实用程序以及需要对硬件进行操作的场合,C语言明显地高于其他高级语言。C语言的弱点:

非强类型:语法限制不严格,这使得编程者无法过多地依赖C编译程序去查错。缺少实时检查:如数组越界等对程序员的要求比较高。1.2C语言的基本符号1.2.1基本符号集在C语言中使用的词汇分为六类: 标识符,关键字,运算符,分隔符,常量,注释符等。运算符C语言中含有相当丰富的运算符。运算符与变量,函数一起组成表达式,表示各种运算功能。运算符由一个或多个字符组成。分隔符在C语言中采用的分隔符有逗号和空格两种。逗号主要用在类型说明和函数参数表中,分隔各个变量。空格多用于语句各单词之间,作间隔符。在关键字,标识符之间必须要有一个以上的空格符作间隔,否则将会出现语法错误,例如把inta;写成inta;C编译器会把inta当成一个标识符处理,其结果必然出错。常量

C语言中使用的常量可分为数字常量、字符常量、字符串常量、符号常量、转义字符等多种。在第二章中将专门给予介绍。注释符

C语言的注释符是以“/*”开头并以“*/”结尾的串。在“/*”和“*/”之间的即为注释。程序编译时,不对注释作任何处理。注释可出现在程序中的任何位置。注释用来向用户提示或解释程序的意义。在调试程序中对暂不使用的语句也可用注释符括起来,使编译跳过不作处理,待调试结束后再去掉注释符。在VC编辑器中,如果注释仅包含一行,只需在注释语句之前使用//来表明这是一行注释。例如:inta=0;//Thisisasampleprogram1)

计算机语言主要是由其所限定的符号表示的一些字、词、命令、变量、数据等,标识符指的就是用来标识变量名、符号常量、函数名、文件名及一些具有专门含义的有效字符序列,标识符就是一个名字。

C语言规定标识符只能由字母、数字和下划线('_')三种字符组成,且第一个字符必须为字母或下划线。如:sum,average,Class,day,month,Student_name,lotus_1_2_3,BASIC,li_lingM.D.John,¥123,#33,3D64,a>b,?32,*p1.标识符及其组成1.2.2标识符2)C语言中有32个关键字,禁止用户再用来定义标识符。autodefaultfloatregisterstructvolatilebreakdoforreturnswitchwhilecasedoublegotoshorttypedefcharelseifsignedunionconstenumintsizeofunsignedcontinueexternlongstaticvoid12个预处理命令,一般也不允许用户再用来定义标识符。defineendifeliferrorlineincludeifdefifndefpragmaundefifelse

3)不同的C版本对标识符的长度有不同的要求。一般可以识别前8个字符,多余的字符不被识别。例如,由于student_name和student_number的前8个字符相同,有的系统认为这两个变量,是一回事而不加区别。

4)在C语言中,系统认为大、小写字母是不同的字符。如sum、Sum是不同的标识符。

5)定义标识符时,尽量做到“见名知意”,以增加程序的可读性。如:name/xm(姓名)、sex/xb(性别)、age/nl(年龄)、salary/gz(工资)等。

2.标识符分类:

1)关键字标识符:关键字又称命令字,在程序中具有特定的含义,不能另作他用,其他字符无法代替它。例如,int、float、char、if、else等都是关键字。2)预定义标识符:一般是指C语言提供的库函数名和预编译处理命令,例如:printf、scanf、define等。允许另作它用,但失其规定的原意。为了编程时方便、可靠、避免误解,一般不另用。3)用户标识符:编程时用户需要给一些变量、函数、数组、文件等命名,这类由用户根据需要自定义的标识符称为用户标识符。注意:用户标识符尽量做到“见名知意”,便于阅读程序,决不能与关键字相同,一般也不要同预定义标识符相同。1.2.3保留字

所有的语言都保留了一些单词供内部使用。这些单词在一个特定语言的上下文中含有特殊的意义,它们被称为“关键字”。在C语言中所有关键字必须小写。在C语言中命名标识符时,要确保没有使用任何关键字来作为标识符。例如,所有的数据类型都是保留的关键字。因此,在关键字,标识符之间必须有一个以上的空格符作间隔,否则将会出现语法错误。C语言的关键字分为以下几类:(1)类型说明符用于定义、说明变量、函数或其它数据结构的类型。如前面例题中用到的int,double等(2)语句定义符用于表示一个语句的功能。如ifelse就是条件语句的语句定义符。(3)预处理命令字用于表示一个预处理命令。如include。1.3简单的C程序介绍1.3.1几个简单的C语言程序用C语言编写的源程序,简称C程序。C程序是一种函数结构,一般有一个或若干个函数组成,其中必须有一个且只能有一个main()函数,main()函数是程序执行的入口点。[例1.1]仅由main()函数构成的C语言程序。/*功能:仅由main()函数构成的C语言程序示例*/main(){printf(“ThisisaCprogram.\n”);}程序运行结果:

ThisisaCprogram.例1.2求两数之和main() /*求两数之和*/{inta,b,sum; /*定义变量*/a=123;b=456; /*以下3行为C语句*/sum=a+b;printf(“sumis%d\n”,sum);}/*……*/表示注释部分,可以加在程序的任何地方,对编译和运行不起作用。/*变量赋初值*//*求和*//*输出结果*/程序运行结果:sumis579由main()函数和1个其它函数max()构成的C语言程序。[例1.3]由键盘输入a、b两个数,求a、b两个数的大者,并输出之。main(){inta,b,c; printf(“Inputtwointegernumber:”);scanf(“%d,%d”,&a,&b);c=max(a,b);printf(“max=%d\n”,c);}intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z)}程序运行情况:

Inputtwointegernumber:8,5←┘max=8[程序演示]/*主函数*//*声明部分,定义变量*//*输入变量a和b的值*//*调用函数max,将得到的值赋给c*//*输出c的值*//*定义max函数,函数值为整型,形式参数x,y为整型*//*max函数中的声明部分,定义本函数中用到的变量z为整型*//*将z的值返回,通过max带回调用处*/交换main()函数和max()函数的前后位置。源程序略。程序运行情况:

Inputtwointegernumber:8,5←┘max=8[程序演示]1.函数是C语言程序的基本单位。main()函数的作用,相当于其它高级语言中的主程序;其它函数的作用,相当于子程序。2.C语言程序总是从main()函数开始执行。一个C语言程序,总是从main()函数开始执行,而不论其在程序中的位置。当主函数执行完毕时,亦即程序执行完毕。习惯上,将主函数main()放在最前头。1.3.2C语言程序结构有以下特点:(1)C语言程序由函数组成的,函数是C语言程序的基本单位。一个C语言程序必须且仅有一个名为main的主函数,也可以有若干个其它函数,程序的全部工作由函数完成。(2)一个函数由两个组成部分。

函数函数首部函数体①函数首部:又称函数说明,包括函数类型、函数名、函数的形式参数名及其类型(称函数参数表)。如上例中:

intmax(intx,inty)

类型名函数名函数参数类型函数参数名函数参数类型函数参数名②函数体:由函数首部以下的第1对花括号“{}”内的若干语句组成。一般来说,语句分为两类:变量定义和执行语句。

变量定义:如main函数中的“inta,b,c;语句。在某些情况下,程序中不需要定义变量时,可不定义变量。

执行语句:由一组执行语句组成,完成本函数的功能。函数体中可以无任何内容,即构成一个空函数。

(3)程序总是从main()函数开始执行,而不管main()的位置如何。由main函数开始调用其它函数,其它函数间也可以相互调用,最终返回main函数结束程序。

(4)程序书写较自由,一行可以写几条语句,一条语句也可以分行书写。main(){inta,b,c;变量定义部分

printf(“Inputtwointegernumber:”);scanf(“%d,%d”,&a,&b);c=max(a,b);可执行语句部分函数体

printf(“max=%d\n”,c);即计算与加工

}说明(1)函数体中的变量定义语句,必须在所有可执行语句之前。下面程序中变量定义语句“intmax;”的位置是非法的:main(){intx,y; /*变量定义语句:定义2个整型变量x、y*/x=3; /*可执行的赋值语句:将3赋值给变量x*/y=6; /*可执行的赋值语句:将6赋值给变量y*/intmax; /*变量定义语句:出现在可执行的赋值语句“x=3;”和“y=6;”之后,非法!*/max=x>y?x:y;printf(“max=%d\n”,max);}(2)如果不需要,也可以缺省变量定义语句。(5)分号是一条语句的结束符。(6)C语言没有输入输出语句。输入输出的操作是由库函数scanf和printf等函数来完成的。(7)可用/*......*/对程序中的任何部分进行注释,以增加程序的可读性,注释不影响语句的功能。

注意:(1)为增加可读性,C程序中可以使用适量的空格和空行,但不能在变量名、函数名、关键字中插入空格和空行;(2)C语言对大小写是敏感的,即大小写是不等价的,在程序一般情况下用小写;(3)虽然C程序的书写格式自由度很大,灵活性很强,但为了避免层次混乱不清,便于阅读,一般都采用一定格式的书写法:

a.一般一条语句占一行;

b.不同结构层次的语句,从不同位置开始写(缩进);

c.语句中不同单词加适量的空格。

预编译处理命令全局变量定义

main(){

变量定义序列语句序列

}sub1()/*自定义函数*/{……}sub2()/*自定义函数*/{……}C程序的一般形式如下:

1.4C语言程序的开发步骤

TurboC为用户提供了一个集成环境,把程序的编辑、编译、连接和运行等操作等全部集中在一个界面上,使用方便。1.启动TurboC(1)由DOS平台进入TurboCC:\CD\TC<回车>(进入tc子目录)

C:\TC>TC<回车>(执行

tc.exe)(2)由windows平台进入TurboC1)可以在桌面上选择“开始”“程序”“MS-DOS方式”菜单,进入“DOS方式”窗口,在该窗口中使用上述DOS命令,进入TurboC。2)通过“资源管理器”找到文件夹TC中的tc.exe文件,双击该文件名,即可进入TurboC环境。3)把tc.exe文件创建为“快捷方式”,并在桌面上建立tc.exe的图标,只需双击该图标即可进入TurboC。2.退出TurboC:

(1)同时按下Alt+x键即退出TurboC;

(2)打开file菜单,光带移至“quit”处,并按下回车键即退出TurboC,或在打开file菜单后,直接敲字母q便退出TurboC。C程序的编辑、编译与运行过程:

编译(compile)连接(link) 可执行程序(.EXE)源程序(.C)目标程序(.OBJ)开始编辑编译有错?连接执行结果正确?结束源程序f.c目标程序f.obj库函数和其他目标程序可执行目标程序f.exe有不正确运行C源程序的流程图TurboC的工作窗口TurboC的启动菜单TurboC的工作窗口包括以下几方面的内容:

主菜单窗口。包括8个主菜单:

File(文件):对文件的装入、保存、选取、建立等操作

Edit(编辑):进入编辑状态,用户可编辑当前窗口中显示的程序

Run(运行):自动编译、连接并运行程序

Compile(编译):进行程序的编译和链接

Projet(工程):对工程(由多个源文件组成的程序)进行处理

Option(选项):设置选项,如制定工作环境等

Debug(调试):调试程序,如显示变量的值,查找函数等

Break/Watch(断点/监视):调试程序,断点的设置和清除,监测变量值的变化(2)编辑窗口。主菜单窗口的下面,正上方有Edit字样作为标志。编辑窗口用作对源程序进行输入和编辑。在编辑窗口的上部有一行英文:

Line1Col1InsertIndentTabFileUnidentC:NONAME.C光标当前的行位置光标当前的列位置编辑正处在字符插入方式,可用Ins键进行插入方式与覆盖方式切换程序自动缩进方式,用ctrl+oi切换表示可以使用TAB键插入制表符,用ctrl+ot切换正在编辑的文件名(如果从磁盘调人一个以存在的文件,则该位置显示的不是NONAME.C,而是调入的文件名)(3)信息窗口。在信息窗口上方有Message字样作为标志,信息窗口用来显示编译和连接时的有关信息。(4)功能提示行。在屏幕的下方,它显示一些功能键的作用。

1)F1-Help(帮助):任何时候按下F1键都会显示帮助信息。

2)F5-Zoom(分区控制):如果当前在编辑窗口工作,也就是编辑窗口是激活的,按F5键就不显示信息窗口,从而扩大编辑窗口,若再按一次F5键就会恢复信息窗口。如果当前信息窗口是激活的,按F5键就不显示编辑窗口,从而扩大信息窗口,以便能显示较多的信息便于用户观看,若再按一次F5键,就恢复原空状。

3)F6-Switch(转换):按F6键就激活信息窗口(Message以高亮度显示),此时编辑窗口不能工作,若再按一次F6键,就又激活编辑窗口(Edit以高亮度显示),此时可在编辑窗口编辑源程序。6)F9-Make(生成目标文件):进行编译和连接,生成.obj文件和.exe文件,但不能运行。

7)F10-Menu(菜单):回到主菜单,激活第一个菜单File(此时File以反相显示)。4)F7-Trace(跟踪),跟踪进入:执行一程序,遇到函数可进入函数内部跟踪。

5)F8=Step(单步),单步执行:执行一程序,但不能进入函数内部跟踪。File菜单LoadF3PickAlt-F3NewSaveF2WritetoDirectoryChangedirOSshellQuitAlt-X

按照指定的文件名装入一个文件。列出最后装入的8个文件,用户从中选择要装入的文件。将编辑窗口的内容清空,开始编辑一个新文件。将正在编辑的文件存盘。将正在编辑的文件存入一个新文件中。显示当前工作目录的文件列表。改变当前工作目录。暂时退出TurboC环境,进入DOS,在DOS环境用EXIT返回C。退出TurboCRun菜单RunCtrl-F9ProgramresetCtrl-F2GotocursorF4TraceinfoF7StepoverF8UserscreenAlt-F5运行当前程序,系统自动对程序进行连接。程序重启,中止当前调试过程,释放程序空间,关闭文件。使程序运行到编辑窗口光标在的行。跟踪进入,执行一程序,遇到函数可进入函数内部跟踪。单步执行,执行一程序,但不能进入函数内部跟踪。显示用户屏幕,观看用户输出结果。CompiletoobjC:NONAME.OBJMakeEXEfileC:NONAME.EXELinkEXEfileBuildallPrimaryCfileGetinfo

对源程序进行编译,生成目标程序文件OBJ。对源程序进行编译和连接,生成可执行文件EXE。对当前的OBJ和库进行连接,生成可执行文件EXE。重新编译连接project中的全部程序,生成可执行文件EXE。指定文件作为编译对象,以代替编辑窗口中的文件。在弹出的窗口中显示有当前文件的信息。ProjectnameBreakmakeonErrorsAutodependenciesOffClearProjectRemovemessages指定工程文件名,工程文件后缀为.prj。指定中止编译的条件。自动依赖,若程序已修改,则在运行前重编译连接清除当前的工程文件名删除信息,将错误信息从信息窗口中清除CompilerLinkerEnvironmentDirectoriesArgumentsSaveoptionsRetrieveoptions指定编译选项指定连接选项指定工作环境指定目录指定参数向环境文件中保存当前的工作环境从环境文件中恢复当前的工作环境Options菜单Options/Directories菜单2.选择用户文件的存放目录

当需设用户文件的存放目录时,在主菜单中选“file”选项,弹出相应的下拉菜单,如图1.12所示。将光标移到“changedir”选项并按回车键,弹出一个子目录提示框。用户可在该提示框输入用户文件的存放目录,输入完后按下回车即可,如输入C:\TC\USER(前面已创建的目录)。3.建立工作环境这里所说的工作环境,是指对TurboC工作状态的设置以及编译程序的连接程序要求的环境变量的设置。具体地说,就是告诉TurboC,#include命令(即预编译命令)所包含的文件和库文件所在的目录以及告诉TurboC编程后其输出文件存放的目录。简单的说,就是告诉TurboC到哪里去寻找编译、链接所需的文件,及生成的可执行文件放到哪里。操作步骤如下:

(1)按<F10>键,在主菜单上选择“Options”选项并按回车键,显示如图1.13所示。

(2)在“Options”子菜单中选择“Directories”选项并按回车键,将弹出子菜单,如图1.14所示。子菜单中各选项的含义是:“IncludeDirectories”选项:说明标准包含文件的目录即INCLUDE所在的位置。输入时应包含文件所在的盘符和路径,这里输入C:\TC\INCLUDE。“LibraryDirectory”选项:说明TurboC运行时库文件所在的目录,即LIB所在的位置。输入时应包含文件所在的盘符和路径,这里输入C:\TC\LIB。“Outputdirectory”选项:编译、连接后的可执行文件所存放的目录,即用户的.obj和.exe文件的存放位置。用户选择输入已存在的目录,若为空,则这些文件被放在当前目录。这里输入C:\TC\USER。“TurboCdirectory”选项:TurboC文件所在的目录,用于TurboC系统寻找配置文件(.TC)和帮助文件(TCHELP.TCH)。这里应输入C:\TC。EvaluateCtrl-F4CallstackCtrl-F3FindfunctionRefreshdisplayDisplayswappingSmartSourcedebuggingOn计算变量或表达式的值,显示结果当调试程序调用多级函数时,显示调用栈查找函数。在编辑窗口显示被查找函数的源程序刷新屏幕,恢复当前屏幕内容指定在调试程序时若程序产生错误是否切换到用户屏幕指定进行源程序调试时的选项AddwatchCtrl-F7DeletewatchEditwatchRemoveallwatchesTogglebreakpointCtrl-F8ClearallbreakpointsViewnextbreakpointOn增加监视表达式删除指定的监视表达式编辑监视表达式删除全部监视表达式设置/取消程序调试时的中断点清除全部中断点将光标定位在下一个中断点(1)编辑新文件:

命令主菜单的选择:按F10

键,用←和→选择主菜单,再回车;或Alt键加每个主菜单前的首字母(红色)。如:ALT+F可拉下File菜单。

命令子菜单的选择:拉下子菜单后,用↑和↓键选择子菜单命令,再回车。编辑新文件:File→New保存文件:save(2)编辑已存在的文件:打开文件:File→Load或F3File→Pick或ALT+F3保存文件:File→Save或F2另存文件:File→Writeto4.编辑源程序说明:

a.如果输入的文件名为新建文件,则屏幕上为空白,用户可以直接从键盘上输入程序内容。

b.如果输入的文件名是已经存在,则屏幕上将显示源程序文件的内容,可以进行编辑修改。

c.如果记不清要编辑的源程序文件名,可以在屏幕上出现“*.c”提示时,直接按回车键,TurboC就会显示当前目录下的所有扩展名为“.c”的文件供用户选择。5.常用编辑键光标左移一个字符光标右移一个字符光标下移一个字符光标上移一个字符PgUp上翻一页PgDn下翻一页Home光标移到行首End光标移到行尾Insert(Ins)Inserton/offCtrl-N或Enter插入一个空白行Backspace删除光标左边的字符Delete(Del)删除光标所在的字符Ctrl-Y删除光标所在行5.编译、链接和运行Compile→CompiletoOBJ或Alt+F9

编译时如提示错误,修改程序,然后再重新编译,直到无任何错误编译成功。1.对单文件的编译、链接(1)编译:对源程序进行编译,生成目标文.OBJ。链接:将目标程序与库函数和包含文件等链接成一个可执行文件.EXE。

CompileLinkEXEfile(或按Alt+c,再按L键)

注意:编译、链接完全正确并不代表程序完全正确,只能说明无语法错误,不一定代表算法正确或运行结果正确。3.运行程序:(1)按F10键回到主菜单(或按Alt+R),选择Run选项,在其下拉菜单中选择Run命令项,即可运行已生成的可执行文件。

(2)直接按Ctrl+F9,将一次完成编译、链接到运行的全过程。

(3)在DOS环境下直接运行可执行文件,设可执行文件名为gao.exe,则执行命令为:C:\TC\gao<回车>

查看结果:程序运行后系统自动回到TurboC编辑屏幕,要想查看程序的运行结果

,可在“Run”菜单中选“UserScreen”选项或直接按Alt+F5,查看后按任意键返回到编辑窗口。2.一次完成编译和链接:生成目标文件和可执行文件

CompileMakeEXEfile6.TurboC的热键

只要在TurboC的环境下,不论处于什么状态下,按下热键可执行相应的菜单功能。热键功能对应菜单命令F1激活帮助窗口,显示光标位置的有关操作信息F2将编辑窗口中的文件一指定文件名存盘Save

F3装入指定文件LoadF4将程序执行到光标所在的行后暂停GotocursorF5缩放当前窗口F6切换活动窗口F7调试程序,每次执行一行程序,可进入被调函数Traceinto

F8调试程序,每次执行一行程序,不进入被调函数

StepoverF9编译、连接源程序,生成可执行文件F10进入主菜单Ctrl-F1

调用光标所在位置有关函数的上下文帮助信息Ctrl-F2终止当前调试过程,释放程序空间,关闭文件ProgramresetCtrl-F3显示调用栈CallstackCtrl-F4计算表达式EvaluateCtrl-F7在观察窗口中输入表达式AddwatchCtrl-F8

设置断点的开关Togglebreakpoint

Ctrl-F9运行程序RunAlt-F1显示上一次显示的帮助信息Alt-F3在最后装入的8个文件中选取文件装入PickAlt-F5显示用户屏幕,观看输出结果Userscreen

Alt-F7定位上一个错误Alt-F8定位下一个错误Alt-F9将编辑窗口中的源程序进行编译,生成OBJ文件Alt-B进入Break/Watch菜单Alt-C进入Compile菜单Alt-D进入Debug菜单Alt-E进入Edit菜单Alt-F进入File菜单Alt-O进入Option菜单Alt-P进入Project菜单Alt-R进入Run菜单Alt-X退出TutboC

Quit补充:*程序设计的基本步骤*.1程序设计的基本步骤*.2程序的基本结构与算法*.3程序设计的模块化思想*.1程序设计的基本步骤一、程序程序是指令的有序集合;是一组为完成某种任务而编制的指令的序列。而指令是规定计算机进行某种操作的命令。计算机的工作过程也就是执行指令的过程,计算机所做的任何工作都是执行程序的结果。可以说,程序是计算机赖以生存的粮食,离开程序,计算机寸步难行。二、计算机语言计算机语言是人与计算机进行信息交流的必备工具,又称为程序设计语言,用来实现程序设计。计算机语言分为:机器语言、汇编语言和高级语言。高级语言使用人们熟习的文字、符号及数学表达式来编写程序,是一种接近人们习惯的程序设计语言,使程序的编写和操作十分方便,因此使用极为广泛。

用高级语言编写的程序称为“源程序”,计算机不能直接执行源程序,源程序必须翻译为计算机能够接受和执行的二进制代码所表示的“目标程序”(也称机器语言)。具有这种翻译功能的程序称为“编译程序”,如图1.1所示。编译程序目标程序源程序每一种高级语言都有与其相应的编译程序,在计算机内运行编译程序,才能运行相应的高级语言所编写的源程序。本书所介绍的C语言(TurboC)是目前国内外广泛流行的高级语言,是面向过程的较好的结构化程序设计语言,它不仅是可以用来编写系统软件。也可以用来编写应用软件,深受广大程序设计者的欢迎。机器语言:二进制编码指令汇编语言:助记符高级语言:文字,符号,数学表达式编写程序。三、程序设计的基本步骤1.分析问题:确定数据结构,建立数学模型,规划输入数据和输出的结果。对用户的需求、给定的数据、输出的结果、如何处理等进行具体分析,明确编程目标。

2.确定算法:为解决一个问题而采取的方法和步骤称为算法。算法的设计依据所给定的数据结构。

3.编写程序:依据所确定的算法,用程序设计语言编写程序,存入计算机中。

4.调试程序:在编译程序环境下,对源程序编辑、编译、链接、调试运行,修改程序中的语法错误和逻辑错误,直至程序运行成功。

5.建立文档资料:整理源程序及总结分析结果,程序技术说明,用户使用说明等,以便今后维护和修改。

评价一个程序的标准有以下几条:(1)正确性:保证程序执行结果要正确。(2)结构性:程序组成结构中的成分要少而精,各种组成结构独立性要强,彼此间的联系简单。(3)高效率:程序运行时间要快,占用存储空间要小。(4)适应性:程序适应范围要广,具有抗干扰的能力,适应于不同的环境和条件下运行。(5)易用性:适应用户的需求,方便用户的使用。(6)可读性/可维护性:程序结构要清晰,便于阅读和理解,修改和维护。*.2程序的基本结构与算法一、算法

编写正确的程序必须具备两个基本条件: 一是要掌握一门计算机高级语言的语法规则; 二是要掌握解题的方法和步骤。计算机语言只是一种工具,只学习语言的语法规则是不够的,重要的是针对各种类型的问题,拟定出有效的解题方法和步骤,即算法。算法概念也是计算机程序设计中最基本概念之一。

著名计算机科学家沃思(NikiklausWirth)提出一个公式:数据结构+算法=程序

算法是指为解决某一特定的问题,所给出的一系列确切的、有限的操作步骤;数据结构是对参与运算的数据以及数据的关系的描述。算法和数据结构是程序的两个重要方面。

在算法设计中应遵循以下几个准则(1)可执行性。算法中的每一步骤,都必须是所使用的高级语言能够描述的操作。(2)确定性。算法中每一步操作步骤必须有确切的含义,无“二义性”,即该操作对于相同的输入必须得到相同的结果。(3)有穷性。一个算法必须在有限操作步骤完成后,得出正确结果,能够使算法结束。(4)输入。一个算法,可以有零个、一个或多个特定对象的输入。(5)输出。一个算法,其主要目的是求解问题,可以有一个或多个与输入相关的输出。

二、算法的表示方法

怎样表示一个算法呢?一般采用自然语言、传统流程图或N-S结构图,伪代码,PAD图(ProblemAnalysisDiagram,意为问题分析图)等。

1.

自然语言表示

自然语言可以是中文、英文等,用自然语言表示的算法通俗易懂,但一般篇幅冗长,表达上往往不易准确,容易引起理解上的“岐义性”,用于算法较简单的情况,例如s=1+2+3+.....+99+100的自然语言算法如下。

分析:设i从1到100变化,每次i变化之后将结果加入累加和S中,S的初值设为0。自然语言算法如下:(a)将1送到i之中;(b)s+i的结果送到s之中;(c)i自增1;(d)将i与100比较,如果不大于100,则跳转(b),否则转(e);

(e)输出S的值,即累加结果。

2.传统流程图表示

传统流程图是用规定的一组图形符号、流程线和文字说明,来表示各种操作的算法。传统流程图常用的符号如表所示:…….圆内有标记

例:S=1+2+3+……+99+100的传统流程图i=1s=0s=s+i输出si<=100i=i+1yn3.用N-S结构图表示1973年由美国学者I.Nassi和

B.Shneidermam提出一种结构化流程图,简称N-S结构图(N和S是他们英文姓名的第一个字母)。Chapin在1974年进行了进一步扩展,因此,N-S结构图又称为Chapin图或盒图。N-S结构图的三种基本结构如下:程序中的语句按其排列的先后顺序逐条执行。处理A处理B(a)传统流程图(b)N-S结构图顺序结构流程图(1)顺序结构:a=3b=4s=a+b输出和a=3b=4s=a+b输出smain(){inta,b,s;a=3;b=4;s=a+b;printf(“s=%d\n”,s);}[程序演示]例:求s=a+b的值。(2)分支结构

分支结构又称选择结构,在分支结构中,要根据逻辑条件成立与否,分别选择执行不同的处理。条件yesno处理A处理B处理A(a)传统流程图(b)N-S结构图

分支结构条件真假处理B例:求a、b两数中较大的数。a>bmax=amax=b输出maxyesnoa>byesnomax=amax=bmain(){inta=6,b=8,max;if(a>b)max=a;elsemax=b;printf(“max=%d\n”,max);}[程序演示](3)循环结构循环结构分为当型循环和直到型循环两种类型。

在当型循环结构中,当逻辑条件成立时,就反复执行循环体,直到逻辑条件不成立时结束循环。

在直到型循环结构中,反复执行循环体,直到逻辑条件成立时结束循环(即逻辑条件不成立时继续执行循环体)。条件条件循环体循环体当条件成立时继续假真

当条件成立时结束循环体条件真假循环体(a)传统流程图(b)N-S结构图当型循环结构(a)传统流程图(b)N-S结构图直到型循环结构一般循环结构包括四部分:(1)初始化部分——为循环变量以及各种有关变量赋初始值;注意此部分在其他各部分之前;(2)循环体——重复执行的部分;(3)修改部分——修改循环变量值,为下一次重复执行做准备;(4)判断检查部分——判断检查循环变量之值,是否已超过循环变量的终值,若未超过则继续重复执行循环体,否则结束循环。当型和直到型循环还可以可表示如下:循环变量=初始值循环变量﹥终值循环体循环变量=循环变量的后继(a)是否循环变量=初始值循环变量﹥终值循环体循环变量=循环变量的后继是否(b)循环结构示意图例:计算n!。i=1,t=1输入n输出t(n!)i<=n?循环体t=t*ii=i+1yesnoi=1,t=1循环条件i<=n循环体t=t*ii=i+1输出t(n!)main(){inti,n,t;i=1;t=1;scanf(“%d”,&n);while(i<=n){t=t*i;i=i+1;}printf(“n!=%d\n”,t);}[程序演示]1)当型循环:当条件满足时,就执行循环体,否则就退出循环体。先判断条件,在执行循环体。2)直到型循环

先执行循环体,再判断条件,条件不满足时,就退出循环体。i=1,t=1循环条件i<=n循环体t=t*ii=i+1输出t(n!)i=1,t=1输入n输入t(n!)i<=n?循环体t=t*ii=i+1yesnomain(){intt=1,i=1;scanf(“%d”,&n);do{t=t*i;i=i+1;}while(i<=n);printf(“n!=%d\n”,t);}[程序演示]4.用伪代码表示

伪代码是用一种介于自然语言和计算机语言之间的文字和符号来描述算法。它书写方便、格式紧凑、比较好懂、也便于向程序过度。用伪代码描述算法并无固定的、严格的语法规则,只要把意思表达清楚,并且书写的格式要写成清晰易读的形式。例:用伪代码描述S=1+2+3+……+99+100的算法

i=1s=0Loop:s+i→si+1→iifi<=100thengotoLoopprints

理论证明,任何复杂的算法对可以用顺序、分支、循环三种基本结构组合、嵌套进行描述。由于N-S结构图无箭头指向,而局限在一个个嵌套的框中,最后描述的结果必然是结构化的,因此N-S结构图描述表示的算

温馨提示

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

评论

0/150

提交评论