第1章C语言数据描述和C程序设计初步.ppt
《第1章C语言数据描述和C程序设计初步.ppt》由会员分享,可在线阅读,更多相关《第1章C语言数据描述和C程序设计初步.ppt(77页珍藏版)》请在三一办公上搜索。
1、程序设计技术,C语言数据描述和C程序设计初步 结构化程序设计基础和C语言的控制结构 数组及其应用 函数与C程序结构 指针与函数 指针与数组 字符串及其应用 结构体类型和联合体类型 C语言的文件处理及其应用 位运算与枚举类型,第一章 C语言数据描述和C程序设计初步,C程序的基本结构C语言的基本数据类型基本运算符和表达式不同类型数据混合运算及数据转换C程序设计初步,1.1 C程序的基本结构,C 语言的特点:C是一种高级计算机程序语言C是一种面向过程的结构化程序语言C语言简洁、紧凑,使用方便、灵活C语言数据类型丰富 C语言运算符丰富 C语言程序可移植性好 C程序开发环境中包含了语言核心、与处理器和标
2、准函数库三个部分 C语言本身没有提供用于程序中数据输入输出的语句,1.1.1 C源程序的组成成分,#include/*头文件声明*函数头*/void main()/*定义主函数且无返回值*/float ave,x,y,z;/*定义变量*/scanf(“%f,%f,%f”,/*调用printf函数输出结果*/,说明:1.程序由予处理命令和至少一个函数组成,但必须而且只有一个主函数,函数名必须是main。2.函数由函数头和函数体组成。函数体总是从花括号“”开始。以反花括号“”结束。,3 函数体由语句组成。每一个分号“;”就代表一条语句的结束。4 以/*开头到*/结束的部分叫注释行。即注解。不是语句
3、,可以在程序中的任何位置,结尾不要分号“;”,不引起计算机任何动作。5 语句由C语言规定的符号组成,结尾一定是分号“;”不同的语句引起不同的计算机动作,是计算机执行程序的最小单位。6 当程序由多个函数组成时,除主函数main外,其他的函数叫子函数。冠以名字后,就叫某某函数。例1-1 C语言源程序的组成成分和基本结构,1.1.1 C源程序的组成成分,用C言符号书写的程序称为源程序,高级语言源程序必须被转为机器语言程序才能被执行。,1.1.1 C源程序的组成成分,1.1.2 C语言的基本元素,1C语言的字符集 小写英文字母a b c z 大写英文字母A B C Z 数字0 1 2 3 9 特殊字符
4、+=-_()*:“/?不可印出字符空格、换行、制表符等2标识符 标识符是给程序中处理的数据对象(如变量、常量、函数、数据类型等)取的名字.,1.1.2 C语言的基本元素,标识符取名规则组成标识符的字符为字母、数字和下划线 标识符中第一个字符必须是字母或下划线 多数C编译系统在构成标识符时都要区分字母的大小写,即abc和Abc是不相同的标识符构成标识符的字符个数(标识符长度)与所使用的环境相关保留字操作系统或编译系统或其他系统已经用了的名字例如 double else enum extern float forgotoif_Imaginary*inline*intlong registerres
5、trict*用户标识符 用户自己取的名字,1.1.2 C语言的基本元素,程序员(用户)在程序中自定义标识符时,除了避免使用保留字和必须遵守标识符的命名规则外,还需要注意以下两个方面:一是要将标识符取得既有意义,又便于阅读;二是要注意避免含义上或书写时引起混淆。例如下面是一些合法用户自定义标识符的例子:a b1file_name_buf下面是不合法的用户自定义标识符例子及错误原因:123abc/*不是以英文字母开头*/float/*与系统保留字同名*/up.to/*标识符中出现了非法字符“.”*/zhang san/*标识符中间出现了非法字符空格*/,1.1.2 C语言的基本元素,3函数 函数是
6、构成程序的基本模块,每个函数具有相对独立的功能函数有三种:主函数(即main()函数)、C语言编译系统提供的标准库函数和用户自定义的函数 主函数是C程序执行的入口,即程序总是从主函数中的第一条可执行的语句开始执行;一般情况下也是程序执行的出口 标准库函数是语言处理系统提供的常用功能的处理程序代码,在程序中如要使用标准库函数,则需要在程序中合适的地方(调用标准库函数之前)用文件包含预处理语句将与所使用库函数相应的头文件包含到程序中来 如例前面例题中的“#include”用户自定义函数即程序员根据所设计应用程序的功能自己编写的函数,1.1.2 C语言的基本元素,4C程序书写的基本要点 C程序习惯上
7、使用小写英文字母。为了清晰起见,在C程序中往往使用大写英文母来表示宏定义或其它具有特殊意义的标识符。C程序中不强调程序行的概念。一行中可以有多条语句,一个语句也可以写在多行上,但语句与语句之间要用分号(;)分隔。C程序为了增强程序的可读性,可以使用适量的空格、空行和适当的行间缩进结构。但要注意,程序中的变量名、函数名以及C语言本身使用的单词(如保留字、语句结构等),不能在其中插入空格。,第一章 C语言数据描述和C程序设计初步,C程序的基本结构C语言的基本数据类型基本运算符和表达式不同类型数据混合运算及数据转换C程序设计初步,1.2 C语言的基本数据类型,数据和数据类型在C语言源程序中能直接书写
8、的、需要被处理的符号只有数和字符两种,这种符号称为C语言的数据。计算机程序只能处理已经存入计算机系统内存的数据,任何需要用计算机程序处理的信息都需要被转换为内存中的数据才能被处理。计算机系统的内存是按字节编址的,在内存里存放一个数据所需要的内存字节数称为一个数据所需要的内存空间,程序中不同的数据在系统内存中所要求的存储空间大小也不一样,因而在程序设计中需要区分所处理数据的数据类型。,1.2 C语言的基本数据类型,C语言提供的数据类:数据类型,1.2 C语言的基本数据类型,常量和变量C源程序中直接书写的数据称为常量,存放一个数据所需要的内存空间称为变量,内存空间中存放的数据内容称为变量值。变量是
9、由变量名(标识符)来区别的。变量值是通过引用变量名来引用的,是数据。所以,常量和变量在程序中表现的都是数据。常量数据在源程序中给定后,在程序的整个执行过程中保持不变。而变量在程序的执行过程中是一个其值可以被程序修改的量。是一个变化的量。,1.2.1 C语言的整型数据类型,整型量1整型常量 C语言源程序能直接书写的整型常量可以有三种形式:十进制整数。如888、-123、0等。八进制整数。以0开头的整数是八进制整型常量,如0777、-011等。十六进制整数。以0 x开头的整数是十六进制整型常量,如0 x123、0 xff等。在C语言中整型数据用机器的一个字长来存储,所以整型数据的表示范围与计算机系
10、统的软硬件环境有关。在字长为16位计算机系统中,整型数据表示的范围为-3276832767(-215215-1);在字长为32位的计算机系统中,则表示的数据范围为-231231-1。,1.2.1 C语言的整型数据类型,2整型变量 存放整型数据的内存空间称为整型变量,C语言提供了基本整型、短整型、长整型和无符号整型四种大小不同的单位空间来存放整形数据。,类型名 意 义 字节数 经度范围short 短整型 2-3276732768int 基本整型 4-21474836472147483648long 长整型 4-2147483647L2147483648Lunsigned short 无符号短整型
11、 2 065535unsigned int 无符号基本整型 4 04294967295UUnsigned long 无符号长整型 4 04294967295UL,1.2.1 C语言的整型数据类型,3.变量定义整型变量定义的一般形式为:类型名;该语句的功能是:指定具有类型名定义的多个内存空间,取名为变量列表中的标识符(变量名),数量与变量列表中变量名的个数一致。例如:int x1,x2;(定义变量x1,x2为整型变量)longx,y;(定义变量x,y为长整型变量)unsigned c,d;(定义变量c,d为无符号整型变量)例1-2 整型变量的定义和输出示例。,1.2.2 C语言的实型数据类型,实
12、型量1实型常量 在C语言源程序中能直接书写的实型数,称为实型常量。实型数在C语言中又称为浮点数,实型常数有两种表示形式:实数形式:实数形式由数字和小数点组成。如:888.88,0.88等。指数形式:数据由数字0 9、小数点和表示阶码的标志“e”或“E”组成,其组成形式一般为:整数部分.小数部分E指数部分指数形式对应于自然科学中的科学计数法,其中用字母“e”或“E”来表示幂的底,在“e”或“E”之后用整数表示数的指数。如123e5表示123105,123e-5表示12310-5。,1.2.2 C语言的实型数据类型,在使用实型数的指数表示形式时应该注意下面两点:指数部分只能是整数而不能用实数表示,
13、如123E1.5是错误的表示方法。字母“e”或“E”之前的尾数部分不能省略,如10-8不能只写为E-8,而应该写成为1E-8(或者1e-8).2实型变量C源程序文件中存放实型数据的数据对象称为实型变量。C语言中的实型变量按其表示的数据范围不同和精度不同分为单精度型和双精度型,其类型名分别为float和double。,1.2.2 C语言的实型数据类型,3.变量定义定义实型变量的一般形式为:类型名;功能意义与整形变量定义相同例如:float x,y;(定义变量x,y为单精度实型变量)double z;(定义变量z为双精度实型变量)例1-3 实型变量的定义和输出示例。,类型名 意 义 字节数 精度范
14、围float 单精度实型 4 1.175494e-0383.402823e+038 Double 双精度实型 8 2.225074e-3081.797693e+308,1.2.3 C语言的字符型数据类型,字符量 在C语言源程序中直接书写的、需要被处理的字符就是字符常量。同样,用于存放这个字符的内存空间就是字符变量。1.字符常量 普通字符:普通字符是由单引号括起来的一个可打印字符,如a、?、A等。转义字符:转义字符是由反斜杠开头的字符序列,此时反斜杠字符后面的字符或字符序列不表示自己本身的含义而转变为表示另外的特定意义。,1.2.3 C语言的字符型数据类型,2字符变量 字符类型变量用以存储和表示
15、一个字符,占用一个字节。字符型变量的定义形式如下:char;例如:char ch;(定义变量ch为字符型变量)在C语言中字符型变量和整型变量是兼容的,系统中存储的是对应字符的ASCII码值,因此在C语言中字符数据和整数之间可以通用,即字符型数据可以与整型数据一起参与运算,但在使用时要注意其表示的合理范围(0255范围内的整数),1.2.3 C语言的字符型数据类型,例如,若有C语句序列:char ch;ch=A;ch=ch+1;,则执行该语句序列后ch的内容是字符B。例1-4 字符变量的定义和输出示例。3字符串常量 C语言中,字符串常量是用双引号括起来的由0个字符或若干个字符构成的字符序列,例如
16、“This is a string constant”。其中,双引号只是作为定界符使用,并不是字符串中的字符。存储字符串常量时分配一段连续的存储单元用于依次存放字符 串中的每一个字符,然后在字符串的最后一个字符后添加转义字符0表示字符串的结尾,所以其需要的空间长度是串中字符存储所需要的长度再加一个字节,1.2.3 C语言的字符型数据类型,4符号常量 在C语言中,除了可以具体的各种类型常量外,还可以可以用符号代替常量,用以代替常量的符号称为符号常量(或称为宏常量)。符号常量在使用之前也必须预先定义。其定义的格式为:#define 标识符 被替代的常量,例如:#define PI 3.141592
17、6#define EOF-1#define precision 1e-8,1.2.4 变量的初始化,变量的初始化指的是为变量第一次赋值。在C语言中变量初始化的方法有两种,一是在程序的执行过程中通过赋值运算符实现赋值;二是在定义变量的同时为变量赋初值。C语言中,定义变量的同时对其初始化的一般形式为:=;例如 int a,x1=100;long b,x2=100L;float c,x3=100.30;double x4=100.5;char ch=A;,第一章 C语言数据描述和C程序设计初步,C程序的基本结构C语言的基本数据类型基本运算符和表达式不同类型数据混合运算及数据转换C程序设计初步,1.3
18、 基本运算符和表达式,在完成数据存入内存后,需要对这些数据做相关的处理或运算,以得到我们所需要的结果。C语言提供了多种运算符号,通过由这些运算符组合成表达式和表达式语句对数据进行处理。这些运算符是C语言规定的。各个运算符有各自的意义。1算术运算符 2关系运算符 3逻辑运算符 4赋值运算符 5条件运算符 6位运算符 7逗号运算符 8指针运算符 9.其它运算符,1.3 基本运算符和表达式,一些运算符只需要一个运算对象(操作数),这种运算符称为单目运算符;另外一些运算符需要两个运算对象,这些运算符称为双目运算符;还有比较特殊的运算符需要三个运算对象,称这种运算符为三目运算符。运算符的优先级和结合性
19、优先级表明计算顺序,计算的先后关系 结合性表明计值方向。左结合(从左到右)和右结合(从右到左)。,1.3.1 算术运算符和算术表达式,C语言提供了加,减、剩、除和求摸五种算术运算符,对应的符号分别是:+、-、*、/和%。这些运算符都需要两个运算对象,称为两目运算符。而且是从左到右的运算顺序,称为左结合性。除求摸运算符外,满足数据的正、负符号规则。例如:3+2结果为5,3*-结果为 15.当两个整数相除时,得到的结果仍然是整数。既取整运算。例如:7/5结果为1,-7/5结果为-1,3/5结果为0.求模运算就是求余数,参加求模运算的两个对象必须都是整型对象,运算结果的符号与第一个运算对象相同。例如
20、:7%5结果为2,-7%5结果为-2,7%(-5)=2。,1.3.1 算术运算符和算术表达式,由算术运算符和括号将运算对象连接起来的、符合C语言语法规则的算术表达形式称为C语言的算术表达式。运算对象包括常量、变量、函数、表达式等,值得注意的是单个的常量、变量或函数名本身也是表达式。如:a*b/c-1.5+a是一个合法的表达式。而表达式 a+b-2.3%6就不是一个合法的C语言表达式。优先级高()函数+、-*、/、%+、-优先级低 例1-5 算术运算符使用示例。,1.3.2 赋值运算符和赋值表达式,C语言规定符号“=”为赋值运算符,由“=”连接的表达式称为赋值表达式。赋值表达式的书写格式为赋值运
21、算符左边只能是一个变量,右边是一个表达式,格式如下:变量名=表达式 其意义为:将赋值运算符右边的表达式的值存入左边变量名所指定的单位内存空间中,替换掉以前的值。或简述为将表达式的值赋给变量。例如 a=10的意义是将整型数10赋给变量a作为其值;y=x+110的意义是先计算x+110的值,然后将它赋给变量y作为其值。,1.3.2 赋值运算符和赋值表达式,当赋值运算符两边的数据对象类型不一致时,在赋值时要进行数据类型的转换。转换的基本规则是以赋值运算符左边变量的数据类型为准。例如有如下程序段:int a;float x=10.5,y=10.6;a=x+y;执行这段程序时,首先计算出算术表达式x+y
22、的值为:21.1,然后将该值用截取法取整得到21后再赋值给左边的整型变量a,使得a的值为整数21。,1.3.2 赋值运算符和赋值表达式,C语言程序中,能执行操作运算的只有语句。表达式的功能只能在语句里才能被实现。而单独的表达式是不合法和不被执行的。赋值语句由赋值表达式加上C语句结尾符号分号“;”构成,其一般形式为:;或 变量名=表达式;例如:a=x+y是赋值表达式,而a=x+y;则是赋值语句 注意:1.赋值运算符的左边必须为变量,不能为常量或表达式。2.赋值运算符的优先级低于逻辑运算符、关系运算符、算术 运算符。其结合性为从右至左(即:右结合性)。3.在C语言中,赋值表达式可以作为一个对象出现
23、在另外的表达式中。例1-6 赋值运算符和赋值表达式使用示例。,1.3.3 自反运算符,复合赋值符:凡是双目运算符都可以与赋值运算符一起组成复合赋值符,其结合性为右结合性。这些复合赋值符共有10个,它们是:+=、-=、*=、/=、%=、=、&=、=、|=自反运算符:赋值运算符“=”的左边加上算术运算符之一而构成的运算符,称为自反运算符。它有两种运算,即赋值和所加的算术运算。是一种“复合运算符”。如果用符号OP表示某一双目运算符,则用自反运算符的构成表达式的一般书写形式为:OP=其意义是:=OP()注意:当操作数2是单个变量或常数时,括住操作数2的括号可以省略;而当操作数2是一个表达式时,必须用括
24、号将操作数2的括起来。,1.3.3 自反运算符,例如:a+=5相当于a=a+5/*省略了括住第二个操作数的括号*/x*=y+1相当于x=x*(y+1)/*不能省略括住第二个操作数的括号*/x%=y-5相当于x=x%(y-5)/*不能省略括住第二个操作数的括号*/注意:自反运算符的结合性为右结合性,自反运算符 的优先级和赋值运算符一致。例1-7 自反运算符使用示例。例1-8 自反运算符的结合性示例。,1.3.4 自增、自减运算符,自增运算符”+”和自减运算符”“是两个单目运算符,它们都只需要一个运算对象,其功能是将运算对象的值增加或减少一个该对象的单位值。自增运算符和自减运算符都只能作用于整型变
25、量或者字符型变量,而不能作用于其它数据类型的变量。例如下面的语句序列存在着错误:float a=100;a+;/*试图对实型变量a施加自增运算*/自增运算符和自减运算符不能作用于常量数据或者表达式。例如下面的语句序列存在着错误:int a=100;-(a+100);/*试图对表达式a+100施加自减 运算*/300+;/*试图对整型常数300施加自增运算*/,1.3.4 自增、自减运算符,自增、自减运算符的前缀形式 前缀形式即自增、自减运算符(+、-)出现在变量的左侧,如:+i、-i。自增、自减运算符的前缀形式对变量实施的运算是“先增/减值后引用”。自增、自减运算符的后缀形式 后缀形式即自增、
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 数据 描述 程序设计 初步
链接地址:https://www.31ppt.com/p-5635844.html