第2章语言学习PPT讲稿.ppt
《第2章语言学习PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《第2章语言学习PPT讲稿.ppt(61页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第2章语言学习章语言学习第1页,共61页,编辑于2022年,星期一本章主要内容本章主要内容l l本章介绍本章介绍C语言的基础,包括:语言的基础,包括:数据类型数据类型 运算符和表达式运算符和表达式l l均是程序设计的基本知识均是程序设计的基本知识l l为什么讨论为什么讨论这些知识这些知识?通常通常程序程序要对数据进行操作处理:要对数据进行操作处理:处理的对象是处理的对象是数据数据通过通过运算符和表达式运算符和表达式进行操作进行操作2第2页,共61页,编辑于2022年,星期一例如:例如:【例例2.1】计算圆的面积,半径为计算圆的面积,半径为 5 cm。程序如下:程序如下:main()float
2、 r r,areaarea;r r=5 5;areaarea=3.143.14*r*r;printf(%fn,areaarea);运算结果是输出圆的面积:运算结果是输出圆的面积:运算结果是输出圆的面积:运算结果是输出圆的面积:78.50000078.500000程序中用到的数据:程序中用到的数据:r、area、5、3.14对数据进行的运算:对数据进行的运算:*、=例例jc2_13第3页,共61页,编辑于2022年,星期一分析:分析:计算机操作处理时,要完成以下工作:计算机操作处理时,要完成以下工作:l l在内存中给半径在内存中给半径 r 和运算结果和运算结果 area 开辟存储空开辟存储空间,
3、存放它们的值。间,存放它们的值。应该留多大的地方来存应该留多大的地方来存放它们的值?放它们的值?l l数据数据 5 和和 3.14 与与 r、area 不同,它们是在编写不同,它们是在编写程序时就给出确定的值,在运算过程中不会改程序时就给出确定的值,在运算过程中不会改变。变。这样的数计算机怎么处理?这样的数计算机怎么处理?l l对对整数整数 5 和和小数小数3.14,计算机,计算机存放时是否有区存放时是否有区别?别?涉及数据类型涉及数据类型的基本知识的基本知识4第4页,共61页,编辑于2022年,星期一C语言的数据类型语言的数据类型 C数据类型数据类型数组类型数组类型结构体类型结构体类型共用体
4、类型共用体类型枚举类型枚举类型整型整型 字符型字符型 实实型型(浮浮点点型型)空类型空类型单精度型单精度型 双精度型双精度型 基本类型基本类型指针类型指针类型构造类型构造类型本章讨论本章讨论本章讨论本章讨论基本类型数据基本类型数据基本类型数据基本类型数据5第5页,共61页,编辑于2022年,星期一2.1.1 整型数据整型数据 1整型数据的类型整型数据的类型 基本整型数据基本整型数据 int,分配,分配 2 Byte 短整型数据短整型数据 short int,分配,分配 2 Byte 长整型数据长整型数据 long int,分配,分配 4 Byte整型数据均以整型数据均以二进制补码二进制补码形式
5、存储形式存储问题:问题:为什么要采用补码?为什么要采用补码?如何表示?如何表示?6第6页,共61页,编辑于2022年,星期一计算机中正、负数的表示计算机中正、负数的表示 例如:例如:109(1101101)2要区别:要区别:109 和和 109 方法是:方法是:将符号也数码化将符号也数码化即:即:正的符号正的符号 用用 0 表示表示 负的符号负的符号 用用 1 表示表示 计算机中的数表示方法是:计算机中的数表示方法是:符号位符号位二进制数值二进制数值(以以 8bit 为例为例)109 110 1101 0110 1101109 110 1101 1110 11017第7页,共61页,编辑于20
6、22年,星期一问题:计算机计算复杂化问题:计算机计算复杂化例如计算:例如计算:(-19)+(+22)1001 0011+0001 0110解决的方法是:解决的方法是:使用使用反码反码或或补码补码的表示方法(按前述表的表示方法(按前述表示的编码称为示的编码称为原码原码),即能将减法一律转换),即能将减法一律转换为加法。为加法。需要判断符号是否相同:需要判断符号是否相同:如果相同,结果符号不变,并进行绝对值相加如果相同,结果符号不变,并进行绝对值相加 如果不同,结果取绝对值大的数的符号,并进行绝对如果不同,结果取绝对值大的数的符号,并进行绝对如果不同,结果取绝对值大的数的符号,并进行绝对如果不同,
7、结果取绝对值大的数的符号,并进行绝对值相减值相减值相减值相减8第8页,共61页,编辑于2022年,星期一原码、反码和补码原码、反码和补码l l正数正数:原码、反码、补码相同原码、反码、补码相同 符号位为符号位为0,数值为对应的二进制数。,数值为对应的二进制数。109 01101101原原=01101101反反=01101101补补l l负数负数:原码原码符号位为符号位为1 1,数值为绝对值的二进制数。,数值为绝对值的二进制数。10911101101原原反码反码符号位为符号位为1 1,数值为绝对值的二进制数各位,数值为绝对值的二进制数各位变反。变反。10910010010反反 补码补码符号位为符
8、号位为1 1,数值为绝对值的二进制数各,数值为绝对值的二进制数各位变反加位变反加1 1。10910010011补补9第9页,共61页,编辑于2022年,星期一2.有符号和无符号整型数据有符号和无符号整型数据 有符号的整型数据有符号的整型数据 signed int 无符号的整型数据无符号的整型数据 unsigned int区别是将区别是将最高位最高位看作符号位还是数据位看作符号位还是数据位例如:例如:1111 1111 1010 1000作为作为有符号数有符号数使用时,最高为符号位使用时,最高为符号位为负数,值是:为负数,值是:-88(再求一次补)(再求一次补)作为作为无符号数无符号数使用时,最
9、高为数据位使用时,最高为数据位为无符号的数,值是:为无符号的数,值是:6544810第10页,共61页,编辑于2022年,星期一例如:例如:main()unsigned int m;unsigned int m;m=m=6544865448;printf(nm=printf(nm=%dn,m);n,m);printf(m=printf(m=%un,m);n,m);例jc2_a输出结果:输出结果:m=-88m=65448按有符号数输出按有符号数输出按无符号数输出按无符号数输出11第11页,共61页,编辑于2022年,星期一整型数据的类型及规定整型数据的类型及规定l l方括号表示可选项方括号表示可
10、选项l lint 分配分配2 Byte,long分配分配4 Byte类型名称类型名称类型名称类型名称类型符类型符类型符类型符bitbit取值范围取值范围取值范围取值范围整型整型整型整型(短整型短整型短整型短整型)signed signed int int signed signed shortshort int int 1616-2 215152 21515-1-1(-32768(-3276832767)32767)无符号整型无符号整型无符号整型无符号整型unsignedunsigned int int16160 0 2 21616-1-1(0(065535)65535)长整型长整型长整型长整
11、型signed signed longlong int int3232-2-231312 23131-1-1无符号长整型无符号长整型无符号长整型无符号长整型unsigned longunsigned long int int32320 0 2 23232-1-112第12页,共61页,编辑于2022年,星期一2.1.2 实型数据实型数据 1实型数据的类型实型数据的类型 单精度实型数据单精度实型数据 float,分配分配4 Byte 双精度实型数据双精度实型数据double,分配,分配 8 Byte2实型数据的存储实型数据的存储 单精度实型单精度实型单精度实型单精度实型指数部分指数部分指数部分指
12、数部分小数部分小数部分小数部分小数部分 小数的符号位小数的符号位指数的符号位指数的符号位13第13页,共61页,编辑于2022年,星期一实型数据的类型及规定实型数据的类型及规定 l lC C标准并未具体规定各种实型数据所占字节数,也不规定具体小标准并未具体规定各种实型数据所占字节数,也不规定具体小标准并未具体规定各种实型数据所占字节数,也不规定具体小标准并未具体规定各种实型数据所占字节数,也不规定具体小数和指数部分的位数。数和指数部分的位数。数和指数部分的位数。数和指数部分的位数。l l一般而言,小数部分位数多,数据表示的有效数字多,精度一般而言,小数部分位数多,数据表示的有效数字多,精度一般
13、而言,小数部分位数多,数据表示的有效数字多,精度一般而言,小数部分位数多,数据表示的有效数字多,精度就高;而指数部分位数多,则表示的数据范围更大。就高;而指数部分位数多,则表示的数据范围更大。就高;而指数部分位数多,则表示的数据范围更大。就高;而指数部分位数多,则表示的数据范围更大。有效数字的意义?有效数字的意义?类型类型类型符类型符Byte绝对值的范围绝对值的范围有效数字有效数字单精度型单精度型float410-37 103878 位位双精度型双精度型double810-307 103081516位位例例例例jC2_ajC2_ajC2_ajC2_a14第14页,共61页,编辑于2022年,星
14、期一2.1.3 字符型数据字符型数据 l l字符型数据字符型数据char,分配分配 1 Byte l l字符型数据是指字母、数字、各种符号等字符型数据是指字母、数字、各种符号等用用ASCII值表示的字符值表示的字符l l例如例如 a 是一个是一个char类型数据,称作字符类型数据,称作字符常量,存储:常量,存储:0 1 1 0 0 0 0 12.1.4 2.1.4 空类型空类型l l空类型空类型voidl l通常与指针或函数结合使用通常与指针或函数结合使用 15第15页,共61页,编辑于2022年,星期一2.2 常量、变量与标准函数常量、变量与标准函数 l主要内容:主要内容:常量常量变量变量标
15、准库函数标准库函数16第16页,共61页,编辑于2022年,星期一2.2.1 常量常量 l l在运行程序的过程中值保持不变的量在运行程序的过程中值保持不变的量1整型常量整型常量 十进制十进制十进制十进制:0909 八进制八进制八进制八进制:0707,以,以,以,以 0开头开头开头开头 十六进制十六进制十六进制十六进制:0909,AF/afAF/af,以,以 0 x0 x或或或或 0X 0X 开头开头开头开头例如:例如:100 -8 0 +123100 -8 0 +123010 024 0100 073010 024 0100 0730 0 x38 0 x10 0X10 0XFF 0 x0ax3
16、8 0 x10 0X10 0XFF 0 x0a17第17页,共61页,编辑于2022年,星期一1.整型常量整型常量l l整型常量的类型:整型常量的类型:根据值大小默认类型。根据值大小默认类型。整型常量后面加整型常量后面加l或或L,则认为是,则认为是long int型型 例如:例如:123L、0L、432l、0 x100l注意:注意:l l十六进制常量中可以使用大写字母十六进制常量中可以使用大写字母AF,也,也可以使用小写字母可以使用小写字母af。l l八进制常量中不能出现数字八进制常量中不能出现数字 8 或或 9例如:例如:018、0921非法非法18第18页,共61页,编辑于2022年,星期
17、一2.实型常量实型常量 十进制形式十进制形式 1.0 1.+12.0 -12.0 0.01.0 1.+12.0 -12.0 0.0 指数形式指数形式指数形式指数形式 1e3 1.8e-3 -123E-6 -.1E-31e3 1.8e-3 -123E-6 -.1E-3等价于:等价于:1103 1.810-3 -12310-6 -0.110-3指数只能是整数,而尾数则可以是整数也可以是小指数只能是整数,而尾数则可以是整数也可以是小数数,无论指数或尾数均不能省略,无论指数或尾数均不能省略例如:例如:1e e、E.5E.5、E-3E-3 非法非法实型常量的类型:默认为实型常量的类型:默认为double
18、double型,后面加型,后面加F(或(或f f),),则强调表示该数是则强调表示该数是float类型类型例如:例如:3.5f、1e2F F 19第19页,共61页,编辑于2022年,星期一3.字符型常量字符型常量 l l可视字符常量可视字符常量 单引号括起来的单个可视字符单引号括起来的单个可视字符单引号括起来的单个可视字符单引号括起来的单个可视字符例如:例如:例如:例如:aa、A A、+、33、等等等等 l l转义字符常量转义字符常量转义字符常量转义字符常量 单引号括起来的单引号括起来的单引号括起来的单引号括起来的 与与与与可视字符可视字符可视字符可视字符组合,例如:组合,例如:组合,例如:
19、组合,例如:00字符串结束标志字符串结束标志n回车换行回车换行t跳到下一个输出位置跳到下一个输出位置双引号字符双引号字符ddd ddd为为1到到3位八进制数所代表的字符位八进制数所代表的字符xhhhh为为1到到2位十六进制数所代表的字符位十六进制数所代表的字符20第20页,共61页,编辑于2022年,星期一4.字符串常量字符串常量 l l用双引号括起的一个字符序列用双引号括起的一个字符序列 例如:例如:ABC、123、a、nt nGood morningl l字符串常量的长度字符串常量的长度:所包含的字符个数所包含的字符个数 l l字符串常量的存储方式:字符串常量的存储方式:n G o o d
20、m o rni n g 0a0所占存储单元数:所占存储单元数:串长度串长度1例如:例如:字符串字符串结束标记结束标记21第21页,共61页,编辑于2022年,星期一5.符号常量符号常量 l l以标识符来代表的常量以标识符来代表的常量以标识符来代表的常量以标识符来代表的常量l l事先编译预处理命令事先编译预处理命令definedefine定义定义定义定义l l编译时先由系统替换为它所代表的常量,再进行编编译时先由系统替换为它所代表的常量,再进行编译译例如:例如:例如:例如:#define define LENLEN 2.52.5main()main()float a,b;a=2*3.14*LEN
21、LEN;b=3.14*LEN*LENLEN;printf(a=%f,b=%fn,a,b);定义符号常量定义符号常量定义符号常量定义符号常量使用符号常量使用符号常量使用符号常量使用符号常量编译前系统进行替换编译前系统进行替换22第22页,共61页,编辑于2022年,星期一5.符号常量符号常量main()float a,b;a=2*3.14*2.5;b=3.14*2.5*2.5;printf(a=%f,b=%fn,a,b);define是编译预处理命令,必须以是编译预处理命令,必须以“#”开头开头编译预处理命令在第编译预处理命令在第7章讨论。章讨论。替换为替换为替换为替换为23第23页,共61页,
22、编辑于2022年,星期一2.2.2 变量变量 1.变量的有关概念变量的有关概念l l在程序运行过程中,其值改变的数据,称为在程序运行过程中,其值改变的数据,称为变量,变量用标识符表示,称为变量,变量用标识符表示,称为变量名变量名。l l变量必须变量必须“先定义后使用先定义后使用”l l系统为变量分配存储单元,存储变量的值。系统为变量分配存储单元,存储变量的值。l l编写程序时通过变量名来存、取编写程序时通过变量名来存、取变量值变量值。a510变量值变量值为变量分配的为变量分配的存储单元存储单元变量名变量名例如:例如:有变量有变量a a它的值是它的值是51051024第24页,共61页,编辑于2
23、022年,星期一2.变量定义变量定义变量定义的一般格式:变量定义的一般格式:数据类型说明符数据类型说明符 变量列表变量列表;例如:例如:int i,j;long k,m;float x,y;char ch1,ch2;必须使用合法的标识符作变量名必须使用合法的标识符作变量名不能使用关键字为变量命名不能使用关键字为变量命名25第25页,共61页,编辑于2022年,星期一3.变量的初始化:变量的初始化:允许在说明变量的时候对变量赋初值。允许在说明变量的时候对变量赋初值。例如:例如:int a=5,b=10+2;double x=23.568,y;char ch1=a,ch2=66,ch3=142;表
24、示定义变量并对变量存储单元赋值。表示定义变量并对变量存储单元赋值。错误的初始化:错误的初始化:int a=3+b,b=5;float m=n=23.16;26第26页,共61页,编辑于2022年,星期一2.2.3 标准库函数标准库函数l l由由C编编译译系系统统定定义义的的一一种种函函数数,存存放放在在系系统统函数库中,用户可以根据需要随时调用函数库中,用户可以根据需要随时调用l l常用函数常用函数如:如:如:如:printfprintf、scanfscanf、fabs、sqrtsqrt、sinsin、(常用数学函数参见教材常用数学函数参见教材 P30 P30 表表2.52.5)l l函数调用
25、形式函数调用形式:函数名(参数表)函数名(参数表)例如:例如:putchar(a)sqrt(x)例例jc2_327第27页,共61页,编辑于2022年,星期一2.3 运算符和表达式运算符和表达式l l主要内容:主要内容:算术运算符和算术表达式算术运算符和算术表达式 赋值运算符和赋值表达式赋值运算符和赋值表达式 关系运算符和关系表达式关系运算符和关系表达式 逻辑运算符和逻辑表达式逻辑运算符和逻辑表达式 位运算符和位运算表达式位运算符和位运算表达式 条件运算符和条件表达式条件运算符和条件表达式 逗号运算符和逗号表达式逗号运算符和逗号表达式 其他运算符及其运算其他运算符及其运算28第28页,共61页
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 学习 PPT 讲稿
限制150内