华中科技大学光电子学院C语言第一章.ppt

上传人:小飞机 文档编号:6183778 上传时间:2023-10-03 格式:PPT 页数:29 大小:239.99KB
返回 下载 相关 举报
华中科技大学光电子学院C语言第一章.ppt_第1页
第1页 / 共29页
华中科技大学光电子学院C语言第一章.ppt_第2页
第2页 / 共29页
华中科技大学光电子学院C语言第一章.ppt_第3页
第3页 / 共29页
华中科技大学光电子学院C语言第一章.ppt_第4页
第4页 / 共29页
华中科技大学光电子学院C语言第一章.ppt_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《华中科技大学光电子学院C语言第一章.ppt》由会员分享,可在线阅读,更多相关《华中科技大学光电子学院C语言第一章.ppt(29页珍藏版)》请在三一办公上搜索。

1、1,第一章C语言的程序结构 1.C语言概述 一.计算机语言及程序 1.计算机语言 计算机能够理解的用于与计算机之间通信的语言,计算机语言分类,低级语言,机器语言:用0,1代码表示语 言成分的语言;可直接识别,汇编语言:用符号表示语言成分 的语言;不能直接识别,高级语言:近似于自然语言(英语)和数学 公式 描述的语言:如 C,PASCAL等,专用语言:解决特定的应用问题的语言:如 CAD语言(绘图)等,2,2.程序 程序:用计算机语言描述计算问题的语句(指令)的 有序集合。,程序处理过程,利用语言编写源程序,问题分析确定算法(画逻辑结构 的流程图)编写程序,源程序上机过程,编辑源程序:用编辑程序

2、编辑 源程序产生源程序文件编译程序:利用编译程序对源 程序进行翻译产生目标程序连接装配目标程序产生 执行程序运行可执行程序,C语言属于计算机高级语言。用C语言编写的程序称为C语言源程序,3,二.C语言的特点1具有丰富的数据类型和运算符 数据类型多:说明语言表达能力强,描述现实世界 的事物广,类型,基本数据类型:字符类型,整数类型,浮点数据类型构造的数据类型:通过基本类型构造的数据类型如:数组,指针,结构和联合类型,运算符多:说明语言数据处理能力强,具有汇编语言对位,字节,地址操作的能力和宏汇编技术如:define,运算符,算术运算符关系运算符逻辑运算符位运算符:具有汇编语言处理的功能条件和赋值

3、运算符,4,2.提供了比较强的控制流程语句,语句结构,顺序结构:表达式语句,复合语句 条件结构:if,switch 语句 循环结构:while,do-while,for 等语句,3.综合了其他高级语言的优良程序结构 吸取了ALGOL语言的分程序结构:在“”复合语 句中可定义变量,构成分程序结构。吸取了FORTRAN语言的模块结构:即C语言中每一 个函数都是独立的,并可单独编译。对于大程序 的组织极为有利。吸取了PASCAL语言的函数递归的结构:函数可以自 己调用自己,5,4.代码质量高:目标程序占用内存少,运行速度快。5.可移植性好:不同机器上的C编辑程序的代码 是公共的 C语言不足:运算符优

4、先级太多,数据类型检验太弱,转换比较随便,所以不太安全。C语言主要应用于:编写应用程序和系统程序,6,2.C程序的基本结构一C程序的总体结构例:求两个数中最大的数main()/*主函数*/int a,b,c;/*定义变量*/scanf(“%d%d”,/*返回z值到主函数*/,7,一个C 源程序只有一个主函数,其名字规定为main。一个C 源程序可能有多个或个子函数,其名字由用户用 标识符表示(如上面的max)。函数之间的位置关系:任意的并列关系,函数中不能嵌 套函数定义。函数之间的调用关系:主函数可以调用子函数;子函数 之间可互相调用,但不能调用主函数。C程序的执行,总是从主函数的第一条可执行

5、语句开始。一个函数可完成一个独立的功能,可以单独编译,这 样便于实现程序的模块化。一个C程序可以存放在一个文件中(扩展名为:.c),也 可 以以函数的形式存放于多个文件中。函数的类型:用户自定义函数和库函数。,8,二函数的结构 一般定义形式:函数类型说明 函数名(形参类型说明 形参表)/*函数头部*/变量类型说明;语句部分;函数结构:函数头和函数体两部分组成。,/*函数体*/,1.函数头部 函数类型说明:说明函数值和类型,函数不求值或整型 值,或不返回值时,可用void说明 函数名:用标识符表示,其后的“()”不能省。形参类型说明:对自变量类型的说明 形参表:为函数的自变量;多个形参用“,”号

6、隔开;若 无 形参可省或写上void,9,.函数体 由“”括起来,变量类型说明和语句部分组成。变量类型说明:对变量代表的数据类型进行说明。语句部分:由个或多个语句组成序列。他们是数据 操作者。语句用“;”结束。注:类型说明置于语句之前,即符合“先说明,后使用”的原则。除函数名,“()”“”不能省,其他的部分根 据需要确定有无,即:最小C函数 如:temp(),10,三注释“/*/”是注释符号,其间是注释的内容。注释的作用:便于阅读程序。位置:注释可置于程序的任何地方,他不能被机器执行 四.程序的书写格式 一个语句可写在多行上,多个语句也可以写在一行上。约定:按语法单位的层次,利用“缩进排出”的

7、格式书写 程序。,11,3.C语言的字符集及单词 一语言的三要素 语法:组成单词,语句及语言成分相关的规则,语法的 合法性由编译程序检查。语义:表达式及语句的操作含义。语义错误由人工检查。语用:语句及相关成分的使用,由人工构思和安排。学好语言的关键,应从这三个方面学习和理解。语言的组成:字符集 单词 语句 程序,12,二C语言的字符集 语言的合法字符取自ASCII码表中的字符:个小写英文字母:个大写英文字母:个十进制数码:其他字符:,!,(,),“,等共个。注:不属于ASCII表字符都是非法字符,(除非特殊环境 处理,如汉字操作多系统支持,可用汉字)如:等。,13,三单词 单词:组成语句的基本

8、语法单位。,语言中的单词,标识符关键字常量,变量及类型说明运算符及表达式(第二章),1.标识符作用:表示常量名,变量名,类型名,函数名,由用户自行定义。组成:以字母(个大小写英文字母)或下划线”_”开头,以 后跟字母,数字串(包括空串或下划线),一般:串长 为好。(长度虽不限,但前个字符有效)例:xy,xyz,_SP124,code_x,ab124 都是合法的标识符 34x,x#y,a,b,1,3都是非法的标识符,14,注:标识符最好按意取名如:name,sex 等,不能 与关键字和系统函数名同名:大小写英文字母书写的标识符有区别的。宏定义量用大写字母 下划线开头的标识符一般在内部使用 其他情

9、况用小写字母开头的标识符,2.关键字和特定字关键字:(保留字)由编译程序预先定义,具有固定 含义的标识符。如:类型名:int,char,short,long 等语句名:if,while,else,for 等特定字:预处理程序识别的特定含义的标识符。如:define,include,undef,ifdef,line,endif,ifndef;7个注:在定义标识符时,避免与关键字或特定字重名。,15,语言数据类型,语言数据类型,基本类型,整型,int(整型)short(短整型)long(长整型)signed(带符号的整型)unsigned(无符号整型),字符型:char,浮点型(实型),单精度型:

10、float双精度型:double,枚举类型:enum,构造类型,数组结构 联合,指针类型,16,数据类型的重要性:1.类型不同,数据的存贮特性不同和取值范围不同。2.类型不同,施加于数据的操作特性不同,即不同 类型的数据,则施加的运算是不同的 3.数据类型是描述现实世界所要处理的对象,4.基本数据类型的说明 程序的数据分为两大类:变量和常量(1).变量及说明 随着程序的执行,不断改变的量称为变量 a.变量的组成:变量是一个四元组 即由名字,属性,引用和值组成的动态改变量。引,17,其中:变量名:由标识符命名,是变量的语法标识 值:变量的值指当前时刻变量值的大小 属性:变量值的类型,事先用类型区

11、分符进行显示说明 引用:指变量的值在内存中被存贮的区域(含有临时性 存贮或固定性的存贮特性)程序中的变量在使用前必须说明其类型;,说明的地方,函数之前函数的参数说明部分函数体中说明部分,变量的动态性质:由变量的作用域和生存期体现出来.变量的作用域:指变量说明的有效的程序部分.变量的生存期:指与变量相联系的存贮程序执行时间.,18,b 变量说明 变量说明一般形式:类型说明符变量名1,变量名2,变量n;整型说明:例:int x,y,z;说明了x,y,z是互补相同名的变量,类型均为整型,根据机器的不同的分配2个字节或4个字节单元空间 其初值不确定,取值范围:2个字节.3276832767 short

12、 int a,b=5;short a,b=5;说明变量a,b为短整型,固定被分配2个字节单元。其中b单元存有初值为5,a初值不确定,取值范围:-3276832767 long int c,d;long c,d;说明变量c,d为长整型,各被固定分配4个字节单元,取值范围:-21亿21亿 unsigned int p1,p2;unsigned p1,p2;p1,p2 为无符号整型,被机器定义为2个字节或4个 字节,取值范围065535,19,signed int n1,n2;signed n1,n2;n1,n2 为带符号整型,取值同int 注:short int 和long int 为不视机器而定

13、字节数。固定分配各位2个 字节和4个字节。int:视机器而定为2个字节或4个字节。signed 和 unsigned修饰各类整型:unsigned short int signed long int,浮点型说明:例:float y;y为浮点型的变量,长度为4个字节,取值范围为:约|3.4e-38|3.4e+38|(7位有效数字)double x;x为双精度浮点型的变量,长度为8个字节:取值范围:|1.7e-308|1.7e+308|(15位有效数字),20,字符型说明:例:char z,z1;z,z1为字符型变量占1个字节单元;取值范围:ASCII表中(或其他字符集中)可印字符的序号值,即无符

14、号0255,带符号:-128127 注意:变量说明的实质 1.使机器按类型给变量预先分配内存单元,变量名是单元 地址的形式表示 2.变量一经类型说明其取值范围和施加的运算就被确定,21,(2).常量程序执行中不变的量,常量的类型可由书写形式隐含的给出.整形常量 浮点型常量 常量 字符型常量 符号常量 枚举型常量a.整形常量:4种形式(精确的数)十进制整数(0-9十个数码和+,-号组成)如:0,-123,13,18等 八进制整数(0-7八个数码和+,-号组成,)如:011,-0123,013 等;但,如:018是错误的.十六进制整数(0-f十六个数码和+,-号组成,且以0 x开头)如:0 x12

15、3,-0 xab,0 x13a等.长整型数:以L或UL结尾的整数.如:123L,047UL,0XabL.,22,b.浮点型常量:小数形式的指数形式(不精确的数)小数形式:0.0,0.1,.01,50.,即小数点两边至少一边有数字 指数形式:由整数,小数和E或e后按带符号或不带符号 整次幂组成.如:-5.110 写成指数浮点数:-5.1e-3 如:.1e+02,3.1E+3,2.e-5 注:尾数必须有(整数部分或小数部分),指数必须是整数 如:E+3,2e-3.0(错误)注意:1.浮点常数的类型为double 2.单精度浮点型(float)表示:在常数后写上f或F 如:123.5f 高精度浮点常

16、数表示(long double):在常数后写上L 或l 如:1.3e+3L 3.C语言中无分数的概念,如;如1/3 不是常数,是表达式。,-3,1,3,23,c.字符型常量:字符常量和字符串常量1)字符常量:由单引号()括起来的单个可印字符组成 如:A,*,/,B,3 等 字符常量的存贮值为该字符在ASCII表中的 序号值:如A序号值为65转义字符表示:单引号括起来的以”开头的字符序列 用来表示不可印字符或作了特殊使用的字符如:n:表示回车符(ASCII码10):单引号符,由于单引号作了字符括号,因此 要显示时,必须用”:双引号符,由于双引号作了字符串括号,因此 要显示时,必须用”:斜杠符,由

17、于斜杠符作了转移表示符,因此 要显示时,必须用 x x x:其中 x x x为三位8进制数,或为x后两位16进制数,表 示ASCII码的字符,如A,或表示101或x41,24,2)字符串常量:由一对双引号括起来的(“”)字符序列 如:“a”,“abc”,“123”注:字符串常量与字符常量有区别 如:a与“a”,“a”由a和0组成,即系统自动对 字符串增加结字符0即空字符 字符串变量的类型为字符型的数组类型 字符变量的类型为char 如:char i=“a”(错误)char j=a(正确),25,d.符号常量 用符号表示常量称为符号常量 符号常量定义的方式:用#define 宏定义 用 cons

18、t 定义 用 枚举型定义 1)用#define宏定义 形式:#define 标识符 常量表达式 如:#define PI 3.14159#define SI 2.0*PI 注:常量符号必须大写,每个常量符号只能用一个#define定义。其后无分号,#define由C预处理,他不是C语句,且他必须放 在源程序开始处。,26,2)用const 定义 形式:const 类型标识符 标识符=常量表达式;如:const int max=100;const char TURE=1;FALSE=0;注:用#define定义的符号常量不分配内存单元,在预 处理时,用数代替符号常量,用const定义的符号 常量

19、,因为const是常量说明语句,所以给对应的 符号分配内存单元,并将常数赋给该单元,且该 单元的常量是不可更改的。,27,3)枚举类型 一个枚举类型是int常量的集合枚举常量的定义 一般形式:enum 枚举名 标识符=常量表达式,标识符=常 量表达式,.;例:enum XNO,YES;X为枚举类型名;NO,YES为枚举常量名 其值为0,1 enum Y A=3,B=4,C=5;y为枚举型型,A,B,C枚举常量为int型 值分别为3,4,5 enum P=1,N,M,H,I,K;无枚举类型名,且枚举常量名为P,N,M,H,I,K,其值分别为1,2,3,4,5,6 注:1.枚举符号表()中没有“=

20、”指定值时,则,系统规定从 左往右给枚举常量依次代替0,1,2,3,整形值.(如例1).2.若枚举符号表中从某个枚举常量名开始没有指定值,则未 指定值的枚举常量名的值依指定的值开始依次加1(如例3).3.定义中所有标识符不能重名,28,枚举变量的说明:一般形式:enum 枚举名 枚举表 变量名表;例:enum PI A,B,C S,S1,S2,S3=B;其中A,B,C为枚举常量其值分别0,1,2;S,S1,S2,S3,为枚举变量其值取自 表中的常数值0,1,2;S3取值为1注:1.枚举常量名A,B,C和枚举变量名S,S1,S2,S3不同,则前者不能被赋值,后者可以被赋值。2.同类型枚举变量之间可以相互赋值;枚举常量可以 赋给同一类型枚举变量。3.一个枚举值是一个int整数。,29,练习题:1.判断下列标识符,那些合法,那些不合法 x3,3x,p5q,abcd,ex9.5,2.下列数据那些是整数,浮点数,字符,字符串常数,那 些是非法常数(合法常量指出类型)256,0377,2.50,1e+06,2.2e5,e5,”“,0.0,0,0,”1234”,12,A,-5,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号