第二讲 数据结构,运算符,表达式.ppt

上传人:s****8 文档编号:68512159 上传时间:2022-12-28 格式:PPT 页数:47 大小:378KB
返回 下载 相关 举报
第二讲 数据结构,运算符,表达式.ppt_第1页
第1页 / 共47页
第二讲 数据结构,运算符,表达式.ppt_第2页
第2页 / 共47页
点击查看更多>>
资源描述

《第二讲 数据结构,运算符,表达式.ppt》由会员分享,可在线阅读,更多相关《第二讲 数据结构,运算符,表达式.ppt(47页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、认识认识c c程序程序3 3个基本要素个基本要素三种典型结构三种典型结构预处理预处理高级技能高级技能算法算法数据类型数据类型运算符运算符表达式表达式顺序结构顺序结构选择结构选择结构循环结构循环结构宏定义宏定义文件包含文件包含条件编译条件编译数组数组函数函数指针指针结构体与共用体结构体与共用体位运算位运算文件文件第二讲 数据类型,运算符及表达式 主要内容主要内容-基本数据类型基本数据类型1.C1.C语言的语言的数据类型数据类型2.2.常量常量与与变量定义变量定义3.3.常量数据与变量数据常量数据与变量数据4.4.各类数值的混合运算各类数值的混合运算5.5.算术运算符与算术表达式算术运算符与算术表

2、达式 6.6.逗号运算符和逗号表达式逗号运算符和逗号表达式认识认识c c程序程序3 3个基本要素个基本要素三种典型结构三种典型结构预处理预处理高级技能高级技能算法算法数据类型数据类型运算符运算符表达式表达式顺序结构顺序结构选择结构选择结构循环结构循环结构宏定义宏定义文件包含文件包含条件编译条件编译数组数组函数函数指针指针结构体与共用体结构体与共用体位运算位运算文件文件1 C的数据类型C语言提供了以下一些数据类型:数据类型数据类型数据类型数据类型构造类型构造类型构造类型构造类型指针类型指针类型指针类型指针类型空类型(空类型(空类型(空类型(无值类型)无值类型)无值类型)无值类型)voidvoid

3、voidvoid枚举类型枚举类型枚举类型枚举类型 enumenumenumenum数组类型数组类型数组类型数组类型结构类型结构类型结构类型结构类型 structstructstructstruct联合类型联合类型联合类型联合类型 unionunionunionunion基本类型基本类型基本类型基本类型整型整型整型整型字符型字符型字符型字符型 charcharcharchar实型(浮点型)实型(浮点型)实型(浮点型)实型(浮点型)单精度实型单精度实型单精度实型单精度实型 floatfloatfloatfloat双精度实型双精度实型双精度实型双精度实型 doubledouble认识认识c c程序程

4、序3 3个基本要素个基本要素三种典型结构三种典型结构预处理预处理高级技能高级技能算法算法数据类型数据类型运算符运算符表达式表达式顺序结构顺序结构选择结构选择结构循环结构循环结构宏定义宏定义文件包含文件包含条件编译条件编译数组数组函数函数指针指针结构体与共用体结构体与共用体位运算位运算文件文件 2 常量与变量2.1 常量和变量常量和变量在程序运行过程中在程序运行过程中,其其值不能被改变的量值不能被改变的量称为称为常常量量。变量代表内存中具有特定属性的一个存储单元变量代表内存中具有特定属性的一个存储单元,它用来存放数据,这就是变量的值,在程序运行它用来存放数据,这就是变量的值,在程序运行期间,这些

5、值是可以改变的。期间,这些值是可以改变的。认识认识c c程序程序3 3个基本要素个基本要素三种典型结构三种典型结构预处理预处理高级技能高级技能算法算法数据类型数据类型运算符运算符表达式表达式顺序结构顺序结构选择结构选择结构循环结构循环结构宏定义宏定义文件包含文件包含条件编译条件编译数组数组函数函数指针指针结构体与共用体结构体与共用体位运算位运算文件文件 2 常量与变量 变量命名的规定:语言规定标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须为字母或下划线。例:例:sum,_total,month,Student_name,lotus_1_2_,BASIC,li_ling M.D.J

6、ohn,¥123,3D64,ab 认识认识c c程序程序3 3个基本要素个基本要素三种典型结构三种典型结构预处理预处理高级技能高级技能算法算法数据类型数据类型运算符运算符表达式表达式顺序结构顺序结构选择结构选择结构循环结构循环结构宏定义宏定义文件包含文件包含条件编译条件编译数组数组函数函数指针指针结构体与共用体结构体与共用体位运算位运算文件文件注意:注意:注意:注意:编译系统将大写字母和小写字母认为是两个不同的字符。建议变量名的长度最好不要超过8个字符。在选择变量名和其它标识符时,应注意做到“见名知意”,即选有含意的英文单词(或其缩写)作标识符。要求对所有用到的变量作强制定义,也就是“先定义,

7、后使用”。2 常量与变量认识认识c c程序程序3 3个基本要素个基本要素三种典型结构三种典型结构预处理预处理高级技能高级技能算法算法数据类型数据类型运算符运算符表达式表达式顺序结构顺序结构选择结构选择结构循环结构循环结构宏定义宏定义文件包含文件包含条件编译条件编译数组数组函数函数指针指针结构体与共用体结构体与共用体位运算位运算文件文件3 常量数据与变量数据基本数据类型整型浮点型字符型整型短整型长整型单精度双精度有符号无符号有符号有符号无符号无符号有符号无符号有符号无符号例如:12,0 x12例如:1.2,0.056例如:a,bintshortlongfloatdouble认识认识c c程序程序

8、3 3个基本要素个基本要素三种典型结构三种典型结构预处理预处理高级技能高级技能算法算法数据类型数据类型运算符运算符表达式表达式顺序结构顺序结构选择结构选择结构循环结构循环结构宏定义宏定义文件包含文件包含条件编译条件编译数组数组函数函数指针指针结构体与共用体结构体与共用体位运算位运算文件文件整型常量1 整型常量的表示方法整型常量的表示方法 整型常量即整常数。在语言中,整常数可用以下三种形式表示:(1)十进制整数。十进制整数。如:如:123,-456。(2)八进制整数。八进制整数。以以0开头的数是八进制数。开头的数是八进制数。如:如:0123表示八进制数表示八进制数123,等于十进制数,等于十进制

9、数83,-011表示八表示八进制数进制数-11,即十进制数即十进制数-9。(3)十六进制整数。十六进制整数。以以0 x开头的数是开头的数是16进制数。进制数。如:如:0 x123,代表,代表16进制数进制数123,等于十进制数等于十进制数 291。-0 x12等于十进制数等于十进制数18。2 整型数据在内存中的存放形式整型数据在内存中的存放形式 数据在内存中是以二进制形式存放的。数值是以补码(complement)表示的。返回认识认识c c程序程序3 3个基本要素个基本要素三种典型结构三种典型结构预处理预处理高级技能高级技能算法算法数据类型数据类型运算符运算符表达式表达式顺序结构顺序结构选择结

10、构选择结构循环结构循环结构宏定义宏定义文件包含文件包含条件编译条件编译数组数组函数函数指针指针结构体与共用体结构体与共用体位运算位运算文件文件浮点型常量1.1.浮点型常量的表示方法浮点型常量的表示方法两种表两种表示形式示形式小数小数指数指数0.1233e-3注意注意:字母e(或E)之前必须有数字,且e后面的指数必须为整数1e31e3、1.8e-31.8e-3、-123e-6-123e-6e3e3、2.1e3.52.1e3.5、.e3.e3 认识认识c c程序程序3 3个基本要素个基本要素三种典型结构三种典型结构预处理预处理高级技能高级技能算法算法数据类型数据类型运算符运算符表达式表达式顺序结构

11、顺序结构选择结构选择结构循环结构循环结构宏定义宏定义文件包含文件包含条件编译条件编译数组数组函数函数指针指针结构体与共用体结构体与共用体位运算位运算文件文件浮点型常量 在字母e(或E)之前的小数部分中,小数点左边应有一位(且只能有一位)非零的数字.例如例如:123.456可以表示为:123.456e0,12.3456e1,1.23456e2,0.123456e3,0.0123456e4,0.00123456e 其中的1.23456e21.23456e2称为“规范化的指数形式”规范化的指数形式:规范化的指数形式:认识认识c c程序程序3 3个基本要素个基本要素三种典型结构三种典型结构预处理预处理

12、高级技能高级技能算法算法数据类型数据类型运算符运算符表达式表达式顺序结构顺序结构选择结构选择结构循环结构循环结构宏定义宏定义文件包含文件包含条件编译条件编译数组数组函数函数指针指针结构体与共用体结构体与共用体位运算位运算文件文件浮点型常量(1)(1)浮点型数据在内存中的存放形式浮点型数据在内存中的存放形式 一个浮点型数据一般在内存中占4个字节(32位)。与整型数据的存储方式不同,浮点型数据是按照规范化的指数形式的。系统把一个浮点型数据分成小数部分和指数部分,分别存放。返回认识认识c c程序程序3 3个基本要素个基本要素三种典型结构三种典型结构预处理预处理高级技能高级技能算法算法数据类型数据类型

13、运算符运算符表达式表达式顺序结构顺序结构选择结构选择结构循环结构循环结构宏定义宏定义文件包含文件包含条件编译条件编译数组数组函数函数指针指针结构体与共用体结构体与共用体位运算位运算文件文件字符型常量字符常量字符常量(1)用单引号包含的一个字符是字符型常量(2)只能包含一个字符a,A,babc认识认识c c程序程序3 3个基本要素个基本要素三种典型结构三种典型结构预处理预处理高级技能高级技能算法算法数据类型数据类型运算符运算符表达式表达式顺序结构顺序结构选择结构选择结构循环结构循环结构宏定义宏定义文件包含文件包含条件编译条件编译数组数组函数函数指针指针结构体与共用体结构体与共用体位运算位运算文件

14、文件 有些以有些以“”开头的特殊字符称为转义字符,意思开头的特殊字符称为转义字符,意思是将反斜杠后面的字符转换成另外的含义。是将反斜杠后面的字符转换成另外的含义。n 换行t 横向跳格r 回车 反斜杠ddd ddd表示1到3位八进制数字101 65 A0 xhh hh表示1到2位十六进制数字x41字符型常量认识认识c c程序程序3 3个基本要素个基本要素三种典型结构三种典型结构预处理预处理高级技能高级技能算法算法数据类型数据类型运算符运算符表达式表达式顺序结构顺序结构选择结构选择结构循环结构循环结构宏定义宏定义文件包含文件包含条件编译条件编译数组数组函数函数指针指针结构体与共用体结构体与共用体位

15、运算位运算文件文件字符型常量 字符数据在内存中的存储形式及其使用方法字符数据在内存中的存储形式及其使用方法 一个字符常量存放到一个字符变量中,实际上并不是把该字符的字型放到内存中去,而是将该字符的相应的ASCII代码放到存储单元中。这样使字符型数据和整型数据之间可以通用。注意:一个字符数据既可以以字符形式输出,也可以以整数形式输出。认识认识c c程序程序3 3个基本要素个基本要素三种典型结构三种典型结构预处理预处理高级技能高级技能算法算法数据类型数据类型运算符运算符表达式表达式顺序结构顺序结构选择结构选择结构循环结构循环结构宏定义宏定义文件包含文件包含条件编译条件编译数组数组函数函数指针指针结

16、构体与共用体结构体与共用体位运算位运算文件文件字符串常量字符串常量字符串常量是一对双撇号括起来的字符序列.合法的字符串常量:“How do you do?”,“CHINA”,“a”可以输出一个字符串,如printf(“How do you do?”);认识认识c c程序程序3 3个基本要素个基本要素三种典型结构三种典型结构预处理预处理高级技能高级技能算法算法数据类型数据类型运算符运算符表达式表达式顺序结构顺序结构选择结构选择结构循环结构循环结构宏定义宏定义文件包含文件包含条件编译条件编译数组数组函数函数指针指针结构体与共用体结构体与共用体位运算位运算文件文件字符串常量字符串常量规定:在每一个字

17、符串常量的结尾加一个“字符串结束标志”,以便系统据此判断字符串是否结束。规定以字符(null,空字符)作为字符串结束标志。如:如:如果有一个字符串常量”,实际上在内存中是:它占内存单元不是个字符,而是个字符,最后一个字符为。但在输出时不输出。CHINA0认识认识c c程序程序3 3个基本要素个基本要素三种典型结构三种典型结构预处理预处理高级技能高级技能算法算法数据类型数据类型运算符运算符表达式表达式顺序结构顺序结构选择结构选择结构循环结构循环结构宏定义宏定义文件包含文件包含条件编译条件编译数组数组函数函数指针指针结构体与共用体结构体与共用体位运算位运算文件文件字符串常量字符串常量 与“”的区别

18、?是字符常量,“”是字符串常量,二者不同。如:如:假设被指定为字符变量:char c;c=a;=“a”;c=“CHINA”;不能把一个字符串常量赋给一个字符变量。返回认识认识c c程序程序3 3个基本要素个基本要素三种典型结构三种典型结构预处理预处理高级技能高级技能算法算法数据类型数据类型运算符运算符表达式表达式顺序结构顺序结构选择结构选择结构循环结构循环结构宏定义宏定义文件包含文件包含条件编译条件编译数组数组函数函数指针指针结构体与共用体结构体与共用体位运算位运算文件文件整型变量整型变量规定在程序中所有用到的变量都必须在程序中定义,即“先定义后使用”。例如例如:intint a,ba,b;(

19、指定变量、为整型)unsigned short unsigned short c,dc,d;(指定变量、为无符号短整型)long long e,fe,f;(指定变量、为长整型)认识认识c c程序程序3 3个基本要素个基本要素三种典型结构三种典型结构预处理预处理高级技能高级技能算法算法数据类型数据类型运算符运算符表达式表达式顺序结构顺序结构选择结构选择结构循环结构循环结构宏定义宏定义文件包含文件包含条件编译条件编译数组数组函数函数指针指针结构体与共用体结构体与共用体位运算位运算文件文件例1 整型变量的定义与使用#include#include void main()()int a,b,c,d;/

20、*指定、为整型变量指定、为整型变量*unsigned;*指定为无符号整型变量指定为无符号整型变量*12;-24;10;printf(,);,);运行结果:运行结果:,说明说明说明说明:不同种类的整型数据可以进行算术运算整型变量整型变量认识认识c c程序程序3 3个基本要素个基本要素三种典型结构三种典型结构预处理预处理高级技能高级技能算法算法数据类型数据类型运算符运算符表达式表达式顺序结构顺序结构选择结构选择结构循环结构循环结构宏定义宏定义文件包含文件包含条件编译条件编译数组数组函数函数指针指针结构体与共用体结构体与共用体位运算位运算文件文件运行结果:运行结果:32767,-32768例例2 2

21、 整型数据的溢出整型数据的溢出#include void main()int a,b;a=32767;b=a+1;printf(“%d,%dn”,a,b);说明:说明:说明:说明:数值是以补码表示的。一个整型变量只能容纳-3276832767范围内的数,无法表示大于32767或小于-32768的数。遇此情况就发生“溢出”。认识认识c c程序程序3 3个基本要素个基本要素三种典型结构三种典型结构预处理预处理高级技能高级技能算法算法数据类型数据类型运算符运算符表达式表达式顺序结构顺序结构选择结构选择结构循环结构循环结构宏定义宏定义文件包含文件包含条件编译条件编译数组数组函数函数指针指针结构体与共用

22、体结构体与共用体位运算位运算文件文件浮点型变量浮点型变量 浮点型变量的分类浮点型变量的分类 浮点型变量分为单精度(单精度(floatfloat型)、双精度型)、双精度(doubledouble型)型)和长双精度型(长双精度型(long doublelong double)三类形式。类型类型 位数位数 数的范围数的范围 有效数字有效数字 float float 32 32 1038 1038 67 1038 1038 67 位位doubledouble型型 6464 1030810308 1516 1030810308 1516位位long double 128 104932104932 181

23、9long double 128 104932104932 1819位位认识认识c c程序程序3 3个基本要素个基本要素三种典型结构三种典型结构预处理预处理高级技能高级技能算法算法数据类型数据类型运算符运算符表达式表达式顺序结构顺序结构选择结构选择结构循环结构循环结构宏定义宏定义文件包含文件包含条件编译条件编译数组数组函数函数指针指针结构体与共用体结构体与共用体位运算位运算文件文件例3 浮点型数据的舍入误差#include void main()float a;a=3.141592612;printf(“%fn”,a);说明:说明:说明:说明:一个浮点型变量只能保证的有效数字是7位有效数字,后

24、面的数字是无意义的,并不准确地表示该数。应当避免将一个很大的数和一个很小的数直接相加或相减,否则就会“丢失”小的数运行结果:运行结果:3.141593认识认识c c程序程序3 3个基本要素个基本要素三种典型结构三种典型结构预处理预处理高级技能高级技能算法算法数据类型数据类型运算符运算符表达式表达式顺序结构顺序结构选择结构选择结构循环结构循环结构宏定义宏定义文件包含文件包含条件编译条件编译数组数组函数函数指针指针结构体与共用体结构体与共用体位运算位运算文件文件 字符变量字符变量字符型变量用来存放字符常量,注意只能放一个字符。字符变量的定义形式如下:char c1,c2;可以用下面语句对c1,c2

25、赋值:c1a;c2 b;一个字符变量在内存中占一个字节。认识认识c c程序程序3 3个基本要素个基本要素三种典型结构三种典型结构预处理预处理高级技能高级技能算法算法数据类型数据类型运算符运算符表达式表达式顺序结构顺序结构选择结构选择结构循环结构循环结构宏定义宏定义文件包含文件包含条件编译条件编译数组数组函数函数指针指针结构体与共用体结构体与共用体位运算位运算文件文件例 向字符变量赋以字符。#include#include void main()void main()char c1,c2;char c1,c2;c1=c1=a a;c2=c2=b b;printf(printf(“%c%c%cn%

26、cn”,c1,c2);,c1,c2);认识认识c c程序程序3 3个基本要素个基本要素三种典型结构三种典型结构预处理预处理高级技能高级技能算法算法数据类型数据类型运算符运算符表达式表达式顺序结构顺序结构选择结构选择结构循环结构循环结构宏定义宏定义文件包含文件包含条件编译条件编译数组数组函数函数指针指针结构体与共用体结构体与共用体位运算位运算文件文件例 向字符变量赋以整数。#include#include void main()void main()char c1,c2;char c1,c2;c1=97;c1=97;c2=98;c2=98;printf(printf(“%c%c%cn%cn”,c

27、1,c2);,c1,c2);说明:说明:说明:说明:在第和第4行中的作用相当于以下两个赋值语句:c1;c2;因为a和b的ASCII码为和,字符型数据和整型数据之间可以通用。运行结果:运行结果:认识认识c c程序程序3 3个基本要素个基本要素三种典型结构三种典型结构预处理预处理高级技能高级技能算法算法数据类型数据类型运算符运算符表达式表达式顺序结构顺序结构选择结构选择结构循环结构循环结构宏定义宏定义文件包含文件包含条件编译条件编译数组数组函数函数指针指针结构体与共用体结构体与共用体位运算位运算文件文件例例3.7#include void main()char c1,c2;c1=a;c2=b;c1

28、=c1-32;c2=c2-32;printf(“c c,c1,c2);运行结果:运行结果:说明:说明:说明:说明:程序的作用是将两个小写字母a和b转换成大写字母A和B。每一个小写字母比它相应的大写字母的码大。认识认识c c程序程序3 3个基本要素个基本要素三种典型结构三种典型结构预处理预处理高级技能高级技能算法算法数据类型数据类型运算符运算符表达式表达式顺序结构顺序结构选择结构选择结构循环结构循环结构宏定义宏定义文件包含文件包含条件编译条件编译数组数组函数函数指针指针结构体与共用体结构体与共用体位运算位运算文件文件 变量赋初值(1)(1)语言允许在定义变量的同时使变量初始语言允许在定义变量的同

29、时使变量初始化化如如:intint a=3;a=3;/指定为整型变量,初值为指定为整型变量,初值为 float f=3.56;float f=3.56;/指定为浮点型变量,初值为指定为浮点型变量,初值为.56 .56 char c=char c=a a;/指定为字符变量,初值为指定为字符变量,初值为a a认识认识c c程序程序3 3个基本要素个基本要素三种典型结构三种典型结构预处理预处理高级技能高级技能算法算法数据类型数据类型运算符运算符表达式表达式顺序结构顺序结构选择结构选择结构循环结构循环结构宏定义宏定义文件包含文件包含条件编译条件编译数组数组函数函数指针指针结构体与共用体结构体与共用体位

30、运算位运算文件文件(2)可以使被定义的变量的一部分赋初值。如如:int a,b,c=5;表示指定、为整型变量,但只对初始化,c的初值为(3)如果对几个变量赋以同一个初值,应写成:int a=3,b=3,c=3;表示、的初值都是。不能写成 int a=b=c=3;变量赋初值认识认识c c程序程序3 3个基本要素个基本要素三种典型结构三种典型结构预处理预处理高级技能高级技能算法算法数据类型数据类型运算符运算符表达式表达式顺序结构顺序结构选择结构选择结构循环结构循环结构宏定义宏定义文件包含文件包含条件编译条件编译数组数组函数函数指针指针结构体与共用体结构体与共用体位运算位运算文件文件4.各类数值型数

31、据间的混合运算 在表达式中常遇到不同类型数据之间进行运算,如10+a+1.5-8765.1234*b 在进行运算时,不同类型的数据要先转换成同一类型,然后进行运算。转换的规则如图所示。上述的类型转换是由系统自动进行的(隐式)原则:提高运算精度为目的。原则:提高运算精度为目的。认识认识c c程序程序3 3个基本要素个基本要素三种典型结构三种典型结构预处理预处理高级技能高级技能算法算法数据类型数据类型运算符运算符表达式表达式顺序结构顺序结构选择结构选择结构循环结构循环结构宏定义宏定义文件包含文件包含条件编译条件编译数组数组函数函数指针指针结构体与共用体结构体与共用体位运算位运算文件文件 假设已指定

32、为整型变量,为假设已指定为整型变量,为float变量,为变量,为double型变量,为型变量,为long型,有下面表达式:型,有下面表达式:10+a+i*f-d/e运算次序为:运算次序为:进行进行10+a的运算,先将的运算,先将转换成整数转换成整数97,运,运算结果为算结果为107。进行进行i*f的运算。先将的运算。先将i与与f都转换成都转换成double型,运型,运算结果为算结果为double型。型。整数整数107与与i*f的积相加。先将整数的积相加。先将整数107转换成双精转换成双精度数(小数点后加若干个度数(小数点后加若干个0,即,即107.00000),),结果为结果为double型。

33、型。将变量将变量e转换成转换成double型,型,d/e结果为结果为double型。型。将将10+a+i*f的结果与的结果与d/e的商相减,结果为的商相减,结果为double型。型。上述的类型转换是由系统自动进行的。上述的类型转换是由系统自动进行的。认识认识c c程序程序3 3个基本要素个基本要素三种典型结构三种典型结构预处理预处理高级技能高级技能算法算法数据类型数据类型运算符运算符表达式表达式顺序结构顺序结构选择结构选择结构循环结构循环结构宏定义宏定义文件包含文件包含条件编译条件编译数组数组函数函数指针指针结构体与共用体结构体与共用体位运算位运算文件文件5算术运算符和算术表达式 运算符简介运

34、算符简介 的运算符有以下几类:的运算符有以下几类:(1)算术运算符(+-*/%+-)(2)关系运算符(=!=)(3)逻辑运算符(!&|)(4)位运算符 (|)(5)赋值运算符(及其扩展赋值运算符)(6)条件运算符(?:)(7)逗号运算符 (,)认识认识c c程序程序3 3个基本要素个基本要素三种典型结构三种典型结构预处理预处理高级技能高级技能算法算法数据类型数据类型运算符运算符表达式表达式顺序结构顺序结构选择结构选择结构循环结构循环结构宏定义宏定义文件包含文件包含条件编译条件编译数组数组函数函数指针指针结构体与共用体结构体与共用体位运算位运算文件文件(8)指针运算符(*和)(9)求字节数运算符

35、(sizeof)(10)强制类型转换运算符((类型))(11)分量运算符(-)(12)下标运算符()(13)其他(如函数调用运算符()5算术运算符和算术表达式认识认识c c程序程序3 3个基本要素个基本要素三种典型结构三种典型结构预处理预处理高级技能高级技能算法算法数据类型数据类型运算符运算符表达式表达式顺序结构顺序结构选择结构选择结构循环结构循环结构宏定义宏定义文件包含文件包含条件编译条件编译数组数组函数函数指针指针结构体与共用体结构体与共用体位运算位运算文件文件 算术运算符和算术表达式 算术运算符和算术表达式算术运算符和算术表达式(1)(1)基本的算术运算符基本的算术运算符:加法运算符,或

36、正值运算符。如:、减法运算符,或负值运算符。如:、*乘法运算符。如:*除法运算符。如:模运算符,或称求余运算符,两侧均应为整型数据,如:的值为。认识认识c c程序程序3 3个基本要素个基本要素三种典型结构三种典型结构预处理预处理高级技能高级技能算法算法数据类型数据类型运算符运算符表达式表达式顺序结构顺序结构选择结构选择结构循环结构循环结构宏定义宏定义文件包含文件包含条件编译条件编译数组数组函数函数指针指针结构体与共用体结构体与共用体位运算位运算文件文件算术运算符和算术表达式(2)(2)算术表达式和运算符的优先级与结合性算术表达式和运算符的优先级与结合性 用算术运算符和括号将运算对象用算术运算符

37、和括号将运算对象(也称也称操作数)连接起来的、符合语法规则的操作数)连接起来的、符合语法规则的式子,称为式子,称为算术表达式算术表达式。运算对象包括常量、变量、函数等。运算对象包括常量、变量、函数等。算术表达式:算术表达式:2+6.5*3+sin(0.5)2+6.5*3+sin(0.5)关系表达式:关系表达式:x0 x0逻辑表达式:逻辑表达式:x0&y0 x0&y0赋值表达式:赋值表达式:a=5a=5逗号表达式:逗号表达式:a=3,y=4,z=6a=3,y=4,z=6认识认识c c程序程序3 3个基本要素个基本要素三种典型结构三种典型结构预处理预处理高级技能高级技能算法算法数据类型数据类型运算

38、符运算符表达式表达式顺序结构顺序结构选择结构选择结构循环结构循环结构宏定义宏定义文件包含文件包含条件编译条件编译数组数组函数函数指针指针结构体与共用体结构体与共用体位运算位运算文件文件语言规定了运算符的优先级 在表达式求值时,先按运算符的优先级别高低次序执行,例如先乘除后加减。规定了各种运算符的结合方向(结合性)同等优先级算术运算符的结合方向为“自左至右”,即先左后右。考虑.5.5aa附录C列出了所有运算符的优先级和结合性。算术运算符和算术表达式认识认识c c程序程序3 3个基本要素个基本要素三种典型结构三种典型结构预处理预处理高级技能高级技能算法算法数据类型数据类型运算符运算符表达式表达式顺

39、序结构顺序结构选择结构选择结构循环结构循环结构宏定义宏定义文件包含文件包含条件编译条件编译数组数组函数函数指针指针结构体与共用体结构体与共用体位运算位运算文件文件运算符的优先级和结合性总则:优先级高的运算符先计算,优先级低的运算优先级高的运算符先计算,优先级低的运算符后计算。在优先级相同的情况下,表达符后计算。在优先级相同的情况下,表达式的计算顺序有结合性决定。式的计算顺序有结合性决定。优先级:去掉一个最高的,去掉一个最低的,一,去掉一个最高的,去掉一个最低的,一,二,三,赋值。二,三,赋值。算术,关系,逻辑,移位和逻辑位插在中算术,关系,逻辑,移位和逻辑位插在中间。间。算术运算符和算术表达式

40、认识认识c c程序程序3 3个基本要素个基本要素三种典型结构三种典型结构预处理预处理高级技能高级技能算法算法数据类型数据类型运算符运算符表达式表达式顺序结构顺序结构选择结构选择结构循环结构循环结构宏定义宏定义文件包含文件包含条件编译条件编译数组数组函数函数指针指针结构体与共用体结构体与共用体位运算位运算文件文件运算符的优先级和结合性注:最高优先级指括号,下标,成员表示。最高优先级指括号,下标,成员表示。最低优先级为逗号。最低优先级为逗号。一,二,三指单目,双目,三目运算符。一,二,三指单目,双目,三目运算符。双目运算符分双目运算符分10种,算术,关系,逻辑,移位和种,算术,关系,逻辑,移位和逻

41、辑位。逻辑位。结合性:单目,三目和赋值运算符的结合性是自单目,三目和赋值运算符的结合性是自右向左,其余全是自左向右。右向左,其余全是自左向右。算术运算符和算术表达式认识认识c c程序程序3 3个基本要素个基本要素三种典型结构三种典型结构预处理预处理高级技能高级技能算法算法数据类型数据类型运算符运算符表达式表达式顺序结构顺序结构选择结构选择结构循环结构循环结构宏定义宏定义文件包含文件包含条件编译条件编译数组数组函数函数指针指针结构体与共用体结构体与共用体位运算位运算文件文件(3)(3)自增、自减运算符自增、自减运算符 作用是使变量的值增或减。如如:,(在使用之前,先使的值加(减)1),(在使用之

42、后,使的值加(减)算术运算符和算术表达式认识认识c c程序程序3 3个基本要素个基本要素三种典型结构三种典型结构预处理预处理高级技能高级技能算法算法数据类型数据类型运算符运算符表达式表达式顺序结构顺序结构选择结构选择结构循环结构循环结构宏定义宏定义文件包含文件包含条件编译条件编译数组数组函数函数指针指针结构体与共用体结构体与共用体位运算位运算文件文件算术运算符和算术表达式i+i+与与+i+i的区别:的区别:是先执行后,再使用的值;是先使用的值后,再执行。例如:例如:intint i=3;i=3;;i的值先变成4,再赋给,j的值均为 ;先将 i的值3赋给,的值为,然后变为认识认识c c程序程序3

43、 3个基本要素个基本要素三种典型结构三种典型结构预处理预处理高级技能高级技能算法算法数据类型数据类型运算符运算符表达式表达式顺序结构顺序结构选择结构选择结构循环结构循环结构宏定义宏定义文件包含文件包含条件编译条件编译数组数组函数函数指针指针结构体与共用体结构体与共用体位运算位运算文件文件注意:注意:(1)自增运算符(),自减运算符(),只能用于变量,而不能用于常量或表达式,(2)包括和在内的单目运算符的结合方向是“自右至左”。自增(减)运算符常用于循环语句中使循环变量自动加。也用于指针变量,使指针指向下一个地址算术运算符和算术表达式认识认识c c程序程序3 3个基本要素个基本要素三种典型结构三

44、种典型结构预处理预处理高级技能高级技能算法算法数据类型数据类型运算符运算符表达式表达式顺序结构顺序结构选择结构选择结构循环结构循环结构宏定义宏定义文件包含文件包含条件编译条件编译数组数组函数函数指针指针结构体与共用体结构体与共用体位运算位运算文件文件注意:例如:例如:的初值为,如果有下面的函数调用:printf(,i+)在有的系统中,从左至右求值,输出“,”。在多数系统中对函数参数的求值顺序是自右而左,printf函数输出的是“,”。以上这种写法不宜提倡,最好改写成 j=i+;j=i+;printf(%dprintf(%d,%d%d,j j,i)i)不要写出别人看不懂的也不知道系统会怎样执行程

45、序认识认识c c程序程序3 3个基本要素个基本要素三种典型结构三种典型结构预处理预处理高级技能高级技能算法算法数据类型数据类型运算符运算符表达式表达式顺序结构顺序结构选择结构选择结构循环结构循环结构宏定义宏定义文件包含文件包含条件编译条件编译数组数组函数函数指针指针结构体与共用体结构体与共用体位运算位运算文件文件 算术运算符和算术表达式(4)(4)强制类型转换运算符强制类型转换运算符 可以利用强制类型转换运算符将一个表达式转换成所需类型。一般形式:(类型名)(表达式)例如:例如:(double)将转换成double类型(int)(x+y)将x+y的值转换成整型(float)(5%3)将5%3的

46、值转换成float型认识认识c c程序程序3 3个基本要素个基本要素三种典型结构三种典型结构预处理预处理高级技能高级技能算法算法数据类型数据类型运算符运算符表达式表达式顺序结构顺序结构选择结构选择结构循环结构循环结构宏定义宏定义文件包含文件包含条件编译条件编译数组数组函数函数指针指针结构体与共用体结构体与共用体位运算位运算文件文件 例例 强制类型转换。强制类型转换。#include void main()float x;int;3.6;(int);printf(x=%f,i=%dn“,x,i);运行结果:运行结果:x3.600000,i=3说明:说明:说明:说明:有两种类型转换,一种是在运算时

47、不必用户指定,系统自动进行的类型转换,如3+6.5。第二种是强制类型转换。当自动类型转换不能实现目的时,可以用强制类型转换。认识认识c c程序程序3 3个基本要素个基本要素三种典型结构三种典型结构预处理预处理高级技能高级技能算法算法数据类型数据类型运算符运算符表达式表达式顺序结构顺序结构选择结构选择结构循环结构循环结构宏定义宏定义文件包含文件包含条件编译条件编译数组数组函数函数指针指针结构体与共用体结构体与共用体位运算位运算文件文件6.逗号运算符和逗号表达式逗号运算符逗号运算符:将两个表达式连接起来,又称为“顺序求值运算符”如:如:5,一般形式一般形式:表达式,表达式表达式,表达式求解过程:求

48、解过程:先求解表达式,再求解表达式。整个逗号表达式的值是表达式的值。逗号表达式 的值为14认识认识c c程序程序3 3个基本要素个基本要素三种典型结构三种典型结构预处理预处理高级技能高级技能算法算法数据类型数据类型运算符运算符表达式表达式顺序结构顺序结构选择结构选择结构循环结构循环结构宏定义宏定义文件包含文件包含条件编译条件编译数组数组函数函数指针指针结构体与共用体结构体与共用体位运算位运算文件文件逗号运算符和逗号表达式例:例:逗号表达式*5,*分析分析:赋值运算符的优先级别高于逗号运算符,因此应先求解*5.一个逗号表达式又可以与另一个表达式组成一一个逗号表达式又可以与另一个表达式组成一个新的

49、逗号表达式个新的逗号表达式 如如:(*,*),先计算出的值等于,再进行*的运算得60(但值未变,仍为15),再进行得,即整个表达式的值为。的值为5,然后求解*,得。整个逗号表达式的值为。认识认识c c程序程序3 3个基本要素个基本要素三种典型结构三种典型结构预处理预处理高级技能高级技能算法算法数据类型数据类型运算符运算符表达式表达式顺序结构顺序结构选择结构选择结构循环结构循环结构宏定义宏定义文件包含文件包含条件编译条件编译数组数组函数函数指针指针结构体与共用体结构体与共用体位运算位运算文件文件逗号运算符和逗号表达式逗号表达式的一般形式可以扩展为 表达式,表达式,表达式,表达式,表达式,表达式,

50、表达式,表达式 它的值为表达式的值。逗号运算符是所有运算符中级别最低的例例:(,*),*3赋值表达式,将一个逗号表达式的值赋给,的值等于 逗号表达式,包括一个赋值表达式和一个算术表达式,的值为,整个逗号表达式的值为18。认识认识c c程序程序3 3个基本要素个基本要素三种典型结构三种典型结构预处理预处理高级技能高级技能算法算法数据类型数据类型运算符运算符表达式表达式顺序结构顺序结构选择结构选择结构循环结构循环结构宏定义宏定义文件包含文件包含条件编译条件编译数组数组函数函数指针指针结构体与共用体结构体与共用体位运算位运算文件文件逗号运算符和逗号表达式注意注意:并不是任何地方出现的逗号都是作为逗号

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁