最新版课件c语言 (50)_第1页
最新版课件c语言 (50)_第2页
最新版课件c语言 (50)_第3页
最新版课件c语言 (50)_第4页
最新版课件c语言 (50)_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

1、语语言言程程序序设设计计教教程程 第第二二章章数数据据类类型型和和运运算算符符 C C2.1词法构成词法构成 2.2信息类型信息类型 2.3常量与变量常量与变量 2.4指针类型指针类型 2.5运算符和表达式运算符和表达式要求要求:把握变量和常量的概念;把握变量和常量的概念;懂得各种类型的信息在内存中的存放形式;懂得各种类型的信息在内存中的存放形式;把握各种类型信息的常量的使用方式;把握各种类型信息的常量的使用方式;把握各种整型、字符型、浮点型变量的定义和把握各种整型、字符型、浮点型变量的定义和引用方式;引用方式;语语言言程程序序设设计计教教程程 第第二二章章数数据据类类型型和和运运算算符符 C

2、 C学习的意义学习的意义学习终极意图是学习终极意图是:用用C语言编写程序语言编写程序来解决现实咨询题来解决现实咨询题.程序是解决某种咨询题的一组指令的有程序是解决某种咨询题的一组指令的有序集合序集合. 闻名统计机科学家沃思(闻名统计机科学家沃思(Nikiklaus Wirth)提出一个程式)提出一个程式: 程序程序 = 信息结构信息结构 + 算法算法 对信息的描述对信息的描述. .在在C C语言中语言中, ,表现为信息表现为信息类型的描述!类型的描述!对信息操作的描述对信息操作的描述. .是为解决一个是为解决一个咨询题而采纳的方式和环节咨询题而采纳的方式和环节, ,是程是程序的灵魂!序的灵魂!

3、 结论结论:学好学好C语言第一步便必须非常领会语言第一步便必须非常领会C语言的信息类型、语言的信息类型、与算符与表达式与算符与表达式.程序程序:语语言言程程序序设设计计教教程程 第第二二章章数数据据类类型型和和运运算算符符 C C1 1、字符集、字符集: :字符集的一个子集构成语言中的标识符、关键字、字符集的一个子集构成语言中的标识符、关键字、运算符等运算符等. .(P24 P24 字符集)字符集)2.1 C语言词法构成语言词法构成C语言使用的根基符号可分四大类语言使用的根基符号可分四大类,回纳似下回纳似下:英文字母大小写各英文字母大小写各26个个,共计共计52个个阿拉伯数阿拉伯数:(0-9)

4、共共10个数字个数字下划线下划线:_和和 #标点符号和运算符标点符号和运算符: 算术运算符算术运算符:+ - * % + - 关系运算符关系运算符: = = = != 逻辑运算符逻辑运算符: & | ! 前提运算符前提运算符: ?: 赋值运算符赋值运算符: = 其他符号其他符号: ( ) . , ;语语言言程程序序设设计计教教程程 第第二二章章数数据据类类型型和和运运算算符符 C C根基概念根基概念标识符标识符:用来标识变量、符号常量、函数、数组、文件等用来标识变量、符号常量、函数、数组、文件等的字符序列的字符序列.满足下列前提的字符序列满足下列前提的字符序列:1 1 以字母或下划线开

5、头以字母或下划线开头2 2 随后可跟如果干个字母、数字和下划线随后可跟如果干个字母、数字和下划线3 3 标识符的长度各个系统差别标识符的长度各个系统差别, ,最好不要太长最好不要太长( (有效长度为有效长度为3232个个字符字符. .随系统而异随系统而异, ,但到少前但到少前8 8个字符有效个字符有效) )4 4 辨识大小写辨识大小写, ,不能与系统关键字重名不能与系统关键字重名. .关键字(保留字)关键字(保留字): : (P25 P25 ) 在在C C语言中具有特定含义语言中具有特定含义, ,特意用作语言特定成分的一特意用作语言特定成分的一类标识符类标识符. .1) 1) 系统提供系统提供

6、, ,具有固定的含义具有固定的含义. .2) 2) 只能原样使用只能原样使用, ,不许可再一次定义、改变其含义不许可再一次定义、改变其含义( (全部的全部的关键字都有固定的意义关键字都有固定的意义, ,不能用作其它不能用作其它) )3) 3) 全部的关键字根基上小写全部的关键字根基上小写. .x y3 _imax ELSE X A_to_B 合法合法7x int #No bad one re-input 不合法不合法语语言言程程序序设设计计教教程程 第第二二章章数数据据类类型型和和运运算算符符 C C2.2 2.2 信息类型信息类型信息类型总表信息类型总表C C数数据据类类型型根基类型根基类型

7、组织类型组织类型指针类型指针类型空类型空类型voidvoid定义类型定义类型typedeftypedef字符类型字符类型charchar枚举类型枚举类型enumenum整型整型实型实型单精度型单精度型floatfloat双精度型双精度型doubledouble数组数组结构体结构体structstruct共用体共用体unionunion短整型短整型shortshort长整型长整型longlong整型整型intint信息类型决意信息类型决意: :1. 1. 信息占内存字节数信息占内存字节数2. 2. 信息取值范畴信息取值范畴3. 3. 其上可履行的操纵其上可履行的操纵语语言言程程序序设设计计教教程

8、程 第第二二章章数数据据类类型型和和运运算算符符 C C2.3 常量与变量常量与变量eg: #define PRICE 30#define PI 3.1415926 例例 符号常量举例符号常量举例(ch2_1.c)#define PRICE 30main() int num,total; num=10; total=num*PRICE; printf(total=%d,total);运行结论运行结论:total=300行尾不能有分号行尾不能有分号 define前面必然要有前面必然要有# 符号常量名最好使用大符号常量名最好使用大写符号常量名最好有意写符号常量名最好有意义义常量常量: :程序运行时

9、其值不能改变的量(即常数)程序运行时其值不能改变的量(即常数)符号常量符号常量: :用标识符代表常量定义用标识符代表常量定义标准标准: : #define #define 符号常量符号常量 常量常量语语言言程程序序设设计计教教程程 第第二二章章数数据据类类型型和和运运算算符符 C C咨询题咨询题:0123 = ( )100 x123 = ( )100 xff = ( )1083291255咨询题咨询题:0123 = ( )100 x123 = ( )100 xff = ( )10整形常量(整常数)整形常量(整常数)三种形式三种形式:十进制整数十进制整数:由数字由数字09和正负号示意和正负号示意

10、. 似似 123,-456,0八进制整数八进制整数:由数字由数字0开头开头,后跟数字后跟数字07示意示意. 似似0123,-011十六进制整数十六进制整数:由由0 x开头开头,后跟后跟09,af,AF示意示意. 似似0 x123,-0Xff语语言言程程序序设设计计教教程程 第第二二章章数数据据类类型型和和运运算算符符 C C2.3 常量与变量常量与变量实型常量实型常量:(实数或浮点数)(实数或浮点数)示意形式示意形式:只能用十进制数示意只能用十进制数示意小数形式小数形式: 由整数、小数点和小数部分组成由整数、小数点和小数部分组成(必须有小数点)必须有小数点) 似似0.123, .123, 12

11、3.0, 0.0, 123.(注(注:能省略整数或小数部分能省略整数或小数部分,但不能同时省)但不能同时省)指数形式指数形式:由尾数、指数符号由尾数、指数符号(e或或)和指数组成和指数组成. (e或或E之前必须有数字;指数必须为整数之前必须有数字;指数必须为整数) 似似12.3e3 ,123E2, 1.23e4 , e-5 , 1.2E-3.5语语言言程程序序设设计计教教程程 第第二二章章数数据据类类型型和和运运算算符符 C C字符常量字符常量定义定义: :用单引号括起来的一个字符用单引号括起来的一个字符字符常量的值字符常量的值: :该字符的该字符的ASCIIASCII码值码值转义字符转义字符

12、: :反歪线背面跟一个字符或一个代码值示意反歪线背面跟一个字符或一个代码值示意. .似似 :n 101似似 A65, a97转义字符及其含义转义字符及其含义:2位位16进制数代表的字符进制数代表的字符转义字符转义字符含义含义nvradddtbf“xhh转义字符转义字符含义含义换行换行垂直制表垂直制表回车回车响铃响铃单引号单引号水平制表水平制表退格退格换页换页反歪线反歪线双引号双引号3 3位位8 8进制数代表的字符进制数代表的字符语语言言程程序序设设计计教教程程 第第二二章章数数据据类类型型和和运运算算符符 C C例例 转义字符举例转义字符举例main() printf(101 x42 Cn);

13、 printf(I say:How are you? n”); printf(“C Programn); printf(Turbo C);运行结论运行结论:(屏幕表现屏幕表现)A B CIsay:”How are you?”C ProgramTurbo C语语言言程程序序设设计计教教程程 第第二二章章数数据据类类型型和和运运算算符符 C C字符串常量字符串常量h e l l o 0例例 字符串字符串“hello”hello”在内存中在内存中a a 0例 a“a”例例 空串空串 “” “”0例: char ch; ch=A; 例: char ch; ch=“A”; C C语言中没有特意的字符串变

14、量语言中没有特意的字符串变量. .字符串似果需要存放在变量字符串似果需要存放在变量中中, ,需要用字符型数组来存放需要用字符型数组来存放. .字符常量与字符串常量差别字符常量与字符串常量差别存储存储:每个字符串尾自动加一个每个字符串尾自动加一个 0 做为字符串结束标记做为字符串结束标记定义定义:用双引号用双引号“ ”括起来的字符序列括起来的字符序列语语言言程程序序设设计计教教程程 第第二二章章数数据据类类型型和和运运算算符符 C C变量变量在程序运行环节中在程序运行环节中,其值能够改变的量其值能够改变的量.它用标识符它用标识符( (变量名变量名) )来示意来示意, ,在内存中占据必然的存储单元

15、在内存中占据必然的存储单元. . 1 1 定义方式定义方式: :信息类型信息类型 变量变量1,1,变量变量2,2,变量变量n;n;整型变量整型变量shortintlong实型变量实型变量float:占占4字节字节,提供提供7位有效数字位有效数字double:占占8字节字节,提供提供1516位有效数字位有效数字字符型变量字符型变量 char占一个字节占一个字节决意安排字节数决意安排字节数和数的示意范畴和数的示意范畴黑板上举例黑板上举例(画图)(画图)编译程序依照定义为变量安编译程序依照定义为变量安排指定字节的内存单元排指定字节的内存单元语语言言程程序序设设计计教教程程 第第二二章章数数据据类类型

16、型和和运运算算符符 C C.地址int a=1, b=-3,c;abc2字节2字节2字节地址地址.内存1-3随机数语语言言程程序序设设计计教教程程 第第二二章章数数据据类类型型和和运运算算符符 C Cu1 先定义后使用先定义后使用,应应“见名知义见名知义”注重注重:风俗上符号常量名用大写风俗上符号常量名用大写,变量名变量名用小写用小写,以示区不以示区不.系统变量一样用下划线开头系统变量一样用下划线开头,为区为区不不,用户定义的变量名一样不以下用户定义的变量名一样不以下划线开头划线开头.main() int a,b=2; float data; a=1; data=(a+b)*1.2; prin

17、tf(“data=%fn”,data);变量定义变量定义可履行语句可履行语句u3 没有字符串变量没有字符串变量,用字符数组存放用字符数组存放char c1,c2;c1=“a”c2=“CHINA”;u2 在定义变量的时侯赋值叫做初始化在定义变量的时侯赋值叫做初始化.e.g int a=5;int a,b=5;a=3; 语语言言程程序序设设计计教教程程 第第二二章章数数据据类类型型和和运运算算符符 C C指针的定义与引用指针的定义与引用指针的概念指针的概念 书书p35似果一个变量特意用来存放另一变量的地址似果一个变量特意用来存放另一变量的地址( (即指针即指针),),那么称为那么称为“指针变量指针

18、变量”. .指针变量的值是指针指针变量的值是指针( (地址地址).).指针是一种信息类型指针是一种信息类型,它是用来特意存放所指变量的地址的变它是用来特意存放所指变量的地址的变量量.也便讲也便讲,信息值存放在指针所指的值中信息值存放在指针所指的值中,而不是在指针变量而不是在指针变量中中.一个变量的地址称为该变量的一个变量的地址称为该变量的“指针指针”.语语言言程程序序设设计计教教程程 第第二二章章数数据据类类型型和和运运算算符符 C C指针变量的定义指针变量的定义标准标准: :类型标识符类型标识符 * *变量名;变量名;eg:int i, j;int *p1,*p2;*是指针类型的标是指针类型

19、的标记记,示意该变量为示意该变量为指针变量指针变量指针变量的引用指针变量的引用(1) &:取地址运算符,它的作用是取得变量所占用的存储单元的首地址.(2) *:指针运算符(或称“间接会见”).eg:p1=&i;p2=&j;*p1=3;*p3=5;语语言言程程序序设设计计教教程程 第第二二章章数数据据类类型型和和运运算算符符 C Cmain()int a,b;int *p1,*p2;a=200;b=30;p1=&a;p2=&b;printf(“%d,%dn”,a,b);printf(“%d,%dn”,*p1,*p2);输出两个整数输出两个整数注重注重: :

20、(1) 标识前面的标识前面的“*”,;(2) 一个指针变量只能一个指针变量只能指向同一个类型的变量指向同一个类型的变量.语语言言程程序序设设计计教教程程 第第二二章章数数据据类类型型和和运运算算符符 C C运算符与表达式运算符与表达式C运运算算符符算术运算符算术运算符: :(+ - + - * * % + - % + -)关系运算符关系运算符: :( = != = !=)逻辑运算符逻辑运算符: :(!(! & |& |)位运算符位运算符 : :( | & | &)赋值运算符赋值运算符: :(= = 及其扩展)及其扩展)前提运算符前提运算符: :(?:?:)逗号运

21、算符逗号运算符: :(, ,)指针运算符指针运算符: :(* * & &)求字节数求字节数 : :(sizeofsizeof)强制类型变形强制类型变形: :(类型)(类型)重量运算符重量运算符: :(. -. -)下标运算符下标运算符: :()其它其它 : :(( ) -( ) -)语语言言程程序序设设计计教教程程 第第二二章章数数据据类类型型和和运运算算符符 C C学习运算符应注重学习运算符应注重:运算符功能运算符功能与运算量关系与运算量关系要求运算量个数要求运算量个数要求运算量类型要求运算量类型运算符优先级不运算符优先级不联合方向联合方向结论的类型结论的类型语语言言程程序序

22、设设计计教教程程 第第二二章章数数据据类类型型和和运运算算符符 C C算术运算符、算术表达式算术运算符、算术表达式根基算术运算符根基算术运算符: + - : + - * * % %求余运算求余运算属于双目运算符属于双目运算符,联合性联合性:从左到右从左到右根基算术运算符的意义与数学中相应符号的意义一致根基算术运算符的意义与数学中相应符号的意义一致.但要注重但要注重:1 两个整数相除的结论仍为整数两个整数相除的结论仍为整数,自动舍去小数部分的值自动舍去小数部分的值. eg 64结论为结论为12 求余运算即求两个数相除后的余数求余运算即求两个数相除后的余数.要求两个操纵数是整数要求两个操纵数是整数

23、.语语言言程程序序设设计计教教程程 第第二二章章数数据据类类型型和和运运算算符符 C C表达式表达式: :用运算符和括号将运算对象(常量、变量和用运算符和括号将运算对象(常量、变量和函数等)毗邻起来的、吻合语言语法法那么的式函数等)毗邻起来的、吻合语言语法法那么的式子子. .算术表达式算术表达式:表达式中的运算符根基上算术运算符的表达式表达式中的运算符根基上算术运算符的表达式.语语言言程程序序设设计计教教程程 第第二二章章数数据据类类型型和和运运算算符符 C C算术运算符算术运算符-单目运算符单目运算符自增自减运算符自增自减运算符: + - : + - 作用作用:使变量值加使变量值加1或减或减

24、1种类种类:1)前置前置 +i, -i (先履行先履行i+1或或i-1,再使用再使用i值)值)2)后置后置 i+,i- (先使用先使用i值值,再履行再履行i+1或或i-1)区不在于区不在于: :先用再加先用再加( (减减) )仍是先加仍是先加( (减减) )后用后用k=4,j=4k=3,j=443c=20,a=4c=15,a=4P45 eg2.3语语言言程程序序设设计计教教程程 第第二二章章数数据据类类型型和和运运算算符符 C C+ - 不能用于常量和表达式不能用于常量和表达式,似似5+,(a+b)+讲明讲明:语语言言程程序序设设计计教教程程 第第二二章章数数据据类类型型和和运运算算符符 C

25、Cl 一样形式一样形式:变量变量 = = 常量或变量或表达式常量或变量或表达式l 功能功能:将右边常量或变量或表达式的值赋给左将右边常量或变量或表达式的值赋给左边变量边变量 赋值表达式赋值表达式 赋值表达式的值赋值表达式的值:被赋值变量的值被赋值变量的值.赋值运算符、赋值表达式赋值运算符、赋值表达式赋值运算符(赋值运算符(“”,双目运算符)双目运算符)eg: a=5 赋值语句赋值语句 赋值表达式在其背面加分号便构成了赋值语句赋值表达式在其背面加分号便构成了赋值语句.例似例似: int x, y, z; x = 20; y = x; z = x + y;语语言言程程序序设设计计教教程程 第第二二

26、章章数数据据类类型型和和运运算算符符 C C注重注重:1 1 赋值语句赋值语句“=”=”左边必须是变量名左边必须是变量名, ,不能是常量或其它表达式不能是常量或其它表达式. .eg:30 = a; b + 2 = 5; 根基上错误的根基上错误的.复合赋值运算符复合赋值运算符2 2 赋值语句中的赋值语句中的“=”=”示意赋值示意赋值, ,不是代数中相等的意思不是代数中相等的意思. .要示意要示意相等的意思那么应用关系运算符相等的意思那么应用关系运算符“=”=”示意示意, ,二者切勿混淆!二者切勿混淆!种类种类:+= -= :+= -= * *= = %= = %=a+=3a=a+3x*=y+8x

27、=x*(y+8)x%=3x=x%3egP51 ,52 eg课后看课后看语语言言程程序序设设计计教教程程 第第二二章章数数据据类类型型和和运运算算符符 C C关系运算符关系运算符关系运算符是双目运算符关系运算符是双目运算符,作用是将两个操纵数履行大小对作用是将两个操纵数履行大小对比比,如果关系成站如果关系成站,那么结论为那么结论为1,否那么结论为否那么结论为0.操纵数能够是数值型操纵数能够是数值型,能够是字符型能够是字符型种类种类: = : = = = !=!=联合方向联合方向: :自左向右自左向右关系表达式关系表达式注重辨识注重辨识“=”=”与与“=”=”P47 eg表达式的值表达式的值关系成

28、站关系成站, ,即为真即为真, ,结论为结论为1 1;关系不成站关系不成站, ,即为假即为假, ,结论为结论为0 0;eg int a=3,b=2,c=1,d,f; ab (ab)=c b+cb f=abc语语言言程程序序设设计计教教程程 第第二二章章数数据据类类型型和和运运算算符符 C C1 1 似果两个操纵数是数值型似果两个操纵数是数值型, ,按其大小对比按其大小对比. .2 2 似果两个操纵数是字符型似果两个操纵数是字符型, ,按按ASCIIASCII码值对比码值对比. .3 3 关系运算符的优先级低于算术运算符关系运算符的优先级低于算术运算符 = = =高高 低低= = !=!=算术算

29、术运算符运算符高高 低低注重注重语语言言程程序序设设计计教教程程 第第二二章章数数据据类类型型和和运运算算符符 C Cab!a!ba&ba|b真假真假假假真真真真假假假假假假假假假假真真真真假假假假真真真真真真假假真真真真逻辑运算符逻辑运算符种类种类: & |: & | ! ! 运算量运算量: :运算结论运算结论: :逻辑真用逻辑真用1示意示意逻辑假用逻辑假用0示意示意C语言中语言中,非非0值值为真为真, 0值为假值为假逻辑运算符和表达式逻辑运算符和表达式逻辑运算真值表逻辑运算真值表语语言言程程序序设设计计教教程程 第第二二章章数数据据类类型型和和运运算算符符 C C!

30、 (2)& (11)| (12)高高低低l优先级优先级:l联合方向联合方向:! :从右向左从右向左& :从左向右从左向右| :从左向右从左向右P48 eg(看)注重注重: :&和和| | 为短路运算符为短路运算符语语言言程程序序设设计计教教程程 第第二二章章数数据据类类型型和和运运算算符符 C C前提运算符是前提运算符是C C语言中唯独语言中唯独 的三目运算符的三目运算符. .标准为标准为: :表达式表达式1 1?表达式?表达式2:2:表达式表达式3 3履行环节是履行环节是: :先求解表达式先求解表达式1,1,当值为非当值为非0 0(真)时(真)时, ,表达式表达式2

31、2的值便是整个前提表达式的值;否那么表达式的值便是整个前提表达式的值;否那么表达式3 3的值是整个前提表达式的值的值是整个前提表达式的值前提运算符的优先级大于赋值运算符前提运算符的优先级大于赋值运算符联合方向联合方向:自右向左自右向左eg ab?a:cd?c:d 等价于等价于 ab?a: (cd?c:d) 前提运算符前提运算符语语言言程程序序设设计计教教程程 第第二二章章数数据据类类型型和和运运算算符符 C C逗号运算符与逗号表达式逗号运算符与逗号表达式形式形式: :逗号表达式逗号表达式1,1,逗号表达式逗号表达式2,2, ,逗号表达式逗号表达式n n 求值法那么求值法那么: :从左到右依次统

32、计各表达式的值从左到右依次统计各表达式的值优先级优先级: :最低最低联合性联合性: :自左到右自左到右表达式的值表达式的值: :末了一个表达式的值末了一个表达式的值a=3*5,a*4a=3*5,a*4,a+5 x=(a=3,6*3)x=a=3,6*aa=15,表达式值表达式值60a=15,表达式值表达式值20赋值表达式赋值表达式,表达式值表达式值18,x=18逗号表达式逗号表达式,表达式值表达式值18,x=3语语言言程程序序设设计计教教程程 第第二二章章数数据据类类型型和和运运算算符符 C C常见运算的优先级不常见运算的优先级不逻辑非!逻辑非! 算术运算符算术运算符 关系运算符关系运算符 逻辑与、或逻辑与、或前提运算符前提运算符赋值运算符赋值运算符逗号运算符逗号运算符高高低低4141表表2.52.5语语言言程程序序设设计计教教程程 第第二二章章数数据据类类型型和和运运算算符符 C C表达式的类型变形表达式的类型变形C语言的信息类型是能够彼此变形的语言的信息类型是能够彼此变形的.变形的方式有变形的方式有两种两种:一种是自动变形一种是自动变形,一种是强制变形一种是强制变形.例似例似:int a = 2.5; :int a = 2.5; 那么那么a a的值将是的值将是2,2,而不是而不是2.5.2.5. 这种自动改变等号右边表达式值的信息类型的操纵称这

温馨提示

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

评论

0/150

提交评论