《C语言编程基础》PPT课件.ppt_第1页
《C语言编程基础》PPT课件.ppt_第2页
《C语言编程基础》PPT课件.ppt_第3页
《C语言编程基础》PPT课件.ppt_第4页
《C语言编程基础》PPT课件.ppt_第5页
已阅读5页,还剩72页未读 继续免费阅读

下载本文档

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

文档简介

第五讲C语言编程基础(1),2,主要内容,编程环境C语言程序基本框架标识符和关键字数据类型、变量、常量运算符和表达式,计算机程序,计算机的工作是由程序来控制的。程序描述了计算机处理数据、解决问题的过程,这是程序的实质。程序设计的将人们制定的对实际问题的解决方案用程序设计语言表达出来,并由计算机执行得出结果。程序设计语言(也被称为“编程语言”,ProgrammingLanguage)是人们描述(编制)程序所使用的规范和方法(语言)。机器语言、汇编语言、高级语言,机器语言与汇编语言,由计算机硬件系统可以识别的二进制指令组成的语言称为机器语言。计算机发展的初期,软件工程师们只能用机器语言来编写程序。这一阶段,在人类的自然语言和计算机编程语言之间存在着巨大的鸿沟。汇编语言将机器指令映射为一些可以被人读懂的助记符,如ADD、SUB等。此时编程语言与人类自然语言间的鸿沟略有缩小,但仍与人类的思维相差甚远。因为它的抽象层次太低,程序员需要考虑大量的机器细节。,高级语言,高级语言屏蔽了机器的细节,采用人容易理解的形式对解题过程进行描述。用高级语言来书写程序使得程序设计者不必考虑很多的计算机硬件细节,而是以熟悉的语句和数学公式来表达程序设计的结果。易于学习、易于掌握。,6,高级语言及其程序的执行,用高级语言书写的程序不可能直接在计算机上执行,需要将它翻译成机器语言指令程序。翻译的方式有两种:编译(Compilation)方式解释(Interpretation)方式,7,5高级语言及其程序的执行,编译方式是设法把高级语言程序(也称为“源程序”)翻译转换成为可以由计算机直接执行的机器语言指令程序,经连接装配后转变为“可执行程序”(ExecutableProgram)。人们实现了高级语言“编译器”(Compiler)完成这种翻译工作。编译器把高级语言程序看成是符合一定语法结构的符号串,对它进行加工变换。,8,编译器对源程序的加工一般分为两个阶段:1、编译将源程序翻译成二进制机器语言。编译后得到的结果为目标文件。2、连接目标模块与其他一些基本模块(通用目标程序模块,由编译软件或其他人提供)连接在一起,最终形成“可执行程序”(executableprogram),后缀“.exe”。这样的程序就可以在计算机上实际运行了。,高级语言的编译过程,高级语言编译过程,源程序(文本文件)*.CPP,目标文件(二进制文件)*.OBJ,可执行文件(二进制文件)*.EXE,库文件(各种函数),compile,link,10,机器语言指令,高级语言程序的解释过程,解释方式由一种称为“解释器”(Interpreter)软件实现。解释器在工作方式上与编译器不同,它不事先对源程序进行翻译,而是在执行时即时对源程序的语句进行分析和解释,实现源程序所描述的功能。,11,应用较广泛的高级语言,FORTRAN、PASCAL、C/C+COBOL、BASIC、ADA、JAVA,12,C语言简介,C是由美国贝尔实验室的DennisRetchie在1972年设计开发的,开发目的是想成为一种编制“系统程序”的工具语言。Retchie等人首先用自己发明的C语言编写了UNIX操作系统。以后C语言逐步发展成为开发系统软件的主要语言。许多常见的软件系统,例如,在中国使用很广泛的计算机辅助设计软件AUTOCAD,数学软件系统Mathematica等,以及许多语言编译系统本身,其软件系统的全部或者部分程序就是用C语言开发的。C语言已成为最重要的软件系统开发语言,由此可见C语言在计算机领域地位之重要。,C+语言,C+是在C语言基础上发展出的一种“面向对象”语言。它是由BjarneStroustrup在美国贝尔实验室开发的(1983)。C+是C语言的一个扩充,它一方面修正了C的一些弱点和不足,使用起来更方便可靠;另一方面,也是更重要的,这种语言以支持“面向对象”(Object-Oreinted,简称为OO)的程序设计方法为基本目标,提供了一套支持面向对象程序设计的机制,如“类”(class)、“对象”(object)等等。面向对象的方法被认为是开发复杂软件系统的一种有效途径,OO程序设计语言也已经被广泛接受。C+是目前使用最广泛的一种面向对象的程序设计语言。,13,VC+6.0编程环境,VisualC+6.0是微软公司1998年推出的开发工具。它不仅可以作为C/C+的编译器,同时还是一个基于Windows操作系统的可视化集成开发环境。由于功能强大,开发界面友好,一直都是专业程序员开发软件的首选工具之一。,启动VC+编译系统,VC+编译系统界面,单击“File”菜单中“New”命令,选择“Files”选项卡,选择C+源文件命令,输入文件名,输入文件存放位置,单击选择驱动器,选择驱动器或目录,C+源文件编辑界面,输入C+源代码,可以将此源代码另起文件名存盘,选择编译命令,将源文件.cpp生成.obj文件,如果编译出错,会出现提示信息,指出错误的位置及种类,错误所在行,错误的原因,双击错误所在行,光标移到该行,生成可执行文件,通过后单击该命令运行程序,运行结果显示在DOS屏上,二、C语言基础,程序结构基本元素:标识符和关键字变量、常量和数据类型运算符和表达式语句及控制流C语言标准库函数,语言规范,开发库,26,#includeintmain()inta,b,sum;scanf(“%d%d”,求两个整数之和,/*求圆的面积*/#definePI3.14159#include#includefloatgetArea(floatr);intmain(intargc,char*argv)floats1,s2;floatr1,r2;printf(“请输入第一个圆的半径:”);scanf(“%f”,floatgetArea(floatr)floats;s=(float)(PI*pow(r,2);returns;,1、C程序基本框架,函数/主函数main()C语言是一种函数式语言,它的一个函数实际上就是一个功能模块C程序的基本组成是函数。一个C程序是由一个固定名称为main的主函数和若干个其他函数(可没有)组成。一个C程序必须有一个、也只能有一个主函数。主函数在程序中的位置可以任意,但程序执行时总是从主函数开始,在主函数内结束。intmain(),C程序基本元素函数/主函数,函数调用C语言程序是通过函数的调用来完成复杂功能。主函数可以调用其他各种函数(包括标准库函数和用户自己编写的函数),但其他函数不要调用主函数。其他函数相互之间遵循一定的规则是可以相互调用的。,C程序基本元素函数/主函数,函数的调用,其他函数标准库函数:随C语言环境一起提供的各种标准的通用功能函数,只能调用(先文件包含:#include)。例:自编(定义)函数:必须先定义(声明),后调用。例:,C程序基本元素函数,函数的一般形式,返回值类型函数名(参数列表)语句,floatgetArea(floatr)floats;s=(float)(PI*pow(r,2);returns;,变量:存放数据的容器,有不同的数据类型。语句:一个单一命令是一条语句(Statement),由分号(;)结尾。代码段:用大括号()围起来的多条语句构成一个代码段。,C程序基本元素变量/语句/代码段,编译预处理宏定义形式:#definePI3.14159PI符号常量(宏名,最好用大写,以区别一般变量)3.14159宏体(可以是一个表达式)作用:用简单符号代表宏体部份内容(编译时会先自动替换),可用作常量定义或其他作用意义:直观/多次使用/便于修改注意:#define可出现在程序的任一位置(作用范围:由此行到程序末尾),宏定义不是C语句,不必在行末加分号,否则会连分号一起置换。,C程序基本元素编译预处理,形式:#include#include“stdafx.h”C语言是一种“装配式”语言,许多常规的工作如输入、输出、数学函数等,往往事先由人做成各种“程序模块”(.lib),并将其定义存放在各种所谓“头文件”(.h)中。文件包含的作用,就是根据需要把相应的某个“头文件”定义所涉及的“程序模块”在编译时先整体嵌入所编的程序中。用户也可以将自己设计的程序模块等做成“程序模块”及“头文件”,供其他程序“包含”(调用)。,编译预处理文件包含,使用“文件包含”功能的优点支持程序模块的共享提高程序设计效率和程序可靠性减少程序员重复劳动量C提供了三百多个标准库函数,分别由若干个头文件进行说明:stdio.h标准输入/输出函数math.h数学函数stdlib.h常用函数,一个优秀的程序员不应是事无巨细都要从头做起的“工匠”,而应是一个“策划师”+“组装师”。所以,逐步熟悉并掌握常用函数的功能及使用,是学习C程序设计的一个重要内容。,注释:为了增加程序的可读性而附加的说明性文字,它们在编译时会被忽略。1、单行注释/,从该符号至行末均为注释的内容2、多行注释/*/,用来说明更多的内容,包括算法等.,C程序基本元素注释,C语言程序由一个或多个函数组成。C程序的各种功能是通过函数调用来完成的。每个C程序必须有一个、也只能有一个主函数main()。不管主函数在程序中的位置如何,程序执行总是从主函数开始,在主函数内结束。每条语句必须用分号“;”结束。编译预处理命令(宏定义、文件包含)不是语句,行末不能用分号结束。C语言本身没有输入/输出语句,其功能须通过调用相关函数来实现。,C程序基本框架总结,标识符(Identifier)程序员对程序中的各基本元素加以命名时使用的命名记号,包括:数据类型名、变量名、常量名、函数名、宏名、,2、标识符和关键字,标识符的组成规则C语言中,标识符是以字母,下划线(_)开始的一个字符序列,后面可以跟字母,下划线,数字。合法的标识符identifieruserNameUser_Namedefinesys_value_Namename1非法的标识符2mailroom#a%bc!abc,关键字(Keywords):具有专门的意义和用途,不能当作一般的标识符使用。C语言中的关键字有:int、char、float、double、short、long、unsigned、struct、union、enum、auto、extern、register、static、typedef、goto、return、sizeof、break、continue、if、else、do、while、for、switch、case、default、void、entry、include、define、undef、ifdef、ifndef、endif、line在C+中,还会有一些新的关键字。不同语言的关键字不完全相同,但基本相似。,关键字,关键字基本分类基本数据和返回值类型:int,void,return构造数据类型定义:typedef,struct,union,控制流:if,else,switch,case,for,break,goto,编译预处理:include,define,变量长度:sizeof,注意:在C语言中,标识符是区分大小写的。name和Name是不同的标识符。所有的关键字都是小写字母构成的。不必死记这些关键字,当理解每个关键词的含义后,自然就记住了所有的关键词。,2、标识符和关键字,3、数据类型、变量和常量,数据类型(DataType)基本数据类型(PrimaryDataTypes)构造数据类型(CompositeDataTypes)常量(Constant)变量(Variable),基本数据类型(PrimaryDataTypes)构造数据类型(CompositeDataTypes),3、数据类型、变量和常量数据类型,C语言中支持的基本数据类型包括:,3、数据类型、变量和常量基本数据类型,一个数据类型所占的具体字节数,可以通过sizeof运算符来确定。,字符的存储通常用其二进制编码(如ASCII码/8位、汉字内码/16位)来表示,所以字符数据类型char只占8位,它可以表示一个ASCII字符,对于汉字字符,则需要将2个char数据当作一个整体。对于字符的显示,则需要操作系统的协助才能完成。printf(“北京大学PekingUniversity”);chara=a;/a=97,a的ASCII码printf(“%c”,a);,变量和常量,数据是计算机程序处理的主要对象,在程序中数据是以常量和变量的形式出现。常量和变量的区别仅在于程序执行过程中变量的值是可以改变的,而常量的值不能改变。,C中的常量值是用文字串表示的,它区分为不同的类型:整型(int)常量:十进制:123,-123八进制:以0开头,如:023,055十六进制:以0 x开头,如:0 x20,0 x7f长整型(long)常量:123l,-123L单精度(float)浮点常量:1.23f,-1.23e12f双精度(double)浮点常量:1.23,-1.23e12字符(char)常量:用单引号对括起来的一个字符,如a注意:字符、”、不能直接用单引号对括起来。字符串常量:用双引号对括起来的一个字符序列,如Thisisaconstantstring.。,常量,和数学中的变量有所不同,程序中的变量代表内存中某个“存储单元”或某块内存区域(若干个连续的存储单元),可以用来存放数据,通常用一个名字来标识。在程序中使用变量,涉及到三种情况:变量的定义:指定变量的数据类型,并用一个标识符来对它命名,这个标识符就是变量名。变量的赋值:把数值存放到某个变量所指示的内存区域。变量的引用:使用某个变量中存储的数据。,变量,格式:数据类型变量名,变量名2,变量名3;例:chara;intn;intx,y,z;变量的名字必须是一个合法的标识符,每个变量的名字作为它的唯一标识。变量的初始化在定义变量的同时给它赋值。,变量定义,给变量指定一个数值的过程称为变量的赋值,这个过程可以通过赋值语句完成:n=26;x=19;注:变量定义后,其初值是不确定的(内存区域里可能是有内容的)。也可以在变量定义的同时对变量进行初始化:chara=a;intn=5;intx,y=4,z;floatscore=95.5;,变量赋值,变量里存储的数据可以用来参与运算,这一过程称为变量的引用。但在引用变量前,一定要先对变量进行赋值,例如:inttotalFee=0;/变量赋值inttuitionFee=5000;/变量赋值inttravelExpense=300;/变量赋值intlivingExpense=1000;/变量赋值intothers=1000;/变量赋值/变量引用totalFee=tuitionFee+travelExpense+livingExpense+others;,变量引用,例9.1变量的使用,1#include2intmain()3intUSDollar=0;4intRMB=0;5USDollar=20;6RMB=USDollar*8;7printf(“%dn”,RMB);8return0;9,字符型变量定义示例:charc1;无初值charc2=0;赋初值为字符0charc3=100;用整数赋初值,是字符的ASCII码,此处为d,几种不同类型变量的定义示例,在进行文字处理时,有些符号在屏幕上是不能显示出来的。如:“回车”、“退格”、“制表符”等,在程序中也无法用一个一般形式的字符表示,只能采用特殊形式来表示。表示方法为:以“”+字符。反斜线(Backslash)退格(Bac

温馨提示

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

评论

0/150

提交评论