《C语言程序设计 概述.pptx》由会员分享,可在线阅读,更多相关《C语言程序设计 概述.pptx(55页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、如何学习如何学习C C语言语言好奇心最重要多读读别人的代码多写刚开始跟着书坚持持之以恒第1页/共55页目目 录录第1章 概述第2章 数据类型、运算符和表达式第3章 顺序结构程序设计第4章 选择结构程序设计第5章 循环结构程序设计第6章 数组第7章 函数第8章 构造数据类型第9章 指针第10章 文件第2页/共55页cpu主机第3页/共55页第第1 1章章 概述概述本章主要了解程序与程序设计语言以及程序设计的基本过程,初步掌握C语言程序的结构特点,掌握C语言标识符的命名规则,掌握在Turbo C环境下运行C程序的步骤。1.1 程序设计基础 1.2 C语言及其特点1.3 C语言程序的结构特点与 书写
2、规则1.4 C语言的语句和基本符号1.5 C语言程序的调试第4页/共55页1.1 1.1 程序设计基础程序设计基础1.1.1 1.1.1 程序与程序设计语言程序与程序设计语言1.1.2 1.1.2 程序设计方法程序设计方法1.1.3 1.1.3 程序设计的基本过程程序设计的基本过程第5页/共55页1.1.1 1.1.1 程序与程序设计语言程序与程序设计语言 1.程序 程序主要用于描述完成某项功能所涉及的对象和动作规则。计算机程序是计算机为完成某一个任务所必须执行的一系列指令的集合。简而言之,计算机程序就是命令的序列。第6页/共55页1.1.1 1.1.1 程序与程序设计语言程序与程序设计语言程
3、序=算法+数据结构计算机程序的共同性质:目的性 程序有明确的目的,运行时能完成赋予它的功能.分步性 程序为完成其复杂的功能,由一系列计算机可执行的步骤组成.有序性 程序的执行步骤是有序的.有限性 程序是有限的指令序列.操作性 对某些对象进行操作,改变其状态,完成其功能.第7页/共55页1.1.1 1.1.1 程序与程序设计语言程序与程序设计语言2.程序设计语言按语言发展过程,大概分为三类:1、机器语言 由0、1二进制代码按一定的规则组成的、能被机器直接理解和执行的指令集合。特点:编写工作量大,使用不方便,通用性差,但机器可识别,数据量小,执行速度快。2、汇编语言 将机器指令的代码用英文助记符来
4、表示,代替机器语言中的指令和数据。这种助记符就是汇编语言,又称符号语言。特点:易于修改,数据量小,执行速度快。但通用性差,可读性也差。A=15+1010110000 0000111100101100 0000101011110100A=15+10MOV A,15ADD A,10HLT第8页/共55页1.1.1 1.1.1 程序与程序设计语言程序与程序设计语言3、高级语言 由表达各种意义的词和数学公式按照一定的语法规则来编写程序的语言。分为:面向过程的语言(basic,fortran,c,pascal等)、面向问题的语言(sql等)、面向对象的语言(c+,java,visual basic)三类
5、。特点:编程效率高,通用性好,易于修改。但执行速度比较慢些。A=15+10PRINT AEND第9页/共55页1.1.2 1.1.2 程序设计方法程序设计方法程序设计就是用计算机语言编写程序的过程。C语言主要采用结构化程序设计思想。特点:1、自顶向下 2、逐步细化 3、模块化设计 4、结构化编码第10页/共55页按照结构化程序设计的观点,任何算法功能都可以通过由程序模块组成的三种基本程序结构的组合:顺序结构、选择结构和循环结构来实现。3种基本结构的特性:1)单入口 2)单出口 3)无死语句 4)无死循环1.1.2 1.1.2 程序设计方法程序设计方法第11页/共55页1.1.3 1.1.3 程
6、序设计的基本过程程序设计的基本过程1.提出和分析实际问题2.建立数学模型3.设计算法4.编写源程序5.编译调试程序6.运行程序7.调试程序8.编写程序文档第12页/共55页1.2 C1.2 C语言及其特点语言及其特点1.2.1 C1.2.1 C语言的发展过程语言的发展过程1.2.2 C1.2.2 C语言的特点语言的特点第13页/共55页C语言的产生ALGOL(1960)CPL(1967)BCPL(1967)B(1970)C(1972)C语言的发展C语言首先用于写UNIX(1973),二者发展相辅相成 C C语言的标准化语言的标准化 1983年由美国标准化协会(ANSI)制定了ANSI C 19
7、87年又公布了新的标准:87 ANSI C微机上常用的编译系统有:Microsorft C,Turbo C,Quick C等。本书选定的上机环境是本书选定的上机环境是Turbo C V2.0Turbo C V2.0(DOSDOS操作系统)操作系统)。1.2.1C1.2.1C语言的发展过程语言的发展过程第14页/共55页C语言同时具有汇编语言和高级语言的优势。(1)是比较低级的语言,允许直接访问物理地址,能进行位操作,实现汇编语言的大部分功能,可以直接对硬件进行操作。简洁、紧凑,使用方便、灵活。(2)是结构化的语言。如if.else语句、whi1e语句、dowhi1e语句、for语句(3)具有丰
8、富的运算能力。共有34种运算符。C把括号、赋值、强制类型转换等都作为运算符处理。(4)数据类型丰富。数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。能用来实现各种复杂的数据结构(如链表、树、栈等)的运算。尤其是指针类型数据,使用起来更为灵活、多样。(5)具有预处理能力。(6)可移植性好(较之汇编语言)。1.2.2 C1.2.2 C语言的特点语言的特点第15页/共55页1.3 1.3 语言程序的结构特点语言程序的结构特点1.3.1 C语言程序的基本结构1.3.2 源程序的书写规则第16页/共55页一个完整的语言程序,是由一个main()函数(又称主函数)和若干个其它
9、函数结合而成的,或仅由一个main()函数构成。例1.1 仅由main()函数构成的语言程序。/*功能:仅由main()函数构成的语言程序示例*/#include“stdio.h”void main(void)printf(“This is a C program.n”);程序运行结果:This is a C program.1.3.1 1.3.1 语言程序的基本结构语言程序的基本结构第17页/共55页1.3.1 1.3.1 语言程序的基本结构语言程序的基本结构例1.2 编写程序,计算两个整数之和,由主函数独立完成。#include“stdio.h”void main()int a,b,sum
10、;/*/*声明部分,定义变量声明部分,定义变量*/a=10;b=20;/*/*给变量给变量a a 和和b b 赋值赋值*/sum=a+b;/*/*将变量将变量ayubayub相加的和值赋给变量相加的和值赋给变量sum*/sum*/printf(“sum=a+b=%dn”,sum);/*/*输出输出sumsum的值到屏幕上的值到屏幕上*/运行结果:sum=a+b=30第18页/共55页例1.3 求两个整数之和,由主函数和一个用户自定义函数合作完成。#include“stdio.h”void main()/*/*主函数主函数*/int a,b,sum;/*/*声明部分,定义变量声明部分,定义变量*
11、/a=3;b=4;/*/*给变量给变量a a 和和b b 赋值赋值*/sum=add(a,b);/*/*调调用用add add 函函数数,得得到到的的值值赋赋给给sum*/sum*/printf(“sum=a+b=%dn”,sum);/*/*输输出出sumsum的的值值*/int add(int x,int y)/*/*定义定义add add 函数函数*/int z;z=x+y;return(z););/*/*返回返回z z的值的值*/程序运行情况:sum=a+b=7 函数调用函数调用1.3.1 1.3.1 语言程序的基本结构语言程序的基本结构第19页/共55页1.3.1 1.3.1 语言程序
12、的基本结构语言程序的基本结构例1.4从键盘输入两个整数,在屏幕上输出他们的最小值。#include“stdio.h”int min(int x,int y)int z;if(xy?x:y;printf(“max=%dn”,max);解决办法很简单,请自己思考。(2)如果不需要,也可以缺省变量定义语句。1.3.1 语言程序的基本结构第24页/共55页4.C语言本身没有输入输出语句输入输出的操作是由库函数scanf()和printf()等函数来完成的。C语言对输入输出实行“函数化”。3.main()函数一个语言程序,总是从main()函数开始执行,而不论其在程序中的位置。当主函数执行完毕时,亦即程
13、序执行完毕。习惯上,将主函数main()放在最前头。第25页/共55页1.3.2 源程序的书写规则1.程序中的每一个语句后必须有一个分号分号“;”是C语句的一部分。函数的最后一个语句也不例外。2.程序行的书写格式自由既允许1行内写几条语句,也允许1条语句分写在几行上。第26页/共55页1.3.2 1.3.2 源程序的书写规则源程序的书写规则3.可以在C程序的任何部分加注释,以提高程序的可读性C语言的注释格式为:/*/(1)“/*”和“*/”必须成对使用,且“/”和“*”、以及“*”和“/”之间不能有空格,否则都出错。(2)注释的位置,可以单占1行,也可以跟在语句的后面。(3)如果1行写不下,可
14、另起1行继续写。例:/*This is the main /*of example1.1*/*/非法第27页/共55页1.4 C1.4 C语言的语句和基本符号语言的语句和基本符号1.4.1 C语言的语句1.4.2 基本符号集1.4.3 标识符第28页/共55页1.4.1 C1.4.1 C语言的语句语言的语句1.表达式语句表达式语句由表达式后加分号“;”构成,一般形式:表达式;例:a=10 与 a=10;是不同的。2.函数调用语句函数调用语句由一次函数调用加分号“;”构成,一般形式:函数名(实参列表);例如:printf(“sum=a+b=%dn”,sum);第29页/共55页1.4.1 C1.
15、4.1 C语言的语句语言的语句3.控制语句(9种):if()elseswitchfor()while()dowhile()continuebreakgotoreturn分支循环辅助控制第30页/共55页1.4.1 C1.4.1 C语言的语句语言的语句4.空语句仅包含一个分号的语句,例:;空语句在语法上占据一个语句的位置,但是它不具备任何执行功能。如:for(i=0;i1000;i+);可以实现延时功能。5.复合语句用 括起来的一组语句一般形式:内部数据说明;执行语句;说明:a.“”后不加分号b.语法上和单一语句相同c.复合语句可嵌套例:main()inta=10;printf(“a=%d”,a
16、);inta=20;printf(“a=%d”,a);/*复合语句。注意:右括号后不需要分号。*/printf(“a=%d”,a);第31页/共55页1.4.2 1.4.2 基本符号集基本符号集C语言的基本符号是ASCII字符集。有以下几部分组成:(1)阿拉伯数字10个:0、1、2、3、9(2)大小写英文字母各26个:A、B、C、Z、a、b、c、z(3)下划线:(4)特殊符号:+、-、*、/、%、=、=、!=、&、|、!、,、&、|、=、+、-、?:、()、.、+=、-=、*=、/=、%=、&=、=、|=、#、sizeof。第32页/共55页标识符是一个字符序列。作用:作为常量、变量、函数和类
17、型的名字。1.用户标识符构成规则如下:(1)以字母、数字、下划线组成,且第一个字符必须为字母或下划线.合法:sum,average,class,day,month,student_name,_above,lotus_1_2_3,basic不合法:M.D.Jhon,$123,#33,3D64,ab (2)大、小写英文字母含义不同。如sum,Sum,SUM不同。1.4.3 1.4.3 标识符标识符第33页/共55页(3)标识符的长度:C语言中未统一规定,随不同开发系统而变。Turbo C 2.0缺省允许的变量名长度为32。(Options|Compiler|Source|Identifier le
18、ngth)。(4)用户取名时,应该尽量遵循“简洁明了”和“见名知意”的原则。变量名变量名允许长度允许长度8允许长度允许长度32student_name相同变量名相同变量名 不同变量名不同变量名student_number第34页/共55页 2.保留字 保留字是C语言编译系统固有的,用作语句名、类型名的标识符。C语言的保留字共有32个,。都要用小写字母表示。保留字不能用做常量名、变量名、函数名和类型名见第14页表1-1 C语言保留字。3.预定义标识符这些标识符在C语言中都具有特定含义,如C语言提供的编译预处理命令#include和#define,C语言语法允许用户把这类标识符作其他用途,但这将使
19、其失去系统规定的原意。为避免误解,建议用户不要把这些预定义标识符另作他用或重新定义。第35页/共55页描述数据类型定义描述存储类型描述数据类型描述语句typedefautocharbreakvoidexternconstcaseregisterdoublecontinuestaticfloatdefaultvolatileintdolongelseshortforsignedgotostructifunionreturnunsignedsizeofenumswitchwhile表表1.1 C语言保留字语言保留字第36页/共55页1.5.1 调试步骤1.5.2 Turbo C集成开发环境1.5
20、C1.5 C语言程序的调试语言程序的调试第37页/共55页编辑链接编译执行1.5.1C程序调试步骤file.exe程序代码的录入,生成源程序*.c语法分析查错,翻译生成目标程序*.obj与其它目标程序或库链接装配,生成可执行程序*.exe第38页/共55页主菜单按F10激活编辑窗口信息窗口编辑状态行参考行按F6切换1.5.2 Turbo C1.5.2 Turbo C集成开发环境集成开发环境第39页/共55页Turbo C集成开发环境配置要求UNIX,PC-DOS,MS-DOS,UCDOS操作系统硬盘容量约2M,448K RAM运行空间安装Turbo C创建子目录Install若不是可安装盘,将
21、文件拷贝到对应的目录下TC*.*INCLUDELIB*.*SYS*.*第40页/共55页TurboC2.0集成开发环境的使用集成开发环境的使用主菜单在TurboC2.0主屏幕顶上一行,显示下列内容:FileEditRunCompileProjectOptionsDebugBreak/watch除Edit外,其它各项均有子菜单,只要用Alt加上某项中第一个字母,就可进入该项的子菜单中。中间窗口为编辑区,用于源程序的编辑信息窗口:用于显示执行编译之后,系统给出相关的错误提示信息参考行:给出各功能键所对应的操作第41页/共55页File菜单菜单第42页/共55页Load:装入一个文件装入一个文件,可
22、用类似可用类似DOS的通配符的通配符(如如*.C)来进行来进行列表选择。也可装入其它扩展名的文件列表选择。也可装入其它扩展名的文件,只要给出文件名只要给出文件名(或或只给路径只给路径)即可。该项的快捷键为即可。该项的快捷键为F3。Pick:将最近装入编辑窗口的将最近装入编辑窗口的8个文件列成一个表让用户选择个文件列成一个表让用户选择,选择后将该程序装入编辑区。其快捷健为选择后将该程序装入编辑区。其快捷健为Alt-F3。New:新建文件新建文件,缺省文件名为缺省文件名为NONAME.C,存盘时可改名。存盘时可改名。Save:将编辑区中的文件存盘将编辑区中的文件存盘,若文件名是若文件名是NONAM
23、E.C时时,将将询问是否更改文件名询问是否更改文件名,其快捷键为其快捷键为F2。Writeto:更名存盘命令更名存盘命令,若该文件已存在若该文件已存在,则询问要不要则询问要不要覆盖。覆盖。Directory:显示目录及目录中的文件显示目录及目录中的文件,并可由用户选择。并可由用户选择。Changedir:显示当前默认目录显示当前默认目录,用户可以改变默认目录用户可以改变默认目录。Osshell:暂时退出暂时退出TurboC2.0到到DOS提示符下提示符下,此时可以此时可以运行运行DOS命令命令,若想回到若想回到TurboC2.0中中,只要在只要在DOS状态状态下键入下键入EXIT即可。即可。Q
24、uit:退出命令退出命令,返回到返回到DOS操作系统中操作系统中,其快捷键为其快捷键为Alt+X。第43页/共55页Edit菜单菜单与编辑有关的功能键如下与编辑有关的功能键如下F1获得获得TurboC2.0编辑命令的帮助信息;编辑命令的帮助信息;F5扩大编辑窗口到整个屏幕;扩大编辑窗口到整个屏幕;F6在编辑窗口与信息窗口之间进行切换;在编辑窗口与信息窗口之间进行切换;F10从编辑窗口转到主菜单。从编辑窗口转到主菜单。常用编辑命令简介常用编辑命令简介:PageUp向前翻页向前翻页PageDn向后翻页向后翻页Home将光标移到所在行的开始将光标移到所在行的开始End将光标移到所在行的结尾将光标移到
25、所在行的结尾Ctrl+Y删除光标所在的一行删除光标所在的一行Ctrl+T删除光标所在处的一个词删除光标所在处的一个词Ctrl+KR读文件读文件Ctrl+KW存文件存文件第44页/共55页Run菜单菜单Run:运行由Project/Projectname项指定的文件名或当前编辑区的文件。如果对上次编译后的源代码未做过修改,则直接运行到下一个断点(没有断点则运行到结束)。否则先进行编译、连接后才运行,其热键为Ctrl+F9Programreset:中止当前的调试,释放分给程序的空间,其热键为Ctrl+F2Gotocursor::调试程序时使用,选择该项可使程序运行到光标所在行。光标所在行必须为一条
26、可执行语句,否则提示错误。其热键为F4Traceinto:在执行一条调用其它用户定义的子函数时,若用Traceinto项,则执行长条将跟踪到该子函数内部去执行,其热键为F7Stepover:执行当前函数的下一条语句,即使用户函数调用,执行长条也不会跟踪进函数内部,其热键为F8Userscreen:显示程序运行时在屏幕上显示的结果。其热键为Alt+F5第45页/共55页Compile菜单菜单CompiletoOBJ:将一个C源文件编译生成.OBJ目标文件,同时显示生成的文件名。其热键为Alt+F9MakeEXEfile:此命令生成一个.EXE的文件,并显示生成的.EXE文件名。LinkEXEfi
27、le:把当前.OBJ文件及库文件连接在一起生成.EXE文件Buildall:重新编译项目里的所有文件,并进行装配生成.EXE文件Getinfo:获得有关当前路径、源文件名、源文件字节大小、编译中的错误数目、可用空间等信息,第46页/共55页Project菜单菜单Projectname:项目名具有.PRJ的扩展名,其中包括将要编译、连接的文件名Breakmakeon:由用户选择是否在有Warining、Errors、FatalErrors时或Link之前退出Make编译Autodependencies:当开关置为on,编译时将检查源文件与对应的.OBJ文件日期和时间,否则不进行检查Clearpr
28、oject:清除Project/Projectname中的项目文件名第47页/共55页Options菜单菜单第48页/共55页1、Compiler:本项选择又有许多子菜单:本项选择又有许多子菜单,可以让用户选择硬可以让用户选择硬件配置、存储模型、调试技术、件配置、存储模型、调试技术、代码优化、对话信息控制和代码优化、对话信息控制和宏定义。宏定义。2、Linker:本菜单设置有关连接的选择项:本菜单设置有关连接的选择项,它有以下内容它有以下内容.Mapfilemenu选择是否产生选择是否产生.MAP文件。文件。.Initializesegments是否在连接时初始化没有初始化的是否在连接时初始化
29、没有初始化的段。段。.Devaultlibraries是否在连接其它编译程序产生的目标是否在连接其它编译程序产生的目标文件时去寻找其缺省库。文件时去寻找其缺省库。.Graphicslibrary是否连接是否连接graphics库中的函数。库中的函数。.Warnduplicatesymbols当有重复符号时产生警告信当有重复符号时产生警告信息。息。.Stackwarinig是否让连接程序产生是否让连接程序产生Nostack的警告信的警告信息。息。.Case-sensitivelink是否区分大、小写字。是否区分大、小写字。第49页/共55页3.Environment:菜单规定是否对某些文件菜单规
30、定是否对某些文件自动存盘及制表键和屏幕大小的设置自动存盘及制表键和屏幕大小的设置Messagetracking:uCurrentfile跟踪在编辑窗口中的文件错误。跟踪在编辑窗口中的文件错误。uAllfiles跟踪所有文件错误。跟踪所有文件错误。uOff不跟踪。不跟踪。Keepmessage:编译前是否清除Message窗口中的信息。Configautosave:选on时,在Run,Shell或退出集成开发环境之前,如果TurboC2.0的配置被改过,则所做的改动将存入配置文件中。选off时不存。Editautosave:是否在Run或Shell之前,自动存储编辑的源文件。Backupfile
31、:是否在源文件存盘时产生后备文件(.BAK文件)。Tabsize:设置制表键大小,默认为8。Zoomedwindows:将现行活动窗口放大到整个屏幕,其热键为F5。Screensize设置屏幕文本大小。第50页/共55页4.Directories:规定编译、连接所需文件的路径规定编译、连接所需文件的路径,有下列各项,如图所示:有下列各项,如图所示:Includedirectories:包含文件的路径,多个子目录用;分开。Librarydirectories:库文件路径,多个子目录用;分开。Outputdirectoried:输出文件(.OBJ,.EXE,.MAP文件)的目录TurboCdire
32、ctoried:TurboC所在的目录Pickfilename:定义加载的pick文件名,如不定义则从currentpickfile中取第51页/共55页按Alt+D可选择Debug菜单,该菜单主要用于查错EvaluateExpression要计算结果的表达式。Result显示表达式的计算结果。Newvalue赋给新值。Findfunction在运行TurboCdebugger时用于显示规定的函数Refreshdisplay如果编辑窗口偶然被用户窗口重写了可用此恢复编辑窗口的内容Callstack:该项不可接触。而在TurboCdebuger时用于检查堆栈情况Debug菜单菜单第52页/共55
33、页进入Turbo CD:TCTC.exe主控菜单文件操作FILE:New Load Save Write to编辑操作EDIT:插入/修改 块 查找/替换编译链接COMPILE LINK MAKE执行RUN退出Turbo CAlt +xAlt+F ,Q帮助HelpF1Ctrl+F1第53页/共55页基本操作:F10-调用主菜单F2-存盘F3-打开Alt+F9-CompileCtrl+F9-RunAlt+F5-User Screen常用热键文本编辑:-移动光标PgUp,PgDn-上下翻页Ctrl+PgUp,Ctrl+PgDn-文件首尾Home End Ddelete Insert Bkspace块操作:Ctrl+KB-块开始标记 Ctrl+KK-块结束标记Ctrl+KC-块拷贝 Ctrl+KV-块移动Ctrl+KY-块删除 Ctrl+KH-块隐藏程序调试:F8-Step over F7-Trace intoF4-Goto Cursor Ctrl+F7-Add WatchCtrl+F8-Toggle Breakpoint Ctrl+F2-Program Reset窗口操作:F5-窗口缩放F6-窗口切换第54页/共55页谢谢您的观看!第55页/共55页
限制150内