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

下载本文档

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

文档简介

1、课程的基本要求2.掌握程序设计的思想和方法1.掌握高级编程语言的知识、编程技术和基本算法3.初步运用程序设计语言解决实际应用问题的能力、工程意识和上机编辑、运行、调试程序的技能课程的基本要求2.掌握程序设计的思想和方法1.掌握高级编程语如何学习C语言好奇心最重要多读读别人的代码多写刚开始跟着书坚持持之以恒如何学习C语言好奇心最重要目 录第1章 概述第2章 数据类型、运算符和表达式第3章 顺序结构程序设计第4章 选择结构程序设计第5章 循环结构程序设计第6章 数组第7章 函数第8章 构造数据类型第9章 指针第10章 文件目 录第1章 概述 cpu 主机 cpu 主机第1章 概述本章主要了解程序与

2、程序设计语言以及程序设计的基本过程,初步掌握C语言程序的结构特点,掌握C语言标识符的命名规则,掌握在Turbo C环境下运行C程序的步骤。1.1 程序设计基础 1.2 C语言及其特点1.3 C语言程序的结构特点与 书写规则1.4 C语言的语句和基本符号1.5 C语言程序的调试第1章 概述本章主要了解程序与程序设计语言以及程序设计1.1 程序设计基础1.1.1 程序与程序设计语言1.1.2 程序设计方法1.1.3 程序设计的基本过程1.1 程序设计基础1.1.1 程序与程序设计语言 1.程序 程序主要用于描述完成某项功能所涉及的对象和动作规则。 计算机程序是计算机为完成某一个任务所必须执行的一系

3、列指令的集合。简而言之,计算机程序就是命令的序列。1.1.1 程序与程序设计语言 1.程序1.1.1 程序与程序设计语言程序=算法+数据结构计算机程序的共同性质:目的性 程序有明确的目的,运行时能完成赋予它的功能.分步性 程序为完成其复杂的功能,由一系列计算机可执行的步骤组成.有序性 程序的执行步骤是有序的.有限性 程序是有限的指令序列.操作性 对某些对象进行操作,改变其状态,完成其功能.1.1.1 程序与程序设计语言程序=算法+数据结构1.1.1 程序与程序设计语言2.程序设计语言按语言发展过程,大概分为三类:1、机器语言 由0、1二进制代码按一定的规则组成的、能被机器直接理解和执行的指令集

4、合。 特点:编写工作量大,使用不方便,通用性差,但机器可识别,数据量小,执行速度快。2、汇编语言 将机器指令的代码用英文助记符来表示,代替机器语言中的指令和数据。这种助记符就是汇编语言,又称符号语言。 特点:易于修改,数据量小,执行速度快。但通用性差,可读性也差。A=15+1010110000 0000111100101100 0000101011110100A=15+10MOV A,15ADD A,10HLT1.1.1 程序与程序设计语言2.程序设计语言A=15+101.1.1 程序与程序设计语言3、高级语言 由表达各种意义的词和数学公式按照一定的语法规则来编写程序的语言。分为:面向过程的语

5、言(basic,fortran,c,pascal等)、面向问题的语言(sql等)、面向对象的语言(c+,java,visual basic)三类。 特点:编程效率高,通用性好,易于修改。但执行速度比较慢些。A=15+10PRINT AEND1.1.1 程序与程序设计语言3、高级语言A=15+101.1.2 程序设计方法程序设计就是用计算机语言编写程序的过程。C语言主要采用结构化程序设计思想。特点:1、自顶向下 2、逐步细化 3、模块化设计 4、结构化编码1.1.2 程序设计方法程序设计就是用计算机语言编写程序的过按照结构化程序设计的观点,任何算法功能都可以通过由程序模块组成的三种基本程序结构的

6、组合: 顺序结构、选择结构和循环结构来实现。3种基本结构的特性: 1)单入口 2)单出口 3)无死语句 4)无死循环1.1.2 程序设计方法按照结构化程序设计的观点,任何算法功能都可以通过由程序模块组1.1.3 程序设计的基本过程1.提出和分析实际问题2.建立数学模型3.设计算法4.编写源程序5.编译调试程序6.运行程序7.调试程序8.编写程序文档1.1.3 程序设计的基本过程1.提出和分析实际问题1.2 C语言及其特点1.2.1 C语言的发展过程1.2.2 C语言的特点1.2 C语言及其特点1.2.1 C语言的发展过程C语言的产生ALGOL(1960) CPL(1967)BCPL(1967)

7、 B(1970) C(1972) C语言的发展C语言首先用于写UNIX(1973),二者发展相辅相成 C语言的标准化 1983年由美国标准化协会(ANSI)制定了ANSI C 1987年又公布了新的标准:87 ANSI C微机上常用的编译系统有: Microsorft C, Turbo C, Quick C等。本书选定的上机环境是Turbo C V2.0(DOS操作系统)。1.2.1C语言的发展过程C语言的产生1.2.1C语言的发展过程C语言同时具有汇编语言和高级语言的优势。(1)是比较低级的语言,允许直接访问物理地址,能进行位操作,实现汇编语言的大部分功能,可以直接对硬件进行操作。简洁、紧凑

8、,使用方便、灵活。(2)是结构化的语言。如if.else语句、whi1e语句、dowhi1e语句、for语句(3)具有丰富的运算能力。共有34种运算符。C把括号、赋值、强制类型转换等都作为运算符处理。(4)数据类型丰富。数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。能用来实现各种复杂的数据结构(如链表、树、栈等)的运算。尤其是指针类型数据,使用起来更为灵活、多样。(5)具有预处理能力。(6)可移植性好(较之汇编语言)。 1.2.2 C语言的特点C语言同时具有汇编语言和高级语言的优势。1.2.2 C语言的1.3 语言程序的结构特点1.3.1 C语言程序的基本结构1

9、.3.2 源程序的书写规则1.3 语言程序的结构特点1.3.1 C语言程序的基本结一个完整的语言程序,是由一个main()函数(又称主函数)和若干个其它函数结合而成的,或仅由一个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 语言程序的基本结构一个完整的语言程序,是由一个main()函数(又称主函数)1.3.1 语言程序的

10、基本结构例1.2 编写程序,计算两个整数之和,由主函数独立完成。#include “stdio.h”void main() int a,b,sum; /* 声明部分,定义变量*/ a=10; b=20; /* 给变量a 和b 赋值*/ sum=a+b; /*将变量ayub相加的和值赋给变量sum*/ printf(“sum=a+b=%dn”,sum); /* 输出sum的值到屏幕上*/运行结果:sum=a+b=301.3.1 语言程序的基本结构例1.2 编写程序,计例1.3 求两个整数之和,由主函数和一个用户自定义函数合作完成。#include “stdio.h”void main() /*主

11、函数*/ int a,b,sum; /* 声明部分,定义变量*/ a=3;b=4; /* 给变量a 和b 赋值*/ sum=add(a,b); /*调用add 函数, 得到的值赋给sum*/ printf(“sum=a+b=%dn”,sum); /* 输出sum的值*/ int add(int x,int y) /*定义add 函数*/ int z; z=x+y; return(z);/*返回z的值*/ 程序运行情况:sum=a+b=7 函数调用1.3.1 语言程序的基本结构例1.3 求两个整数之和,由主函数和一个用户自定义函数合1.3.1 语言程序的基本结构例1.4从键盘输入两个整数,在屏幕

12、上输出他们的最小值。#include “stdio.h” int min(int x,int y) int z; if (xy?x:y; printf(“max=%dn”,max); 解决办法很简单,请自己思考。(2)如果不需要,也可以缺省变量定义语句。1.3.1 语言程序的基本结构main()1.3.1 语言程序的基本结构4.C语言本身没有输入输出语句输入输出的操作是由库函数scanf( )和printf( )等函数来完成的。C语言对输入输出实行“函数化”。3.main()函数一个语言程序,总是从main()函数开始执行,而不论其在程序中的位置。当主函数执行完毕时,亦即程序执行完毕。习惯上,

13、将主函数main()放在最前头。4.C语言本身没有输入输出语句3.main()函数1.3.2 源程序的书写规则1.程序中的每一个语句后必须有一个分号分号“;”是C语句的一部分。函数的最后一个语句也不例外。2.程序行的书写格式自由既允许1行内写几条语句,也允许1条语句分写在几行上。1.3.2 源程序的书写规则1.程序中的每一个语句后必须有一1.3.2 源程序的书写规则3. 可以在C程序的任何部分加注释,以提高程序的可读性C语言的注释格式为: /* */(1) “/*”和“*/” 必须成对使用,且“/”和“*”、以及“*”和“/”之间不能有空格,否则都出错。(2)注释的位置,可以单占1行,也可以跟

14、在语句的后面。(3)如果1行写不下,可另起1行继续写。例: /*This is the main /* of example1.1*/ */ 非法1.3.2 源程序的书写规则3. 可以在C程序的任何部分加注1.4 C语言的语句和基本符号1.4.1 C语言的语句1.4.2 基本符号集1.4.3 标识符1.4 C语言的语句和基本符号1.4.1 C语言的语句1.4.1 C语言的语句1.表达式语句表达式语句由表达式后加分号“;”构成,一般形式: 表达式; 例:a=10 与 a=10;是不同的。2.函数调用语句函数调用语句由一次函数调用加分号“;”构成,一般形式:函数名(实参列表);例如: printf

15、(“sum=a+b=%dn”,sum); 1.4.1 C语言的语句1.表达式语句1.4.1 C语言的语句3. 控制语句(9种):if( )else switchfor( )while( )dowhile( )continuebreakgotoreturn分支循环辅助控制1.4.1 C语言的语句3. 控制语句(9种):if( )1.4.1 C语言的语句4.空语句仅包含一个分号的语句,例:; 空语句在语法上占据一个语句的位置,但是它不具备任何执行功能。如: for(i=0;i1000;i+) ; 可以实现延时功能。5.复合语句用 括起来的一组语句一般形式: 内部数据说明; 执行语句; 说明:“”后

16、不加分号语法上和单一语句相同复合语句可嵌套例: main() int a=10; printf(“a=%d”,a); int a=20; printf(“a=%d”,a); /*复合语句。注意:右括号后不需要分号。*/ printf(“a=%d”,a); 1.4.1 C语言的语句4.空语句例:1.4.2 基本符号集C语言的基本符号是ASCII字符集。有以下几部分组成:(1)阿拉伯数字10个:0、1、2、3、9(2)大小写英文字母各26个:A、B、C、Z、a、b、c、z(3)下划线:(4)特殊符号: +、-、*、/、%、=、=、!=、&、|、!、,、&、|、=、+、-、?:、()、.、+=、-=

17、、*=、/=、%=、&=、=、|=、#、sizeof。1.4.2 基本符号集C语言的基本符号是ASCII字符集。标识符是一个字符序列。作用:作为常量、变量、函数和类型的名字。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 标识符标识符是一个字符序列。作用:

18、作为常量、变量、函数和类型的名字(3) 标识符的长度:C语言中未统一规定,随不同开发系统而变。Turbo C 2.0缺省允许的变量名长度为32。(Options|Compiler|Source|Identifier length)。 (4)用户取名时,应该尽量遵循“简洁明了”和“见名知意”的原则。变量名允许长度8允许长度32student_name相同变量名不同变量名student_number(3) 标识符的长度:C语言中未统一规定,随不同开发系统而变 2.保留字 保留字是C语言编译系统固有的,用作语句名、类型名的标识符。C语言的保留字共有32个,。都要用小写字母表示。保留字不能用做常量名、

19、变量名、函数名和类型名见第14页表1-1 C语言保留字。3.预定义标识符这些标识符在C语言中都具有特定含义,如C语言提供的编译预处理命令#include和#define, C语言语法允许用户把这类标识符作其他用途,但这将使其失去系统规定的原意。为避免误解,建议用户不要把这些预定义标识符另作他用或重新定义。 2.保留字 描述数据类型定义描述存储类型描述数据类型描述语句typedefautocharbreakvoidexternconstcaseregisterdoublecontinuestaticfloatdefaultvolatileintdolongelseshortforsignedgo

20、tostructifunionreturnunsignedsizeofenumswitchwhile表1.1 C语言保留字描述数据类型定义描述存储类型描述数据类型描述语句typede1.5.1 调试步骤1.5.2 Turbo C集成开发环境1.5 C语言程序的调试1.5.1 调试步骤1.5 C语言程序的调试编辑链接编译执行1.5.1C程序调试步骤file.exe程序代码的录入,生成源程序*.c语法分析查错,翻译生成目标程序*.obj与其它目标程序或库链接装配,生成可执行程序*.exe编辑链接编译执行1.5.1C程序调试步骤file.exe主菜单按F10激活编辑窗口信息窗口编辑状态行参考行按F6

21、切换1.5.2 Turbo C集成开发环境主菜单编辑信息窗口编辑状态行参考行按F6切换1.5.2 TuTurbo C集成开发环境配置要求UNIX,PC-DOS,MS-DOS,UCDOS操作系统硬盘容量约2M,448K RAM运行空间安装Turbo C创建子目录Install若不是可安装盘,将文件拷贝到对应的目录下TC*.*INCLUDELIB*.*SYS*.*Turbo C集成开发环境TC*.*INCLUDELIB*.Turbo C 2.0集成开发环境的使用主菜单在Turbo C 2.0主屏幕顶上一行, 显示下列内容:File Edit Run Compile Project Options

22、Debug Break/watch除Edit外, 其它各项均有子菜单, 只要用Alt加上某项中第一个字母, 就可进入该项的子菜单中。 中间窗口为编辑区 ,用于源程序的编辑信息窗口:用于显示执行编译之后,系统给出相关的错误提示信息参考行 :给出各功能键所对应的操作Turbo C 2.0集成开发环境的使用主菜单在Turbo File菜单 File菜单 Load:装入一个文件, 可用类似DOS的通配符(如*.C)来进行列表选择。也可装入其它扩展名的文件, 只要给出文件名(或只给路径)即可。该项的快捷键为F3。Pick:将最近装入编辑窗口的8个文件列成一个表让用户选择, 选择后将该程序装入编辑区。其快

23、捷健为Alt-F3。New:新建文件, 缺省文件名为NONAME.C, 存盘时可改名。Save:将编辑区中的文件存盘, 若文件名是NONAME.C时, 将询问是否更改文件名, 其快捷键为F2。Write to:更名存盘命令, 若该文件已存在, 则询问要不要覆盖。Directory:显示目录及目录中的文件, 并可由用户选择。Change dir:显示当前默认目录, 用户可以改变默认目录。Os shell:暂时退出Turbo C 2.0到DOS提示符下, 此时可以运行DOS 命令, 若想回到Turbo C 2.0中, 只要在DOS状态下键入EXIT即可。Quit:退出命令, 返回到DOS操作系统中

24、, 其快捷键为Alt+X。 Load:装入一个文件, 可用类似DOS的通配符(如*.C)Edit菜单 与编辑有关的功能键如下 F1 获得Turbo C 2.0编辑命令的帮助信息;F5 扩大编辑窗口到整个屏幕;F6 在编辑窗口与信息窗口之间进行切换;F10 从编辑窗口转到主菜单。 常用编辑命令简介:PageUp 向前翻页PageDn 向后翻页Home 将光标移到所在行的开始End 将光标移到所在行的结尾Ctrl+Y 删除光标所在的一行Ctrl+T 删除光标所在处的一个词Ctrl+KR 读文件Ctrl+KW 存文件Edit菜单 与编辑有关的功能键如下 F1 获Run菜单 Run:运行由Projec

25、t/Project name项指定的文件名或当前编辑区的文件。如果对上次编译后的源代码未做过修改, 则直接运行到下一个断点(没有断点则运行到结束)。否则先进行编译、连接后才运行, 其热键为Ctrl+F9 Program reset:中止当前的调试, 释放分给程序的空间, 其热键为Ctrl+F2 Go to cursor::调试程序时使用, 选择该项可使程序运行到光标所在行。光标所在行必须为一条可执行语句, 否则提示错误。其热键为F4 Trace into:在执行一条调用其它用户定义的子函数时, 若用Trace into项, 则执行长条将跟踪到该子函数内部去执行, 其热键为F7 Step ove

26、r:执行当前函数的下一条语句, 即使用户函数调用, 执行长条也不会跟踪进函数内部, 其热键为F8 User screen:显示程序运行时在屏幕上显示的结果。其热键为Alt+F5 Run菜单 Run:运行由Project/Project nCompile菜单 Compile to OBJ:将一个C源文件编译生成.OBJ目标文件, 同时显示生成的文件名。其热键为Alt+F9 Make EXE file:此命令生成一个.EXE的文件, 并显示生成的.EXE文件名。 Link EXE file:把当前.OBJ文件及库文件连接在一起生成.EXE文件 Build all:重新编译项目里的所有文件, 并进行

27、装配生成.EXE文件 Get info:获得有关当前路径、源文件名、源文件字节大小、编译中的错误数目、可用空间等信息, Compile菜单 Compile to OBJ:将一个C源Project菜单 Project name:项目名具有.PRJ的扩展名, 其中包括将要编译、连接的文件名 Break make on:由用户选择是否在有Warining、Errors、Fatal Errors时或Link之前退出Make编译 Auto dependencies:当开关置为on, 编译时将检查源文件与对应的.OBJ文件日期和时间, 否则不进行检查 Clear project:清除Project/Pro

28、ject name中的项目文件名 Project菜单 Project name:项目名具有.POptions菜单 Options菜单 1、Compiler:本项选择又有许多子菜单, 可以让用户选择硬件配置、存储模型、调试技术、代码优化、对话信息控制和宏定义。 2、Linker:本菜单设置有关连接的选择项, 它有以下内容 . Map file menu 选择是否产生.MAP文件。. Initialize segments 是否在连接时初始化没有初始化的段。. Devault libraries 是否在连接其它编译程序产生的目标文件时去寻找其缺省库。. Graphics library 是否连接g

29、raphics库中的函数。. Warn duplicate symbols 当有重复符号时产生警告信息。. Stack warinig 是否让连接程序产生No stack的警告信息。 . Case-sensitive link 是否区分大、小写字。 1、Compiler:本项选择又有许多子菜单, 可以让用户选3. Environment:菜单规定是否对某些文件自动存盘及制表键和屏幕大小的设置 Message tracking:Current file跟踪在编辑窗口中的文件错误。All files跟踪所有文件错误。Off不跟踪。Keep message:编译前是否清除Message窗口中的信息。

30、Config auto save:选on时, 在Run, Shell或退出集成开发环境之前,如果Turbo C 2.0的配置被改过, 则所做的改动将存入配置文件中。选off时不存。Edit auto save:是否在Run或Shell之前, 自动存储编辑的源文件。Backup file:是否在源文件存盘时产生后备文件(.BAK文件)。Tab size:设置制表键大小, 默认为8。Zoomed windows:将现行活动窗口放大到整个屏幕, 其热键为F5。Screen size设置屏幕文本大小。3. Environment:菜单规定是否对某些文件自动存4.Directories:规定编译、连接所需文件的路径, 有下列各项,如图所示: Include d

温馨提示

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

评论

0/150

提交评论