欢迎来到得力文库 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
得力文库 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    C语言程序设计多媒体整套课件完整版电子教案课件汇总(最新).ppt

    • 资源ID:76341219       资源大小:7.86MB        全文页数:371页
    • 资源格式: PPT        下载积分:19金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要19金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C语言程序设计多媒体整套课件完整版电子教案课件汇总(最新).ppt

    第第2章章数据类型、运算符与表达式数据类型、运算符与表达式C C语言程序设计语言程序设计C语言程序设计第2章 数据类型、运算符与表达式2本章主要内容本章主要内容2.1 2.1 基本字符、标识符和关键字基本字符、标识符和关键字2.2 2.2 数据类型与变量数据类型与变量2.3 2.3 基本类型与数据表示基本类型与数据表示2.4 2.4 运算符与表达式运算符与表达式2.5 2.5 计算和类型计算和类型C语言程序设计第2章 数据类型、运算符与表达式32.1基本字符、标识符和关键字基本字符、标识符和关键字 2.1.1 基本字符 一个C程序就是C语言基本字符的一个符合规定形式的序列。C语言的基本字符包括:(1)数字字符(0,1,2,3,4,5,6,7,8,9)。(2)大小写英文字母(az,AZ)。(3)其他一些可打印(可以显示)的字符(如各种标点符号、运算符号、括号等),包括:!%&*()_ -+=:;“,.?/|(4)还有一些特殊字符(如空格符、换行符、制表符等)。空格符、换行符、制表符等统称为空白字符。空白字符在程序中主要用于分隔其他成分。按规定,C 程序中大部分地方增加空白字符都不影响程序的意义。因此用户写程序时常利用这种性质,通过加入一些空白字符,把程序排成适当的格式,以增强程序的可读性。C语言程序设计第2章 数据类型、运算符与表达式4例如:例如:算术运算符:算术运算符:+-*/%+-+-*/%+-关系运算符:关系运算符:=条件运算符条件运算符:?:和赋值运算符:和赋值运算符:=其他分隔符其他分隔符:().,;2.1基本字符、标识符和关键字基本字符、标识符和关键字C语言程序设计第2章 数据类型、运算符与表达式5 2.1.2 名字(标识符)的构成 一个标识符是字母、数字字符和下划线的一个连续序列,其中不能有空白字符,而且要求第一个字符必须是字母或下划线。如果一个字符序列中出现了非字母、数字、下划线的字符,那么它就不是一个标识符了。下面是一些非标识符的字符序列:+=3set a32$sin(2+5):ab4=C语言还规定,标识符中同一字母的大写形式和小写形式将看作不同字符,这样,a和A不同,name、Name、NAME、naMe 和nMAE 是互不相同的标识符。下面是一些标识符的例子:abcd Beijing C_Programming_f2048 sia a3b06 xt386ex A_great_machine Small_talk_80 FORTRAN_90 以下划线开始的标识符保留给系统使用,用户不要使用这种标识符,以免与系统内部的名字冲突造成程序问题。2.1基本字符、标识符和关键字基本字符、标识符和关键字C语言程序设计第2章 数据类型、运算符与表达式6 2.1.3 关键字关键字 所谓关键字就是已被Turbo C 2.0本身使用,不能作其他用途使用的名字。如关键字不能用做变量名、函数名等。Turbo C 2.0有以下关键字:(1)扩展的11个 asm _cs _ds _es _ss cdecl far near huge interrupt pascal (2)由ANSI标准定义的32个 auto double int struct break else long switch case enum register typedef char extern return union const float short unsigned continue for signed void default goto sizeof volatile do if while static2.1基本字符、标识符和关键字基本字符、标识符和关键字C语言程序设计第2章 数据类型、运算符与表达式72.2数据类型与变量数据类型与变量2.2.1 数据类型 字符型(char)整型(short,int,long,unsigned)基本类型 数值类型 单精度型(float)实型 双精度型(double)枚举类型(enum)数据类型 数组类型()构造类型 结构体类型(struct)共用体类型(union)指针类型(*)空类型(void)C语言程序设计第2章 数据类型、运算符与表达式8表2-1 ANSI标准中的数据类型及其范围类类型型长度(字节)长度(字节)范范围围char(字符型)(字符型)1ASC字符字符unsignedchar(无符号字符)(无符号字符)10255signedchar(有符号字符型)(有符号字符型)1-128127int(整型)(整型)2-3276832767unsignedint(无符号整型)(无符号整型)2065535signedint(有符号整型)(有符号整型)2同同intshort(短整型)(短整型)1-128127unsignedshortint(无符号短整型)(无符号短整型)10255signedshortint(有符号短整型)(有符号短整型)1同同shortintlongint(长整型)(长整型)4-21474836482147483649signedlongint(有符号长整型)(有符号长整型)4-21474836482147483649unsignedlongint(无符号长整型)(无符号长整型)404294967296float(单精度型)(单精度型)4提供提供7位有效数字位有效数字double(双精度型)(双精度型)8提供提供16位有效数字位有效数字double(长双精度型)(长双精度型)10提供提供19位有效数字位有效数字void(空值)(空值)0无值无值C语言程序设计第2章 数据类型、运算符与表达式9 说明:表中的长度和范围的取值是在假定CPU的字长为16 bit的情况下。注意:(1)程序中书写的、执行中处理的每个基本数据都属于某个确定的数据类型。(2)类型确定了属于它的数据对象的许多性质,特别是确定了数据的表示范围。在具体的C语言系统中,每种类型都有确定的表示(编码)方式,这就确定了可能表示的数据范围。例如,一个整数类型中的所有整数只是数学中整数的一个子集,其中只包含有限个整数值,存在该类型能表示的最小和最大整数。其他整数在这个类型中没有容身之地,无法在此类型中表示。2.2数据类型与变量数据类型与变量C语言程序设计第2章 数据类型、运算符与表达式10 2.2.2 2.2.2 变量变量 1变量说明。所谓变量,就是在程序运行中其值可以变化的量,从赋值的角度讲,它在不同时期可以赋予不同的值。Turbo C 2.0规定所有变量在使用前都必须首先说明。一条变量说明语句由数据类型和其后的一个或多个变量名组成。变量说明的形式如下:类型;此处类型是指Turbo C 2.0的有效数据类型。变量表是一个或多个标识符名,每个标识符之间用“,”分隔。例 2.1 int i,j,k;unsigned char c,str5,*p;float a,b;double x,y;2.2 数据类型与变量 C语言程序设计第2章 数据类型、运算符与表达式11 2变量的初始化。变量的初始化是指变量在被说明的同时赋给的一个初值。Turbo C 2.0中外部变量和静态全局变量在程序开始处被初始化,局部变量(包括静态局部变量)是在进入定义它们的函数或复合语句时才作初始化。所有全局变量在没有明确的初始化时将被自动清零,而局部变量和寄存器变量在未赋值前其值是不确定的。对于外部变量和静态变量,初值必须是常数表达式,而自动变量和寄存器变量可以是任意的表达式,这个表达式可以包括常数和前面说明过的变量和函数。2.2 数据类型与变量 C语言程序设计第2章 数据类型、运算符与表达式12例例2.2floatf0,f1=0.2;/*定义全局变量定义全局变量,在初始化时在初始化时f0被清零被清零,f1被赋被赋0.2*/main()staticinti=10,j;/*定义静态局部变量定义静态局部变量,初始化时初始化时i被赋被赋10,j不确定不确定*/intk=i*5;/*定义局部变量定义局部变量,初始化时初始化时k被赋被赋10*5=50*/charc=y;/*定义字符型变量并初始化定义字符型变量并初始化*/2.2 数据类型与变量 C语言程序设计第2章 数据类型、运算符与表达式13 3 3变量的赋值变量的赋值 变量赋值是给已说明的变量赋予一个特定值。变量赋值是给已说明的变量赋予一个特定值。(1 1)整型变量和浮点型变量)整型变量和浮点型变量 这两种变量采用下列格式赋值:这两种变量采用下列格式赋值:变量名变量名=表达式表达式;例例2.32.3 main()main()intint a,ma,m;/*;/*定义局部整型变量定义局部整型变量a,ma,m*/*/float n;float n;/*/*定义局部浮点变量定义局部浮点变量f*/f*/a=100 a=100,m=20;m=20;/*/*给变量赋值给变量赋值*/n=a*m*0.1;n=a*m*0.1;说明:说明:Turbo C 2.0Turbo C 2.0中允许给多个变量赋同一值时用连等中允许给多个变量赋同一值时用连等的方式。的方式。2.2 数据类型与变量 C语言程序设计第2章 数据类型、运算符与表达式14(2 2)字符型变量)字符型变量 字符型变量可以用三种方法赋值。字符型变量可以用三种方法赋值。例例2.42.4 main()main()char a0,a1,a2;/*char a0,a1,a2;/*定义局部字符型变量定义局部字符型变量a0,a1,a2*/a0,a1,a2*/a0=b;/*a0=b;/*将字母将字母b b赋给赋给a0*/a0*/a1=50;/*a1=50;/*将数字将数字2(2(十进制十进制ASCASC值为值为50)50)赋给赋给a1*/a1*/a2=x0d;a2=x0d;/*/*将回车符赋给将回车符赋给a2*/a2*/2.2 数据类型与变量 C语言程序设计第2章 数据类型、运算符与表达式15 2.3.1 2.3.1 整数类型和整数的表示整数类型和整数的表示 C C语言提供了多个整数类型以适应不同需要。不同整数类型语言提供了多个整数类型以适应不同需要。不同整数类型间的差异在于它们可能具有不同的二进制编码位数,因此表示范间的差异在于它们可能具有不同的二进制编码位数,因此表示范围可能不同。程序中用得最多的是一般整数类型(简称为围可能不同。程序中用得最多的是一般整数类型(简称为“整数整数类型类型”或或“整型整型”)和长整数类型(简称为)和长整数类型(简称为“长整型长整型”)。整数)。整数类型的类型名是类型的类型名是intint;长整型的类型名为;长整型的类型名为long long intint,可简写为,可简写为longlong。intint 和和long long 都是关键字。都是关键字。1 1整数类型整数类型 整数(整数(intint 类型的数据)有几种书写形式,程序中的整数一类型的数据)有几种书写形式,程序中的整数一般采用十进制写法。般采用十进制写法。(1 1)十进制数:用十进制方式写出的一个整数就是普通数字)十进制数:用十进制方式写出的一个整数就是普通数字字符组成的一个连续序列,其中不能有空格、换行或其他字符。字符组成的一个连续序列,其中不能有空格、换行或其他字符。C C 语言规定十进制表示的数字序列的第一个字符不是语言规定十进制表示的数字序列的第一个字符不是0 0,除非要,除非要写的整数本身就是写的整数本身就是0 0。2.3 基本类型与数据表示 C语言程序设计第2章 数据类型、运算符与表达式16 (2)八进制数:用八进制形式写出的整数是由数字0 开始的连续数字序列,在序列中只允许0-7这8个数字。下面是用八进制写法写出的一些整数和长整数:0236 0527 06254 0531 0765432L (3)十六进制数:整数的十六进制形式是由0 x 或0X 开头的数字序列。由于数字只有10 个,而在十六进制写法中需要16 个数字,C语言采用计算机领域通行的方式,用字母a-f 或A-F 表示其余的6 个十六进制数字,其对应关系如下。字母:a/A b/B c/C d/D E/E f/F 数字:10 1 1 12 13 14 15 下面是用十六进制形式写出的一些整数和长整数:0 x2073 0 xA3B5 0XABCD 0XFFFF 0XF0F00000L2.3 基本类型与数据表示 C语言程序设计第2章 数据类型、运算符与表达式17 2 2表示范围表示范围 C语言没有规定各种整数类型的表示范围,也就是说,没有规定各种整数的二进制编码长度。对于int 和long,只规定了long 类型的表示范围不小于int,但也允许它们的表示范围相同。具体C语言系统则会对整型和长整型规定明确的表示方式和表示范围。例如,早期微型机的一些C系统采用16位二进制表示的整数(一个int 占2个字节)和32位表示的长整数(一个long占4个字节)。这样,整型的表示范围就是-32 76832767,即-215215-1。长整型表示范围是-2147483 6482147483 647,即-231231-1。在许多新的微机C语言系统中,整数和长整数都采用32 位的二进制数表示。C语言允许在整数的前面写正负号,加上负号的整数就表示负整数。2.3 基本类型与数据表示 C语言程序设计第2章 数据类型、运算符与表达式182.3.2实数类型和实数的表示实数类型和实数的表示1 1实数类型实数类型 C语言提供了三种表示实数的类型:单精度浮点数类型(简称浮点类型),类型名为float;双精度浮点数类型(简称双精度类型),类型名为double;长双精度类型,类型名为long double。这些类型的数据也分别称做“浮点数”、“双精度数”和“长双精度数”。所有整数类型和实数类型统称为算术类型。(1)浮点类型的数用4个字节32 位二进制表示。这样表示的数大约有7 位十进制有效数字,数值的表示范围约为(3.410-383.41038)。2.3 基本类型与数据表示 C语言程序设计第2章 数据类型、运算符与表达式19(2)双精度类型的数用8个字节64 位二进制表示,这样表示的数大约有16 位十进制有效数字,数值的表示范围约为(1.710-308 1.710308)。(3)长双精度类型的数用10个字节80位二进制表示,这样表示的数大约有19位十进制有效数字,其数值的表示范围约为(1.210-4932L 1.2104932 L)。对于浮点数也有类似情况。例如,在一些C 语言系统中,long double 采用与double 同样的表示方式。有关具体C 语言系统中浮点数表示的情况,也应查阅系统手册,还可以查阅名为float.h 的标准文件。2.3 基本类型与数据表示 C语言程序设计第2章 数据类型、运算符与表达式202 2实型常数表示实型常数表示C语言中最基本的实数类型是双精度类型。双精度数书写形式中的基本部分是一个数字序列,在序列中或者包含了一个表示小数点的圆点“.”(可以是第一个或最后一个字符),或者在表示数值的数字序列后面有一个指数部分。指数部分是以e 或E 开头的另一(可以包括正负号的)数字序列,指数以10为底,这种形式称为科学记数法。也可以既有小数点,又有指数部分。下面是一些双精度数的例子:3.2 3.2E-3 2.45e17 0.038 105.4E-10 304.24E82.3 基本类型与数据表示 C语言程序设计第2章 数据类型、运算符与表达式21浮点数的写法与双精度数类似,只是在数最后应附后缀字符f 或者F。表示长双精度数的后缀用l 和L。下面是一些浮点数类型和长双精度类型数的例子:13.2F 1.7853E-2F 24.68700f .32F 0.337f。12.869L 3.417E34L .05L 5.E88L 1.L。负实数同样通过在数前加负号表示。说明:(1)实型常数只有一种进制(十进制)。(2)所有实型常数都被默认为double。(3)绝对值小于1的实型数,其小数点前面的零可以省略。如0.22可写为.22,0.0015E-3可写为-.0015E-3。(4)Turbo C默认格式输出实型数时,最多只保留小数点后6位。2.3 基本类型与数据表示 C语言程序设计第2章 数据类型、运算符与表达式222.3.3 2.3.3 字符类型和字符的表示字符类型和字符的表示字符类型数据主要用于程序的输入输出。此外,文字处理也是计算机的一个重要应用领域,该应用领域的应用程序必须能使用和处理字符形式的数据。由于大部分程序都需要与用户打交道,需要接收用户的输入信息(如用户给程序发的命令,或者提供的数据),还需要给用户输出信息,因此字符类型的数据在程序中的使用很广泛。1 1字符类型字符类型加上不同的修饰符,可以定义有符号和无符号两种类型的字符型变量。char a:/*a被定义为有符号字符变量*/unsigned char l;/*l被定义为无符号字符变量*/2.3 基本类型与数据表示 C语言程序设计第2章 数据类型、运算符与表达式23 字符在计算机中是以其ASC码方式表示的,其长度为1个字节,有符号字符型数的取值范围为-128-127,无符号字符型数的取值范围是0-255。因此在Turbo C语言中,字符型数据在操作时将按整型数处理,如果某个变量定义成char,则表明该变量是有符号的,即它将转换成有符号的整型数。Turbo C中规定ASC码值大于0 x80的字符将被认为是负数。如ASC码值为0 x8c的字符,定义成char时,被转换成十六进制的整数0 xff8c。这是因为当ASC码值大于0 x80时,该字节的最高位为1,计算机会认为该数为负数,对于0 x8c表示的数实际上是-74(8c的各位取反再加1),而-74转换成两字节整型数并在计算机中表示时就是0 xff8c(对0074各位取反再加1)。因此只有定义为unsigned char 0 x8c,转换成整型数时才是8c。这一点在处理大于0 x80的ASC码字符时(如汉字码)要特别注意。一般汉字均定义为unsigned char(在以后的程序中会经常碰到)。2.3 基本类型与数据表示 C语言程序设计第2章 数据类型、运算符与表达式24 另外,也可以定义一个字符型数组(关于数组后面再作详细介绍),此时该数组表示一个字符串。例如:char str10;计算机在编译时,将留出连续10个字符的空间,即str0 str9共10个变量,但只有前9个供用户使用。第10个str9用来存放字符串终止符NULL(即“0”),但终止符是编译程序自动加上的,这一点应特别注意。2.3 基本类型与数据表示 C语言程序设计第2章 数据类型、运算符与表达式25 2字符常数表示 能用符号表示的字符可直接用单引号括起来表示,如a、9、Z,也可用该字符的ASC码值表示,例如,十进制数85表示大写字母U,十六进制数0 x5d表示,八进制数0102表示大写字母B。一些不能用符号表示的控制符,只能用ASC码值来表示,如十进制数10 表示换行,十六进制数0 x0d表示回车,八进制数033表示Esc。Turbo C 2.0中也有另外一种表示方法,如033表示Esc,这里0符号后面的数字表示十六进制的ASC值,当然这种表示方法也适用于可直接用符号表示的字符。2.3 基本类型与数据表示 C语言程序设计第2章 数据类型、运算符与表达式26 3转义字符转义字符意 义ASC码值(十进制)a响铃(BEL)007b退格(BS)008f换页(FF)012n换行(LF)010r回车(CR)013t水平制表(HT)009v垂直制表(VT)011反斜杠092?问号字符063单引号字符039”双引号字符0340空字符(NULL)000ddd任意字符三位八进制xhh任意字符二位十六进制2.3 基本类型与数据表示 C语言程序设计第2章 数据类型、运算符与表达式27 字符常量中使用单引号和反斜杠以及字符常量中使用双引号和反斜杠时,都必须使用转义字符表示,即在这些字符前加上反斜杠。在C程序中使用转义字符ddd或者xhh可以方便灵活地表示任意字符。ddd为斜杠后面跟三位八进制数,该三位八进制数的值即为对应的八进制ASC码值。x后面跟两位十六进制数,该两位十六进制数为对应字符的十六进制ASC码值。使用转义字符时需要注意以下问题:(1)转义字符中只能使用小写字母,每个转义字符只能看作一个字符。(2)v垂直制表符和f换页符对屏幕没有任何影响,但会影响打印机执行响应操作。(3)在C程序中,使用不可打印字符时,通常用转义字符表示。2.3 基本类型与数据表示 C语言程序设计第2章 数据类型、运算符与表达式28 4字符串 字符串是C 程序中可以直接写出来的另一类数据,其形式是用双引号括起的一系列字符。下面是几个字符串的例子:CHINA Beijing Daxue Welcomen 在字符串中的特殊字符也用转义序列的形式书写,如上面第4个字符串的最后是一个转义序列,表示了一个换行字符。程序中的字符串主要用于输入输出,例如:printf(Good morning!n);小括号里就是一个字符串。C语言规定程序不能在字符串中间换行,否则编译会出错。2.3 基本类型与数据表示 C语言程序设计第2章 数据类型、运算符与表达式29 2.3.4 2.3.4 数据的外部表示及内部表示数据的外部表示及内部表示 数据的外部表示指的是用户在写出的C语言源程序中写数据所用的形式,或者用户给正在运行中的程序提供数据时所用的形式,或者用户从程序中得到的输出所具有的形式。内部表示指程序运行中,各种数据在计算机内部的二进制编码形式,也就是计算机内部存储和处理数据时所用的形式。显然这是两种不同的形式。例如,如果我们在源程序中写整数123,而在程序运行时实际使用的则是存在内存某(几)个单元中的二进制形式1111011。如果在程序中写字符a,程序运行中将会把字符a 的编码的二进制形式保存在计算机的某个地方。2.3 基本类型与数据表示 C语言程序设计第2章 数据类型、运算符与表达式302.4 2.4 2.4 2.4 运算符与表达式运算符与表达式运算符与表达式运算符与表达式运算符的分类运算符的分类 分类依据:运算符的功能分类依据:运算符的功能分类:分类:算术运算符算术运算符关系运算符关系运算符逻辑运算符逻辑运算符赋值运算符赋值运算符按位运算符按位运算符其它运算符其它运算符表达式:表达式:是由是由操作数操作数操作数操作数和和运算符运算符运算符运算符组成的序列。组成的序列。C语言程序设计第2章 数据类型、运算符与表达式312.4.1 2.4.1 算术运算符和算术表达式算术运算符和算术表达式算术运算符和算术表达式算术运算符和算术表达式11 1、算术运算符、算术运算符、算术运算符、算术运算符、算术运算符、算术运算符+:加法:加法-:减法:减法*:乘法:乘法/:除法:除法%:取余或模:取余或模C语言程序设计第2章 数据类型、运算符与表达式3222 2、算术表达式、算术表达式、算术表达式、算术表达式、算术表达式、算术表达式用用算术运算符算术运算符和和括符括符将操作数连接起来的式子将操作数连接起来的式子。优先级:优先级:()*/%/%+-+-结合性结合性自左自左向右,与数学上一致。向右,与数学上一致。表达式的值:表达式的值:数值型:数值型:intint、longlong、unsignedunsigned、doubledouble结合性是指同级运算时运算符的结合方向。结合性是指同级运算时运算符的结合方向。如如a#b#c a#b#c(#代表某一运算符)代表某一运算符)若先运算若先运算a#ba#b,再将其结果与再将其结果与c c运算,运算,称为左结合性;称为左结合性;从左至右运算规则从左至右运算规则若先运算若先运算b#c,b#c,再将再将a a与其结果运算,与其结果运算,则称右结合性。则称右结合性。从右至左运算规则从右至左运算规则C语言程序设计第2章 数据类型、运算符与表达式33例例2.5 2.5 已知:已知:float a=2.0;float a=2.0;intint b=6,c=3;b=6,c=3;求解:求解:a*b/c-1.5+a*b/c-1.5+A A+abs(-5)=+abs(-5)=?12.0/34.04.0-1.5-1.52.52.5+65(int)+65(int)67.567.55 572.572.5C语言程序设计第2章 数据类型、运算符与表达式343.3.3.3.自增与自减运算符自增与自减运算符自增与自减运算符自增与自减运算符 (重点和难点重点和难点重点和难点重点和难点)+i+i,-i-i先增(减)先增(减)1 1,再使用,再使用i ii+i+,i-i-先使用先使用i i,再增(减)再增(减)1 1(1)(1)单独使用时单独使用时+i;+i;等等 价价i+;i+;等等 价价i=i+1;i=i+1;(2)j=+i;(2)j=+i;(3)j=i+;(3)j=i+;若若若若i i i i的初始值为的初始值为的初始值为的初始值为3 3 3 3i=4;i=4;j=4;j=4;i=4;i=4;j=3;j=3;C语言程序设计第2章 数据类型、运算符与表达式35结合性:结合性:自右向左自右向左例:例:i=2;i=2;j=-i+;j=-i+;分析:分析:(1 1)+、-、+(正号)、(正号)、-(取负)是同级(取负)是同级运算符,结合方向:运算符,结合方向:自右向左自右向左自右向左自右向左。(2 2)-i+-i+等价于等价于-(i+i+)(3 3)对于括号内的自增运算,又要先使用对于括号内的自增运算,又要先使用i i,再使再使i i增加增加1 1。运算结果:运算结果:i i的值为的值为3 3,j j的值为的值为-2-2。C语言程序设计第2章 数据类型、运算符与表达式362.4.2 2.4.2 关系运算符和逻辑运算关系运算符和逻辑运算关系运算符和逻辑运算关系运算符和逻辑运算1.1.关系运算关系运算关系运算关系运算关系运算关系运算 关系运算:比较运算,比较两个操作数,看是否满关系运算:比较运算,比较两个操作数,看是否满关系运算:比较运算,比较两个操作数,看是否满关系运算:比较运算,比较两个操作数,看是否满关系运算:比较运算,比较两个操作数,看是否满关系运算:比较运算,比较两个操作数,看是否满足给定的关系。足给定的关系。足给定的关系。足给定的关系。足给定的关系。足给定的关系。(1)(1)(1)关系运算符关系运算符关系运算符关系运算符关系运算符关系运算符:小于:小于:小于:小于 ,53,3553,35=:小于等于,:小于等于,:小于等于,:小于等于,5=3,3=55=3,3:大于,:大于,:大于,:大于,5353,3535=:大于等于,:大于等于,:大于等于,:大于等于,5=3,3=5 5=3,3=5,与数学上与数学上与数学上与数学上()()不同不同不同不同=:等于,:等于,:等于,:等于,5=3,5=3,与数学上与数学上与数学上与数学上(=)(=)不同不同不同不同!=!=:不等于,:不等于,:不等于,:不等于,5!=3 5!=3,与数学上与数学上与数学上与数学上()()不同不同不同不同C语言程序设计第2章 数据类型、运算符与表达式37(2)(2)(2)关系表达式关系表达式关系表达式关系表达式关系表达式关系表达式用关系运算符将表达式连接起来的式子用关系运算符将表达式连接起来的式子优先级优先级 =高高 低低=!=!=结合方向结合方向自左向右自左向右自左向右自左向右表达式的值表达式的值关系成立,即为真,结果为关系成立,即为真,结果为1 1;关系不成立,即为假,结果为关系不成立,即为假,结果为0 0;算术算术运算符运算符高高 低低C C语言中,真:非语言中,真:非0 0值,假:值,假:0 0值值 第二章第二章 2.3 2.3 运算符和表达式运算符和表达式C语言程序设计第2章 数据类型、运算符与表达式382.2.逻辑运算符逻辑运算符逻辑运算符逻辑运算符(1)(1)(1)逻辑运算符逻辑运算符逻辑运算符逻辑运算符逻辑运算符逻辑运算符!:逻辑非,一元运算符!:逻辑非,一元运算符!:逻辑非,一元运算符!:逻辑非,一元运算符运算规则:取反,真运算规则:取反,真运算规则:取反,真运算规则:取反,真假,假假,假假,假假,假真真真真&:逻辑与:逻辑与:逻辑与:逻辑与 。又称逻辑乘。又称逻辑乘。又称逻辑乘。又称逻辑乘。运算规则:两个操作数均为真,结果为真。运算规则:两个操作数均为真,结果为真。运算规则:两个操作数均为真,结果为真。运算规则:两个操作数均为真,结果为真。|:逻辑或:逻辑或:逻辑或:逻辑或 。又称逻辑加。又称逻辑加。又称逻辑加。又称逻辑加。运算规则:只要两个操作数有一个为真,结果运算规则:只要两个操作数有一个为真,结果运算规则:只要两个操作数有一个为真,结果运算规则:只要两个操作数有一个为真,结果为真。为真。为真。为真。C语言程序设计第2章 数据类型、运算符与表达式39逻辑量或逻辑表达式的值逻辑量或逻辑表达式的值逻辑量或逻辑表达式的值逻辑量或逻辑表达式的值非非非非0 0 值:真值:真值:真值:真0 0值:假值:假值:假值:假整型整型实型实型字符型字符型指针类型指针类型0 00.00.000NULLNULL第二章第二章 2.3 2.3 运算符和表达式运算符和表达式C语言程序设计第2章 数据类型、运算符与表达式40(2)(2)逻辑表达式逻辑表达式逻辑表达式逻辑表达式用逻辑运算符将表达式连接起来的式子。用逻辑运算符将表达式连接起来的式子。优先级优先级关系关系运算符运算符高高 低低&逻辑与逻辑与算术算术运算符运算符高高 低低!逻辑非逻辑非高高 低低高高 低低|逻辑或逻辑或结合性结合性!:自右向左!:自右向左!:自右向左!:自右向左&、|:自左向右:自左向右C语言程序设计第2章 数据类型、运算符与表达式41例例例例2.62.6intint a=5;float b=3.5;a=5;float b=3.5;!a!a0 0!b!b0 0a&ba&b1 1a|ba|b1 1!a&!b!a&!b 0 0C语言程序设计第2章 数据类型、运算符与表达式4244、注意、注意、注意、注意C语言程序设计第2章 数据类型、运算符与表达式43例例2.7a=0;b=1;c=2;d=a+&b+&-c;d=(a+)&(b+)&(-c);运算结果运算结果:d=0,a=1,b=1,c=2(1)a&b&c求解方法:只有求解方法:只有a为真(非为真(非0),才需要判),才需要判断断b的值,只有的值,只有a和和b都为真,才需要判断都为真,才需要判断c的值。只要的值。只要a为假,就不必判断为假,就不必判断b和和c,运算运算立即中止。立即中止。C语言程序设计第2章 数据类型、运算符与表达式44(2)a|b|c求解方法:只要求解方法:只要a为真(非为真(非0),就不必判就不必判断断b和和c;只有只有a 为假,才判断为假,才判断b;a和和b都都为假,才判断为假,才判断c。例例2.8 a=0;b=1;c=2;d=a+|b+|-c;d=(a+)|(b+)|(-c);运算结果运算结果:d=1,a=1,b=2,c=2 C语言程序设计第2章 数据类型、运算符与表达式452.4.3 2.4.3 赋值赋值赋值赋值 1、赋值运算符、赋值运算符=(数学上的等号)(数学上的等号)功能:将一个表达式的值赋给一个功能:将一个表达式的值赋给一个变量变量变量变量。2、简单的赋值表达式、简单的赋值表达式用用赋赋值值运运算算符符将将变变量量和和表表达达式式连连接接起来的式子起来的式子形式形式:=求值规则求值规则:将将“=”右边表达式的值右边表达式的值赋给左边的变量。赋给左边的变量。结合性:自右至左结合性:自右至左 C语言程序设计第2章 数据类型、运算符与表达式463.赋值语句赋值语句 在语言中也可以组成赋值语句,按照语言规定,在语言中也可以组成赋值语句,按照语言规定,任任何表达式在其未尾加上分号就构成为语句。因此如何表达式在其未尾加上分号就构成为语句。因此如x=8x=8和和a=b=c=5a=b=c=5;都是赋值语句,在前面各例中已大量使用过了。;都是赋值语句,在前面各例中已大量使用过了。如果赋值运算符两边的数据类型不相同,如果赋值运算符两边的数据类型不相同,系统将自动进系统将自动进行类型转换,即把赋值号右边的类型转换成左边的类型。具行类型转换,即把赋值号右边的类型转换成左边的类型。具体规定如下:体规定如下:(1 1)实型赋予整型,舍去小数部分。)实型赋予整型,舍去小数部分。(2 2)整型赋予实型,数值不变,但将以浮点形式存放,)整型赋予实型,数值不变,但将以浮点形式存放,即增加小数部分(小数部分的值为即增加小数部分(小数部分的值为0 0)。)。(3 3)字符型赋予整型,由于字符型为一个字节,)字符型赋予整型,由于字符型为一个字节,而整型而整型为两个字节,故将字符的为两个字节,故将字符的ASCASC码值放到整型量的低码值放到整型量的低8 8位中,位中,高高8 8位为位为0 0。(4 4)整型赋予字符型,只把低)整型赋予字符型,只把低8 8位赋予字符量。位赋予字符量。C语言程序设计第2章 数据类型、运算符与表达式47例例2.9(1)x=(y=12)/4y值为值为12,x值为值为3,表达式的值为,表达式的值为3(2)x=y=12/4y值为值为3,x值为值为3,表达式的值为,表达式的值为3 (3)x=(y=12/4)(y值为值为3,x值为值为3,表达式的值为,表达式的值为3 (4)(x=y)=12/4该赋值该赋值运算符左边不运算符左边不是变量,而是一个表是变量,而是一个表达式达式C语言程序设计第2章 数据类型、运算符与表达式484.复合赋值复合赋值*=、/=/=、%=%=、+=+=、-=-=、=、&=&=、=、=共共1010个个由赋值运算符与算术、位移、位逻辑运算符组成。由赋值运算符与算术、位移、位逻辑运算符组成。复合运算符是一个运算符复合运算符是一个运算符,但功能上但功能上,是两个运算是两个运算符功能的组合。符功能的组合。例例2.10 2.10 a+=b a+=b 相当于相当于 a=a+ba=a+ba*=b+c a*=b+c 相当于相当于 a=a*a=a*(b+c)(b+c)(b+c)(b+c)a=2;a+=a*=a;a=2;a+=a*=a;C语言程序设计第2章 数据类型、运算符与表达式492.4.4 逗号运算逗号运算 形式形式形式形式:逗号表达式逗号表达式逗号表达式逗号表达式1 1 1 1,逗号表达式,逗号表达式,逗号表达式,逗号表达式2 2 2 2,逗号表达式,逗号表达式,逗号表达式,逗号表达式n n n n 求值规则求值规则求值规则求值规则:从左至右依次计算各表达式的值从左至右依次计算各表达式的值从左至右依次计算各表达式的值从左至右依次计算各表达式的值优先级优先级优先级优先级最低最低最低最低 结合性:结合性:结合性:结合性:自左至右自左至右自左至右自左至右 表达式的值表达式的值表达式的值表达式的值最后一个表达式的值最后一个表达式的值最后一个表达式的值最后一个表达式的值。C语言程序设计第2章 数据类型、运算符与表达式50例例例例2.112.112.112.11 a b y a b y 逗号表达式逗号表达式 y=a=4,b=5,a+b;4 5 4 9y=a=4,b=5,a+b;4 5 4 9 y=(a=4,b=5,a+b);4 5 9 9 y=(a=4,b=5,a+b);4 5 9 9 y=(a=4,b=5),a+b;4 5 5 9 y=(a=4,b=5),a+b;4 5 5 9 y=a=(4,b=5),a+b;5 5 5 10 y=a=(4,b=5),a+b;5 5 5 10注意注意注意注意:C C语言常用逗号作为分隔符语言常用逗号作为分隔符,例如例如:intint a=3,b=4,c=5;a=3,b=4,c=5;printf(printf(%d,%d,%d,(a,b,c%d,%d,%d,(a,b,c););printf(%d,%d,%d,a,(a,b,c),cprintf(%d,%d,%d,a,(a

    注意事项

    本文(C语言程序设计多媒体整套课件完整版电子教案课件汇总(最新).ppt)为本站会员(可****阿)主动上传,得力文库 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知得力文库 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于得利文库 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

    © 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

    黑龙江省互联网违法和不良信息举报
    举报电话:0468-3380021 邮箱:hgswwxb@163.com  

    收起
    展开