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

下载本文档

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

文档简介

1、最新c语言概述1c语言程序设计语言程序设计最新c语言概述2课程目标:u熟悉c 语言的基本概念u熟悉turbo c的上机操作环境u会读、会编、会调试c程序u顺利通过省二级考试课程要求:u课堂做笔记u多上机实习最新c语言概述3计计算算机机系系统统硬件硬件软件软件运算器运算器控制器控制器存储器存储器输入输出设备输入输出设备系统软件系统软件操作系统操作系统数据库系统数据库系统网络系统网络系统程序设计语言程序设计语言与语言处理程序与语言处理程序机器语言和汇编语言机器语言和汇编语言高级语言高级语言:c语言语言、fortran、pascal面向对象的程序设计面向对象的程序设计:c+ +应用软件应用软件最新c

2、语言概述4n 1.1 程序与程序语言n 1.2 算法概述n 1.3 c语言概况n 1.4 c程序的开发过程与开发环境c语言概述第1章最新c语言概述5 本章从c语言的发展出发,主要介绍c语言的发展历史、基本特点和简单的c语言程序结构与组成,重点介绍了算法的含义与算法的描述工具,以传统流程图为重点分析了算法的描述方法。通过本章的学习,要求达到以下目标:了解c语言的形成、发展和基本特点;了解程序、程序设计、高级语言的概念;掌握c语言程序的基本结构和组成;掌握计算机算法的基本概念和算法描述的基本工具;运用传统流程图描述一个具体的算法。 【本章导读】最新c语言概述61.1 程序与程序设计语言n 1程序:

3、指令的集合数据结构+算法=程序n 程序设计语言机器语言特点:面向机器的二进制表示的语言。汇编语言特点:面向机器的符号化的机器语言。高级语言特点:面向问题的类自然语言。2+31add 2, 32+3最新c语言概述7p程序设计语言的发展机器语言汇编语言高级语言面向过程面向对象一种cpu指令系统,由0、1序列构成的指令码组成如:10000000 加 10010000 减用助记符号描述的指令系统如 add a, b面向机器的语言程序设计侧重于系统功能解题过程是数据被加工的过程客观世界可以分类,对象是类的实例对象是数据和方法的封装对象间通过发送和接受消息发生联系程序设计关键是定义类,并由类派生对象c语言

4、发展历史语言发展历史最新c语言概述8n 程序设计p 确定数据结构p 确定算法p 编写程序p 程序调试p 整理源程序并总结资料n 程序设计结构p 顺序结构p 选择结构p 循环结构最新c语言概述9 算法是指解决问题的方法和步骤。算法是指解决问题的方法和步骤。 正确的计算机程序必须具备两个基本条件:正确的计算机程序必须具备两个基本条件: 一是掌握一门计算机高级语言的规则一是掌握一门计算机高级语言的规则 二是要掌握解题的方法和步骤二是要掌握解题的方法和步骤 n算法概念算法概念1.2 1.2 算法概述算法概述最新c语言概述10算法简例算法简例 可以用最原始的方法进行。可以用最原始的方法进行。步骤步骤1:

5、 先求先求12,得到结果,得到结果2。步骤步骤2: 将步骤将步骤1得到的乘积得到的乘积2再乘以再乘以3,得到结果,得到结果6。步骤步骤3: 将将6再乘以再乘以4,得,得24。步骤步骤4: 将将24再乘以再乘以5,得,得120。这样的算法虽然是正确的,但太繁琐。如果要求这样的算法虽然是正确的,但太繁琐。如果要求121000,则要写,则要写999个步骤,显然是不可取的。个步骤,显然是不可取的。而且每次都直接使用上一步骤的数值结果而且每次都直接使用上一步骤的数值结果(如如2,6,24等等),也不方便。应当找到一种通用的表示方法。,也不方便。应当找到一种通用的表示方法。【例】【例】求求 12320最新

6、c语言概述11设置两个变量,一个变量代表被乘数,一个变量代表乘数。设置两个变量,一个变量代表被乘数,一个变量代表乘数。不另设变量存放乘积结果,而直接将每一步骤的乘积放在不另设变量存放乘积结果,而直接将每一步骤的乘积放在被乘数变量中。今设被乘数变量中。今设t为被乘数,为被乘数,i为乘数。用循环算法来结为乘数。用循环算法来结果。可以将算法改写如下:果。可以将算法改写如下:s1: 使使1 =ts2: 使使2 =is3: 使使ti,乘积仍放在变量,乘积仍放在变量t中,可表示为中,可表示为ti=ts4: 使使i的值加的值加1,即,即i+1 = is5: 如果如果i =20,返回重新执行步骤,返回重新执行

7、步骤s3以及其后的步骤以及其后的步骤s4和和s5;否则,算法结束。最后得到;否则,算法结束。最后得到t的值就是的值就是20!的值。的值。例续例续 最新c语言概述12n 算法衡量算法优劣的标准:(1) 思路:清晰、正确。(2) 过程:简单、明了、扼要。(3) 算法:合适。最新c语言概述13算法的五个基本特征:算法的五个基本特征:有穷性有穷性 一个算法必须在有限次执行后完成。一个算法必须在有限次执行后完成。 (2) 确定性确定性 算法中的每一个步骤都应当是确定的,而不应当是含算法中的每一个步骤都应当是确定的,而不应当是含糊的、模棱两可的糊的、模棱两可的(3) 输入输入 是指在执行算法时需要从外界取

8、得必要的信息是指在执行算法时需要从外界取得必要的信息,提供运算对象提供运算对象的初始情况,一个算法有的初始情况,一个算法有0个或多个输入。个或多个输入。(4) 输出输出 一个算法要有一个或多个输出。若无输出,则无法知道结果。一个算法要有一个或多个输出。若无输出,则无法知道结果。(5) 有效性有效性 算法中的每一个步骤都应该被有效地执行,并应能得到一算法中的每一个步骤都应该被有效地执行,并应能得到一个明确的结果。个明确的结果。实质上,算法反映的是解决问题的思路。许多问题,只要仔细分析对实质上,算法反映的是解决问题的思路。许多问题,只要仔细分析对象数据,就容易找到处理方法。象数据,就容易找到处理方

9、法。算法的特征算法的特征最新c语言概述14n 算法的表示方法很多,主要有:算法的表示方法很多,主要有:p自然语言自然语言p 传统流程图传统流程图pn-s图图p伪代码伪代码p计算机程序语言计算机程序语言算法的表示算法的表示最新c语言概述15传统流程图传统流程图起止框起止框处理框处理框判断框判断框连接点连接点流程线流程线1 1图 常用流程图符号数据数据最新c语言概述16输出输出x输出输出-xynx0图图 条件判断图条件判断图图图 具有连接点的流程图具有连接点的流程图最新c语言概述17画出求画出求12320的流程图的流程图【例】图图1.4 求求20!图图1.5 求求20!并输出并输出i =20yni

10、 =20yn最新c语言概述18 a bp成立 不成立a b当p成立 aa直到p成立 1973年美国学者提出了一种新的流程图形式。在这年美国学者提出了一种新的流程图形式。在这种流程图里,完全去掉了带箭头的流程线。全部算法写种流程图里,完全去掉了带箭头的流程线。全部算法写在一个矩形框内,在框内还可以包含其它从属于它的方在一个矩形框内,在框内还可以包含其它从属于它的方框,即由一些基本的框组成一个大框。这种流程图适于框,即由一些基本的框组成一个大框。这种流程图适于结构化程序设计算法的描述。结构化程序设计算法的描述。0 0s,1s,1i i当当i i100100成立成立s+is+is si+1i+1i

11、i输出输出s s的值的值2 2n-sn-s图图最新c语言概述19用传统的流程图表示算法,直观易懂,但画起来比较费事。用传统的流程图表示算法,直观易懂,但画起来比较费事。因此,流程图适宜表示一因此,流程图适宜表示一 个算法,但在设计算法过程中个算法,但在设计算法过程中使用不是很理想。为了设计算法时方便,常用一种称为伪使用不是很理想。为了设计算法时方便,常用一种称为伪代码代码(pseudo code)的工具。的工具。伪代码是用介于自然语言和计算机语言之间的文字和符号伪代码是用介于自然语言和计算机语言之间的文字和符号来描述算法。它如同一篇文章,自上而下地写下来。每一来描述算法。它如同一篇文章,自上而

12、下地写下来。每一行行(或几行或几行)表示一个基本操作。它不用图形符号,因此书表示一个基本操作。它不用图形符号,因此书写方便写方便 、格式紧凑,也比较好懂,便于向计算机语言算、格式紧凑,也比较好懂,便于向计算机语言算法法(即程序即程序)过渡过渡.3 3用伪代码表示算法用伪代码表示算法最新c语言概述20例如例如 “打印打印x的绝对值的绝对值”的算法可以用伪代码表示如的算法可以用伪代码表示如下:下:if x is positive thenprint xelseprint x它像一个英语句子一样好懂,在国外用得比较普遍。也可以用汉字伪代码,如:它像一个英语句子一样好懂,在国外用得比较普遍。也可以用汉

13、字伪代码,如:若若 x为正为正打印打印 x否则否则打印打印 x也可以中英文混用,如:也可以中英文混用,如:if x 为正为正print xelseprint x最新c语言概述21开始开始置置t的初值为的初值为1置置i的初值为的初值为2 当当it2=iwhile iti+1=iprint tend(算法结束算法结束)在本算法中采用当型循环(第在本算法中采用当型循环(第3行到笫行到笫5行是一个当型循环)。行是一个当型循环)。while意思为意思为“当当”, 它表示当它表示当i=5时执行循环时执行循环体(大括弧中的两行)的操作。体(大括弧中的两行)的操作。求求20!用伪代码表示的算法如下:用伪代码表

14、示的算法如下:最新c语言概述224 4用计算机语言表示算法用计算机语言表示算法要完成一件工作,包括设计算法和实现算法两个部分。设要完成一件工作,包括设计算法和实现算法两个部分。设计算法的目的是为了实现算法。计算法的目的是为了实现算法。我们的任务是用计算机解题,也就是要用计算机实现算法。我们的任务是用计算机解题,也就是要用计算机实现算法。计算机是无法识别流程图和伪代码的。计算机是无法识别流程图和伪代码的。只有用计算机语言编写的程序才能被计算机执行(当然还只有用计算机语言编写的程序才能被计算机执行(当然还要经过编译成目标程序才能被计算机识别和执行)。要经过编译成目标程序才能被计算机识别和执行)。因

15、此,在用流程图或伪代码描述出一个算法后,还要将它因此,在用流程图或伪代码描述出一个算法后,还要将它转换成计算机语言程序。转换成计算机语言程序。用计算机语言表示算法必须严格遵循所用语言的语法规则,用计算机语言表示算法必须严格遵循所用语言的语法规则,这是和伪代码不同的。我们将前面介绍过的算法用这是和伪代码不同的。我们将前面介绍过的算法用c语言语言表示。表示。最新c语言概述23【例】【例】求求10!void main( ) int i,long t;t=1;i=2;while(i=10) t=t*i; i=i+1; printf(%d,t); 最新c语言概述24 产生背景 汇编语言程序依赖于计算机硬

16、件,可读性和可移植性都差 一般的高级语言又难以实现对计算机硬件的直接操作 产生过程 (bcpl b c) 时间:19721973 地点:美国贝尔实验室 目的:unix操作系统 设计人: ken.thompson、dennis.m.ritchie和brian.w.kernighan c标准 标准c: k&r合著the c programming language 83 ansi c: 1983年ansi公布c语言标准草案 87 ansi标准 c: 1987年 1990年国际标准的ansi c1.3 c1.3 c语言概况最新c语言概述25(1) c语言是具有低级语言功能的高级语言语言是具有

17、低级语言功能的高级语言c语言既具有高级语言的功能,又具有低级语言的许多功能。它把高语言既具有高级语言的功能,又具有低级语言的许多功能。它把高级语言的基本结构和语句与低级语言的实用性结合起来,是处于汇编级语言的基本结构和语句与低级语言的实用性结合起来,是处于汇编语言和高级语言之间的一种程序设计语言,也可称其为语言和高级语言之间的一种程序设计语言,也可称其为“中级语言中级语言”。(2) c语言简洁、紧凑,使用方便、灵活语言简洁、紧凑,使用方便、灵活c语言一共只有语言一共只有32个关键词,个关键词,9种控制语句,种控制语句,turbo c 2.0增加了增加了11个关个关键词(用于各种增强和扩展功能)

18、。程序书写形式自由,主要用小写键词(用于各种增强和扩展功能)。程序书写形式自由,主要用小写字母表示,相对于其他高级语言源程序短。字母表示,相对于其他高级语言源程序短。(3) 运算符丰富,表达式能力强运算符丰富,表达式能力强c语言共有语言共有34种运算符,范围广泛,除一般高级语言所使用的算术、种运算符,范围广泛,除一般高级语言所使用的算术、关系和逻辑运算符外,还可以实现以二进制位为单位的运算,并且具关系和逻辑运算符外,还可以实现以二进制位为单位的运算,并且具有如有如a+,-b等单项运算符和等单项运算符和+=、-=、*=、/+等复合运算符等。等复合运算符等。c c语言的特点语言的特点最新c语言概述

19、26(4) 数据结构丰富,便于数据的描述与存储c语言具有丰富的数据结构,其数据类型有整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等,因此能实现复杂的数据结构的运算。(5) c语言是结构化、模块化的编程语言程序的逻辑结构可以使用顺序、分支和循环3种基本结构组成。c语言程序采用函数结构,十分便于把整体程序分割成若干相对独立的功能模块,并且为程序模块间的相互调用以及数据传递提供了便利。(6) c语言程序中,可使用宏定义编译预处理语句、条件编译预处理语句,为编程提供了方便。c c语言的特点语言的特点( (续续) )最新c语言概述27(7) 可移植性好与汇编语言相比,c程序基本上不作修

20、改就可以运行于各种型号的计算机和各种操作系统。(8) c语言也存在一些不足之处,例如运算符及其优先级过多、语法定义不严格等,对于初学者有一定的困难。由于c语言具有上述特点,因此c语言得到了迅速推广,成为人们编写大型软件的首选语言之一。许多原来用汇编语言处理的问题可以用c语言来处理了。c c语言的特点语言的特点( (续续) )最新c语言概述28例 第一个程序 hello,world!0/* example1.1 the first c program*/#include main() printf(“hello,world!”); /*ch1_1.c*/注释预处理命令函数语句输出:hello,w

21、orld!c程序格式和结构特点程序格式和结构特点最新c语言概述29/* example calculate the sum of a and b*/#include /* this is the main program */main() int a,b,sum; a=10; b=24; sum=add(a,b); printf(”sum= %dn,sum);/* this function calculates the sum of x and y */int add(int x,int y) int z; z=x+y; return(z); /*ch1_2.c*/运行结果:sum=34函数

22、语句预处理命令注释最新c语言概述30 习惯用小写字母,大小写敏感 不使用行号,无程序行概念 可使用空行和空格 常用锯齿形书写格式main( ) . . . . . . .main( ) int i , j , sum; sum=0; for(i=1; i10;i+) for(j=1;jtc1.4 c1.4 c程序的上机步骤程序的上机步骤 最新c语言概述33编辑链接编译执行程序代码的录入,生成源程序*.c语法分析查错,翻译生成目标程序*.obj与其它目标程序或库链接装配,生成可执行程序*.exe源程序目标程序可执行程序内容程序设计语言机器语言机器语言可执行不可以不可以可以文件名后缀.c.obj.

23、exec程序开发步骤程序开发步骤 最新c语言概述34上机步骤:上机步骤:(1)启动turbo c(2)输入源程序(3)源程序保存(4)编译连接运行程序:ctrl+f9(5)若编译有错,改错,再按ctrl+f9(6)看程序结果:alt+f5(7) 若程序结果有错,重复(5)(8)程序结果正确,结束;最新c语言概述35集成界面如下集成界面如下,第一行是第一行是“主菜单主菜单”, 其中包括下面其中包括下面8个菜单项个菜单项:file edit run compile project option debug break/watch分别代表分别代表:文件操作、编辑、运行、编译、项目文件、选项、调试、文件操作、编辑、运行、编译、项目文件、选项、调试、中断中断/观察等功能观察等功能最新c语言概述36用键盘上的用键盘上的“”和和“”键可以选择菜单条中所需要的菜单项,键可以选择菜单条中所需要的菜单项,被选中的项以被选中的项以“反相反相”形式显示形式显示最新c语言概述37选中选中“load” , 并按回车键,并按回车键, 表示要调入一个已有的源文件,此时表示要调入一个已有的源文件,此时屏幕上出现一个对话框。要求你输入该文件的名字。用户可输入该文屏幕上出现一个对话框。要求你输入该文

温馨提示

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

评论

0/150

提交评论