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

    第2章 基本数据及其运算.ppt

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

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

    第2章 基本数据及其运算.ppt

    第第2 2章章 基本数据及其运算基本数据及其运算第第2章章 基本数据及其运算基本数据及其运算学习目标学习目标掌握掌握C语言的基本数据类型及其运算。语言的基本数据类型及其运算。学习内容学习内容整型、实型和字符型数据,常量和变量的概念和使用,算术运算符和整型、实型和字符型数据,常量和变量的概念和使用,算术运算符和算术表达式,赋值运算符和赋值表达式,自增自减运算。算术表达式,赋值运算符和赋值表达式,自增自减运算。下一页下一页返返 回回第第2章章 基本数据及其运算基本数据及其运算2.1 一个一个C程序实例程序实例2.2 基本数据类型基本数据类型2.3 常量和变量常量和变量2.4 运算符和表达式运算符和表达式2.5 本章小结本章小结2.6 实训实训上一页上一页返返 回回2.1 一个一个C程序实例程序实例【例例2-1】计算圆的面积,半径为计算圆的面积,半径为10cm。【程序代码程序代码】#include stdio.hmain()int r;float area;r=10;area=3.14*r*r;printf(%fn,area);程序输出结果为:程序输出结果为:下一页下一页返返 回回2.1 一个一个C程序实例程序实例程序分析:程序分析:(1)该程序中用到的数据有)该程序中用到的数据有r、area、10、3.14,对数据进行的运算,对数据进行的运算有有*(乘法运算)和(乘法运算)和=(赋值运算)。(赋值运算)。(2)计算机执行程序时,要完成以下工作:)计算机执行程序时,要完成以下工作:在内存中给半径在内存中给半径 r 和运算结果和运算结果area开辟存储空间,存放它们的值。开辟存储空间,存放它们的值。r和和area被称作变量,那么应该留多大的地方来存放它们的值?被称作变量,那么应该留多大的地方来存放它们的值?数据数据10和和3.14 与与 r、area不同,它们是在编写程序时就给出了确定不同,它们是在编写程序时就给出了确定的值,在运算过程中不会改变,这样的数据叫作常量。那么计算机怎的值,在运算过程中不会改变,这样的数据叫作常量。那么计算机怎么处理常量?么处理常量?对整数对整数 10 和小数和小数3.14,计算机存放时是否有区别?,计算机存放时是否有区别?以上以上3个问题都涉及到个问题都涉及到C语言中数据的处理操作。语言中数据的处理操作。其实,计算机程序的主要任务就是对数据进行处理,而数据有多种类其实,计算机程序的主要任务就是对数据进行处理,而数据有多种类型,如数值数据、字符数据、图像数据以及声音数据等等,其中最基型,如数值数据、字符数据、图像数据以及声音数据等等,其中最基本也最常用的是数值数据和字符数据。本也最常用的是数值数据和字符数据。本章主要介绍几种基本数据类型的使用方法。本章主要介绍几种基本数据类型的使用方法。上一页上一页返返 回回2.2 基本数据类型基本数据类型计算机在进行数据处理时都要先把数据存放在内存中,不同类型的数计算机在进行数据处理时都要先把数据存放在内存中,不同类型的数据在内存中存放的形式会不同。例如数值数据,其存储形式可以分为据在内存中存放的形式会不同。例如数值数据,其存储形式可以分为整型,长整型,单精度实型和双精度实型,字符数据可以分为单个字整型,长整型,单精度实型和双精度实型,字符数据可以分为单个字符和字符串。符和字符串。1.整数类型整数类型C语言提供了多种整数类型数据,以适应不同场合的需求,其中经常语言提供了多种整数类型数据,以适应不同场合的需求,其中经常用到的是整型和长整型这两种数据类型。两种整型数据的区别在于采用到的是整型和长整型这两种数据类型。两种整型数据的区别在于采用不同位数的二进制编码表示,所以要占用不同的存储空间,表示不用不同位数的二进制编码表示,所以要占用不同的存储空间,表示不同的数值范围。同的数值范围。整型在计算机内存中占据整型在计算机内存中占据2个字节的存储空间,表示的数值范围为个字节的存储空间,表示的数值范围为-215 215-1(-3276832767),如),如图图2-1所示。所示。C语言约定其数据类型语言约定其数据类型标识符为标识符为int。长整型在计算机内存中占据长整型在计算机内存中占据4个字节的存储空间,表示的数值范围为个字节的存储空间,表示的数值范围为-231 231-1(-21474836482147483648),如),如图图2-2所示,其数据类型所示,其数据类型标识符为标识符为long。下一页下一页返返 回回2.2 基本数据类型基本数据类型2.实数类型实数类型实型数据也叫浮点数,指带有小数部分的非整数数值,比如像实型数据也叫浮点数,指带有小数部分的非整数数值,比如像123.45和和1.2109这类数据。它们在计算机内部也是以二进制的形式存储和表这类数据。它们在计算机内部也是以二进制的形式存储和表示的,虽然在程序中很少采用指数形式来表示实数,但在计算机中实示的,虽然在程序中很少采用指数形式来表示实数,但在计算机中实数却都是以指数形式来存储的,而且不论数值大小,即把一个实型数数却都是以指数形式来存储的,而且不论数值大小,即把一个实型数据分为小数和指数两个部分,其中小数部分的位数愈多,数的有效位据分为小数和指数两个部分,其中小数部分的位数愈多,数的有效位就愈多,数的精度就愈高,指数部分的位数愈多,数的表示范围就愈就愈多,数的精度就愈高,指数部分的位数愈多,数的表示范围就愈大。大。C语言提供了两种表示实数的类型:单精度型和双精度型。单精度型语言提供了两种表示实数的类型:单精度型和双精度型。单精度型的类型标识符为的类型标识符为float,占据,占据4个字节,其有效位为个字节,其有效位为7位,如位,如图图2-3所示。所示。双精度型的类型标识符为双精度型的类型标识符为double,占据,占据8个字节,有效位为个字节,有效位为16位左右,位左右,其精度远高于单精度型。其精度远高于单精度型。上一页上一页下一页下一页返返 回回上一页上一页2.2 基本数据类型基本数据类型3.字符类型字符类型字符型数据包括两种:单个字符和字符串,例如字符型数据包括两种:单个字符和字符串,例如A是字符,而是字符,而“ABC”是字符串。是字符串。在计算机中字符是以在计算机中字符是以ASCII码的形式存储的,一个字符只占码的形式存储的,一个字符只占1个字节的个字节的存储空间,如存储空间,如图图2-4所示。所示。例如,字符例如,字符A的的ASCII码用二进制数表示是码用二进制数表示是01000001,对应的十进制,对应的十进制数为数为65,而字符,而字符B的的ASCII码用二进制数表示是码用二进制数表示是01000010,对应的十,对应的十进制数为进制数为66。字符类型的标识符为。字符类型的标识符为char。图图2-4 字符字符A的存储格式的存储格式提示:字符与提示:字符与ASCII码的对应关系可查阅附录码的对应关系可查阅附录A。返返 回回2.3 常量和变量常量和变量常量和变量是程序中的两种运算量。顾名思义,常量是一个有具体值常量和变量是程序中的两种运算量。顾名思义,常量是一个有具体值并且该值在程序执行过程中不会改变的量,而变量则是在程序执行时并且该值在程序执行过程中不会改变的量,而变量则是在程序执行时值可以改变的量。值可以改变的量。2.3.1 常量常量常量即常数。常量即常数。C语言提供的常量有:整型常量、实型常量、字符常量语言提供的常量有:整型常量、实型常量、字符常量和字符串常量。常量的用法比较简单,一般是以自身的书写形式直接和字符串常量。常量的用法比较简单,一般是以自身的书写形式直接表示数据的类型。表示数据的类型。1.整型常量整型常量整型常量即整数。虽然整型常量即整数。虽然C语言允许整数采用十进制、八进制和十六进语言允许整数采用十进制、八进制和十六进制书写,但一般还是采用比较熟悉的十进制形式。注意,制书写,但一般还是采用比较熟悉的十进制形式。注意,C语言不支语言不支持二进制形式。持二进制形式。下一页下一页返返 回回2.3 常量和变量常量和变量2.实型常量实型常量实型常量即实数。实数可以使用两种方式书写:一种是小数形式,例实型常量即实数。实数可以使用两种方式书写:一种是小数形式,例如,如,123.45,-2.0,0.5;另一种是指数形式(又叫科学记数法),其;另一种是指数形式(又叫科学记数法),其中用字母中用字母e或者或者E表示表示10的幂次,例如:的幂次,例如:1.2345e2和和1.2e-9分别表示分别表示123.45和和1.2109。实型常量通常在程序中采用小数形式书写,只是在数值很大或者很小实型常量通常在程序中采用小数形式书写,只是在数值很大或者很小时,才使用指数形式。时,才使用指数形式。3.字符常量字符常量字符常量即单个字符,书写时要用单引号将这个字符括起来,例如:字符常量即单个字符,书写时要用单引号将这个字符括起来,例如:A、2、#等,它们属于常规字符。另外,还有一些字符等,它们属于常规字符。另外,还有一些字符比较特殊,不可视或无法通过键盘输入,例如换行符、回车符等,比较特殊,不可视或无法通过键盘输入,例如换行符、回车符等,C语言的解决方法是用转义字符表示它们。语言的解决方法是用转义字符表示它们。转义字符由一个反斜杠转义字符由一个反斜杠后跟规定字符构成。常用转义字符的定后跟规定字符构成。常用转义字符的定义见义见表表2-1。上一页上一页下一页下一页返返 回回2.3 常量和变量常量和变量提示:转义字符从书写上看是一个字符序列,实际上是作为提示:转义字符从书写上看是一个字符序列,实际上是作为1个字符对待的,个字符对待的,存储时只占存储时只占1个字节。个字节。由于字符在计算机内是以由于字符在计算机内是以ASCII码的形式存储的,实际上码的形式存储的,实际上ASCII码值码值是一个是一个0127之间的整数,因此字符常量也可以参加运算,例如:之间的整数,因此字符常量也可以参加运算,例如:a+1 字符字符a的的ASCII码值加码值加1a-32 字符字符a的的ASCII码值减码值减32,可用于大小写字母的转换,可用于大小写字母的转换ab 实际是比较两个字符的实际是比较两个字符的ASCII码值码值上一页上一页下一页下一页返返 回回2.3 常量和变量常量和变量4.字符串常量字符串常量字符串常量简称字符串,是用双引号括起来的一串字符。例如:字符串常量简称字符串,是用双引号括起来的一串字符。例如:“china”、“x”等。这里的双引号只起定界的作用,它不属于字符等。这里的双引号只起定界的作用,它不属于字符串中的字符,因此双引号之间的字符个数才是字符串的长度。但是,串中的字符,因此双引号之间的字符个数才是字符串的长度。但是,字符串在内存中占用的存储字节数要比字符串长度多字符串在内存中占用的存储字节数要比字符串长度多1,因为,因为C语言总语言总是自动地在字符串尾部加上一个转义字符是自动地在字符串尾部加上一个转义字符0(空字符,其(空字符,其ASCII码值为码值为0)作为字符串的结束标记,系统据此判断字符串是否结束。)作为字符串的结束标记,系统据此判断字符串是否结束。以以“china”为例,字符串的存储形式如为例,字符串的存储形式如图图2-5所示。所示。小测验小测验1.字符数据字符数据a和和“a”有什么区别?有什么区别?2.字符串字符串“abcnd”和和“abc0d”的长度分别是多少?的长度分别是多少?上一页上一页下一页下一页返返 回回2.3 常量和变量常量和变量5.符号常量符号常量符号常量就是用标识符(即符号)来表示常量。在符号常量就是用标识符(即符号)来表示常量。在C语言中有两种方语言中有两种方法定义符号常量。法定义符号常量。(1)使用编译预处理命令)使用编译预处理命令define,例如:,例如:#define N 50#define PI 3.14159(2)使用常量说明符)使用常量说明符const,例如:,例如:const float pi=3.14159定义了符号常量后,就可以在后面的程序中用符号代替常量出现,这定义了符号常量后,就可以在后面的程序中用符号代替常量出现,这将提高程序的可读性,也给程序的修改带来极大的方便。将提高程序的可读性,也给程序的修改带来极大的方便。上一页上一页下一页下一页返返 回回2.3 常量和变量常量和变量2.3.2 变量变量1.变量的概念变量的概念变量是程序设计语言的一个重要概念,它是指在程序运行期间值可以变量是程序设计语言的一个重要概念,它是指在程序运行期间值可以发生变化的量。发生变化的量。可以认为,变量是一个存储数据的容器,即存储单元,它的功能就是可以认为,变量是一个存储数据的容器,即存储单元,它的功能就是用来存放程序中需要处理的数据,这些数据可以是原始数据、中间结用来存放程序中需要处理的数据,这些数据可以是原始数据、中间结果或最终结果。对变量的基本操作有两个:果或最终结果。对变量的基本操作有两个:(1)向变量中存入数据,这个操作称为给变量赋值。)向变量中存入数据,这个操作称为给变量赋值。(2)读取变量当前的值,以便在程序中使用,这个操作称为取值。)读取变量当前的值,以便在程序中使用,这个操作称为取值。变量具有保持值的性质,但是当给变量赋新值时,新值会取代旧值,变量具有保持值的性质,但是当给变量赋新值时,新值会取代旧值,这就是变量的值发生变化的原因。这就是变量的值发生变化的原因。每个变量要有一个变量名来标识,这个名字由程序设计者命名。命名每个变量要有一个变量名来标识,这个名字由程序设计者命名。命名时,注意遵守时,注意遵守C语言标识符的命名规则。语言标识符的命名规则。上一页上一页下一页下一页返返 回回2.3 常量和变量常量和变量提示:提示:(1)使用变量时注意区分两个概念:变量名和变量的值。使用变量时注意区分两个概念:变量名和变量的值。(2)变量名区分大小写,变量名区分大小写,C程序一般习惯用小写。程序一般习惯用小写。2.变量的定义变量的定义变量在程序中负责保存数据,而数据有整数、实数和字符型等不同的变量在程序中负责保存数据,而数据有整数、实数和字符型等不同的类型,因此变量也要有相应的类型。类型,因此变量也要有相应的类型。C语言的基本变量类型有整型变语言的基本变量类型有整型变量、实型变量和字符变量。量、实型变量和字符变量。如何确定一个变量的类型呢?这取决于该变量的定义,也叫变量的说如何确定一个变量的类型呢?这取决于该变量的定义,也叫变量的说明。在明。在C程序中,所有变量使用之前都必须现进行定义,也就是说,程序中,所有变量使用之前都必须现进行定义,也就是说,首先说明一个变量的存在,然后才能使用它。变量说明时需要提供两首先说明一个变量的存在,然后才能使用它。变量说明时需要提供两个方面的信息:变量名和变量的类型,其目的是告诉系统为指定的变个方面的信息:变量名和变量的类型,其目的是告诉系统为指定的变量分配需要的存储空间,以便存放数据。量分配需要的存储空间,以便存放数据。变量定义语句的一般形式为:变量定义语句的一般形式为:类型标识符类型标识符 变量名表;变量名表;上一页上一页下一页下一页返返 回回2.3 常量和变量常量和变量例如:例如:int a,b;/*定义了定义了2个整型变量个整型变量*/long c;/*定义了定义了1个长整型变量个长整型变量*/float f;/*定义了定义了1个单精度型变量个单精度型变量*/double x;/*定义了定义了1个双精度型变量个双精度型变量*/char ch;/*定义了定义了1个字符型变量个字符型变量*/小测验小测验对以上定义的对以上定义的6个变量,系统为它们分配的存储空间分别是多少个字节呢?个变量,系统为它们分配的存储空间分别是多少个字节呢?提示:提示:C语言中没有字符串变量,字符串存储时要借用数组,具体操作在第语言中没有字符串变量,字符串存储时要借用数组,具体操作在第6章介绍。章介绍。上一页上一页下一页下一页返返 回回2.3 常量和变量常量和变量3、变量的初始化、变量的初始化C语言允许在定义变量的同时给变量赋一个初值,称为变量的初始化。语言允许在定义变量的同时给变量赋一个初值,称为变量的初始化。例如:例如:int sum=0;float e=2.718;char ch=a;小测验小测验 按要求写出所需的定义语句。按要求写出所需的定义语句。1.定义定义num1和和num2为整型变量,并分别赋初值为整型变量,并分别赋初值2、3。2.定义定义aver为双精度型,并赋初值为为双精度型,并赋初值为0。提示:首次使用变量时,变量必须要有确定的值,否则,会导致运算错误。提示:首次使用变量时,变量必须要有确定的值,否则,会导致运算错误。上一页上一页返返 回回2.4 运算符和表达式运算符和表达式在在C语言中,对常量或变量的处理是通过运算符来实现的,常量和变语言中,对常量或变量的处理是通过运算符来实现的,常量和变量通过运算符组成量通过运算符组成C的表达式,表达式是语句的一个重要组成要素。的表达式,表达式是语句的一个重要组成要素。C语言提供的运算符很多,所以由运算符构成的表达式种类也很多,语言提供的运算符很多,所以由运算符构成的表达式种类也很多,但是,很少有人对它们全部了解并全都使用。本节仅介绍其中常用的但是,很少有人对它们全部了解并全都使用。本节仅介绍其中常用的算术运算和赋值运算,其他运算待用到时再具体介绍。算术运算和赋值运算,其他运算待用到时再具体介绍。2.4.1 算术运算符和算术表达式算术运算符和算术表达式1.算术运算符算术运算符C语言的算术运算符有语言的算术运算符有6种,其含义及用法见种,其含义及用法见表表2-2。其中需要说明的是:其中需要说明的是:(1)除法运算()除法运算(/)时,两个整数相除的结果(即商)仍为整数,如)时,两个整数相除的结果(即商)仍为整数,如果不能整除,只取结果的整数部分,小数部分全部舍去。例如:果不能整除,只取结果的整数部分,小数部分全部舍去。例如:5/2 结果为结果为2 1/2 结果为结果为0如果参与运算的两个数中有一个为实数,则运算结果为实数。例如:如果参与运算的两个数中有一个为实数,则运算结果为实数。例如:5.0/2 结果为结果为2.5 1/2.0 结果结果0.5下一页下一页返返 回回2.4 运算符和表达式运算符和表达式(2)求余运算()求余运算(%)时,要求两个运算量均为整数,结果为整除后)时,要求两个运算量均为整数,结果为整除后的余数。例如:的余数。例如:7%2 结果为结果为1 4%2 结果为结果为0求余运算在判断一个整数能否被另一个数整除时很方便。例如:当求余运算在判断一个整数能否被另一个数整除时很方便。例如:当x%y结果为结果为0时,说明时,说明x能被能被y整除,否则不能整除。整除,否则不能整除。小测验小测验 如何判断整数如何判断整数n是偶数还是奇数?是偶数还是奇数?(3)算术运算的优先级)算术运算的优先级正如数学中的算术四则运算一样,当进行正如数学中的算术四则运算一样,当进行+、-、*、/等混合运算时,等混合运算时,各运算符之间要有一定的先后次序。括号()优先级最高,乘、除、各运算符之间要有一定的先后次序。括号()优先级最高,乘、除、求余同级又高于加减运算。求余同级又高于加减运算。上一页上一页下一页下一页返返 回回2.4 运算符和表达式运算符和表达式2.算术表达式算术表达式C的算术表达式来源于数学中的代数式,不过为了方便键盘输入,算的算术表达式来源于数学中的代数式,不过为了方便键盘输入,算术表达式使用时要注意书写形式。例如:术表达式使用时要注意书写形式。例如:数学式数学式 算术表达式算术表达式 (a+b)/2 a*a+2*a*b+b*b fabs(a)sqrt(b*b-4*a*c)可见,算术表达式采用的是线性书写形式,运算量和运算符都要写在可见,算术表达式采用的是线性书写形式,运算量和运算符都要写在一条横线上。有些运算还必须调用库函数完成,在上面示例中,遇到一条横线上。有些运算还必须调用库函数完成,在上面示例中,遇到了求绝对值和平方根运算,对这类常用的数学运算,了求绝对值和平方根运算,对这类常用的数学运算,C语言已经将它语言已经将它们定义成标准库函数,存放在数学库文件们定义成标准库函数,存放在数学库文件”math.h”中,用户只需直接中,用户只需直接调用即可。调用即可。上一页上一页下一页下一页返返 回回2.4 运算符和表达式运算符和表达式3.运算中数据类型的转换运算中数据类型的转换在表达式中,当运算符两边的运算对象类型相同时,可以直接进行运在表达式中,当运算符两边的运算对象类型相同时,可以直接进行运算,并且运算结果和运算对象具有同一数据类型,所以表达式算,并且运算结果和运算对象具有同一数据类型,所以表达式5/2的结的结果是整数果是整数2而不是实数而不是实数2.5。但是,当运算符两边的运算对象类型不相同时,但是,当运算符两边的运算对象类型不相同时,C语言会自动把它们语言会自动把它们转换成同一数据类型再进行计算。自动转换时,都是从占用内存空间转换成同一数据类型再进行计算。自动转换时,都是从占用内存空间少的数据类型向占用内存空间多的数据类型进行转换。例如:少的数据类型向占用内存空间多的数据类型进行转换。例如:10+a 先将先将a转换为转换为int型的整数型的整数97,然后与,然后与10相加,结果为相加,结果为int型的型的107各种类型自动转换级别如各种类型自动转换级别如图图2-6所示,其中箭头表示转换方向。所示,其中箭头表示转换方向。上一页上一页下一页下一页返返 回回2.4 运算符和表达式运算符和表达式以上转换方法是在不显式指明的情况下自动进行的,所以用户很难控以上转换方法是在不显式指明的情况下自动进行的,所以用户很难控制运算结果。制运算结果。此外,此外,C语言还提供了另一种数据类型转换方法:强制类型转换。使语言还提供了另一种数据类型转换方法:强制类型转换。使用这种方法,用户可以根据需要控制数据类型,其语法是:用这种方法,用户可以根据需要控制数据类型,其语法是:(数据类型标识符)(表达式)(数据类型标识符)(表达式)例如:(例如:(int)(1.5+2.3)表达式的值为表达式的值为3而不是而不是3.8再例如:有下面变量定义再例如:有下面变量定义int i;double d;那么,如果不使用强制类型转换,表达式那么,如果不使用强制类型转换,表达式i+d的运算结果是的运算结果是double类类型;如果需要型;如果需要i+d的运算结果是的运算结果是int类型的,就需要使用强制类型转换,类型的,就需要使用强制类型转换,即即i+(int)d,首先把,首先把d转换成转换成 int型,然后执行型,然后执行i+d。上一页上一页下一页下一页返返 回回2.4 运算符和表达式运算符和表达式2.4.2 赋值运算符和赋值表达式赋值运算符和赋值表达式赋值运算完成给变量提供数据的功能,赋值运算完成给变量提供数据的功能,“=”是赋值运算符。是赋值运算符。赋值表达式的一般形式为:赋值表达式的一般形式为:变量变量=表达式表达式赋值表达式的处理过程是:先计算赋值表达式的处理过程是:先计算“=”右侧表达式的值,然后将该右侧表达式的值,然后将该值赋给左侧的变量。例如:值赋给左侧的变量。例如:a=2 将将2赋给变量赋给变量a,变量,变量a的值为的值为2b=a+5 若变量若变量a为为2,则变量,则变量b的值为的值为7上一页上一页下一页下一页返返 回回2.4 运算符和表达式运算符和表达式说明:说明:(1)赋值表达式尾部加上分号,构成赋值语句。赋值语句是)赋值表达式尾部加上分号,构成赋值语句。赋值语句是C语言最语言最基本、最常用的一个语句。例如:基本、最常用的一个语句。例如:a=2;赋值语句赋值语句b=a+5;赋值语句赋值语句(2)赋值语句具有计算和赋值双重功能,即先计算出表达式的值,)赋值语句具有计算和赋值双重功能,即先计算出表达式的值,再将该值交给指定的变量保存。因此在再将该值交给指定的变量保存。因此在C程序中大量的计算处理都会程序中大量的计算处理都会用到赋值语句。例如:用到赋值语句。例如:d=sqrt(b*b-4*a*c);(3)赋值运算符不同于数学上的等号,等号没有方向,而赋值号据)赋值运算符不同于数学上的等号,等号没有方向,而赋值号据有方向性。例如:数学式有方向性。例如:数学式a=b可以等价写成可以等价写成b=a,但是赋值语句,但是赋值语句a=b;与与b=a;完全不等价。完全不等价。上一页上一页下一页下一页返返 回回2.4 运算符和表达式运算符和表达式小测验小测验执行以下程序段后,变量执行以下程序段后,变量a、b以及以及n的值各是多少?的值各是多少?程序段程序段1 int a,b;a=2;b=5;a=b;程序段程序段2 int a,b;a=2;b=5;b=a;程序段程序段3 int n=0;n=n+1;(4)类型转换也发生在赋值运算符的两边,不管赋值运算符右边表达式)类型转换也发生在赋值运算符的两边,不管赋值运算符右边表达式的结果类型是什么,一律转换为左边变量的类型,然后再赋值给变量。的结果类型是什么,一律转换为左边变量的类型,然后再赋值给变量。(5)除)除“=”之外,之外,C语言还提供了一些复合的赋值运算符,常用的有语言还提供了一些复合的赋值运算符,常用的有+=,-=,*=,/=,%=等。下面举例说明它们的用法。例如:等。下面举例说明它们的用法。例如:a+=2;等效于等效于 a=a+2;a-=2;等效于等效于 a=a-2;a*=2;等效于等效于 a=a*2;a/=2;等效于等效于 a=a/2;a%=2 等效于等效于 a=a%2;提示:赋值语句提示:赋值语句a*=b+c;等效于等效于a=a*(b+c);而不是而不是a=a*b+c上一页上一页下一页下一页返返 回回2.4 运算符和表达式运算符和表达式2.4.3 自增自减运算自增自减运算C语言有两个很有特色的运算符:自增运算符(语言有两个很有特色的运算符:自增运算符(+)和自减运算符()和自减运算符(-)。它们是单目运算,运算对象必须是变量。例如:)。它们是单目运算,运算对象必须是变量。例如:+i、i+、-i、i-使用时,运算符可以放在变量之前,也可以放在变量之后,但对运算使用时,运算符可以放在变量之前,也可以放在变量之后,但对运算对象的值影响不同。对象的值影响不同。+i、-i 运算符在前,变量在后的前缀形式运算符在前,变量在后的前缀形式 i+、i-变量在前,运算符在后的后缀形式变量在前,运算符在后的后缀形式很多时候很多时候+i与与i+并没有区别,它们都相当于赋值运算中的并没有区别,它们都相当于赋值运算中的i=i+1,而,而-i和和i-则相当于则相当于i=i-1。但是,当自增自减运算与其他运算混合时,前。但是,当自增自减运算与其他运算混合时,前缀和后缀形式的影响不同,其使用规则为:缀和后缀形式的影响不同,其使用规则为:+i、-i 变量在使用之前先自增(加变量在使用之前先自增(加1)、自减(减)、自减(减1)i+、i-变量在使用之后再自增(加变量在使用之后再自增(加1)、自减(减)、自减(减1)上一页上一页下一页下一页返返 回回2.4 运算符和表达式运算符和表达式举例:阅读以下程序,观察其运行结果的异同。举例:阅读以下程序,观察其运行结果的异同。【程序程序1】main()int i=0,j;j=+i;printf(“i=%d,j=%dn”,i,j);输出结果为:输出结果为:【程序程序2】main()int i=0,j;j=i+;printf(“i=%d,j=%dn”,i,j);输出结果为:输出结果为:上一页上一页下一页下一页返返 回回2.4 运算符和表达式运算符和表达式从两个程序的运行结果来看,变量从两个程序的运行结果来看,变量i的值都自增为的值都自增为1,但是变量,但是变量j的值却的值却截然不同。截然不同。小测验小测验 执行以下两个程序段后,变量执行以下两个程序段后,变量x的值各是多少?的值各是多少?程序段程序段1int a=5,x=0;x=(a+)+3;程序段程序段2int a=5,x=0;x=(+a)+3;提示:由于自增自减运算操作速度快,书写简便,所以经常被用来计数。提示:由于自增自减运算操作速度快,书写简便,所以经常被用来计数。上一页上一页返返 回回2.5 本章小结本章小结通过本章的学习,读者应掌握以下内容:通过本章的学习,读者应掌握以下内容:1.C语言的基本数据类型。数据类型名、所占字节数及取值范围见语言的基本数据类型。数据类型名、所占字节数及取值范围见表表2-3。编写程序时应根据数据的实际情况选用相应的数据类型。一般的整数编写程序时应根据数据的实际情况选用相应的数据类型。一般的整数大多选用大多选用int型表示。还应注意,型表示。还应注意,C语言默认实数为语言默认实数为double类型,即每类型,即每个实数在计算机中都是以个实数在计算机中都是以double类型存放和表示的,而且很多数学函类型存放和表示的,而且很多数学函数也都用数也都用double类型作为函数的参数和返回值。类型作为函数的参数和返回值。2.常量和变量。常量和变量。常量的用法比较简单,通过自身的书写格式就说明了该常量的类型。常量的用法比较简单,通过自身的书写格式就说明了该常量的类型。变量使用之前必须先说明,否则程序无法为其分配存储空间,也就是变量使用之前必须先说明,否则程序无法为其分配存储空间,也就是说,变量要说,变量要“先定义后使用先定义后使用”。变量的类型决定变量的取值范围、变量在内存中应占的存储空间的大变量的类型决定变量的取值范围、变量在内存中应占的存储空间的大小以及变量所能参与运算的种类。小以及变量所能参与运算的种类。下一页下一页返返 回回2.5 本章小结本章小结3.算术运算类似数学中的算术四则运算,但应注意算术表达式不同于算术运算类似数学中的算术四则运算,但应注意算术表达式不同于数学式的书写规则和运算规则。数学式的书写规则和运算规则。4.赋值表达式构成赋值语句。赋值语句具有先计算后赋值的功能。赋值表达式构成赋值语句。赋值语句具有先计算后赋值的功能。5.不同类型的数据在参加运算之前会自动转换成相同的类型,然后再不同类型的数据在参加运算之前会自动转换成相同的类型,然后再进行运算,转换的原则是由低级向高级转换。此外还可以使用强制类进行运算,转换的原则是由低级向高级转换。此外还可以使用强制类型转换。型转换。6.使用自增自减运算符的目的是为了简便程序,因此不赞成写出诸如使用自增自减运算符的目的是为了简便程序,因此不赞成写出诸如c=+a+b;这类令人容易混淆出错的语句,需要时可以采用等价的几这类令人容易混淆出错的语句,需要时可以采用等价的几条语句替代:条语句替代:+a;+b;c=a+b;总之,本章所介绍的内容都是总之,本章所介绍的内容都是C语言的基础内容,看似有些零散,但语言的基础内容,看似有些零散,但都是今后程序中经常用到的知识点,应该好好领会。都是今后程序中经常用到的知识点,应该好好领会。返返 回回上一页上一页2.6 实训实训 实训实训1【实训内容实训内容】基本数据类型。基本数据类型。【实训目的实训目的】熟悉数据类型及类型转换。熟悉数据类型及类型转换。【实训题目实训题目】运行下面程序,记录输出结果,并对结果进行分析。运行下面程序,记录输出结果,并对结果进行分析。#include stdio.hmain()int i,j;float x;x=5.8;i=x;j=(int)x;printf(x=%f,i=%d,j=%dn,x,i,j);返返 回回下一页下一页2.6 实训实训 实训实训2 【实训内容实训内容】算术运算。算术运算。【实训目的实训目的】掌握算术表达式及算术运算。掌握算术表达式及算术运算。【实训题目实训题目】随机生成一个随机生成一个3位整数,计算个位数、十位数和百位数位整数,计算个位数、十位数和百位数的平方和。的平方和。【编程点拨编程点拨】(1)随机产生一个整数可用随机函数)随机产生一个整数可用随机函数rand()。rand()函数能够产生函数能够产生032727范围内的整数,要生成范围内的整数,要生成a,b范围内的整数,可使用通用公式:范围内的整数,可使用通用公式:a+rand()%(b-a+1)。(2)随机函数)随机函数rand()所在的库文件为所在的库文件为stdlib.h。#include stdio.h#include stdlib.h 上一页上一页下一页下一页返返 回回2.6 实训实训main()int n,n1,n2,n3,sum;n=100+rand()%900;/*生成随机数的范围应为生成随机数的范围应为100999*/printf(生成的随机整数为:生成的随机整数为:%dn,n);n1=n/100;/*取百位数取百位数*/n2=(n/10)%10;/*取十位数取十位数*/n3=n%10;/*取个位数取个位数*/sum=n1*n1+n2*n2+n3*n3;printf(各位的平方和为:各位的平方和为:%dn,sum);运行以上程序,记录输出结果,并对结果进行分析。运行以上程序,记录输出结果,并对结果进行分析。上一页上一页下一页下一页返返 回回2.6 实训实训 实训实训3 【实训内容实训内容】表达式及其运算。表达式及其运算。【实训目的实训目的】掌握自加自减运算。掌握自加自减运算。【实训题目实训题目】运行下面程序,记录输出结果,并对结果进行分析。运行下面程序,记录输出结果,并对结果进行分析。#include stdio.hmain()int x=5,y;printf(x=%dn,x);y=+x;printf(x=%d,y=%dn,x,y);y=x-;printf(x=%d,y=%dn,x,y);上一页上一页返返 回回图图2-1 整型数据的存储格式整型数据的存储格式返返 回回图图2-2 长整型数据的存储格式长整型数据的存储格式返返 回回图图2-3 浮点型数据的存储格式浮点型数据的存储格式返返 回回图图2-4 字符字符A的存储格式的存储格式返返 回回表表2-1 常用转义字符定义常用转义字符定义返返 回回转义转义字符字符含含 义义n换换行符行符t横向跳格符横向跳格符0空字符空字符反斜杠反斜杠单单引号引号双引号双引号图图2-5 字符串存储示意图字符串存储示意图返返 回回表表2-2 算术运算符算术运算符返返 回回运算符运算符含含 义义示示 例例结结 果果+加法加法a+b7.5+310.5-减法减法a-b7.5-34.5*乘法乘法a*b7.5*322.5/除法除法a/b7.5/32.5%求余求余a%b7/31图图2-6 自动转换级别示意图自动转换级别示意图返返 回回表表2-3 基本数据类型基本数据类型返返 回回数据数据类类型型类类型名型名字字节节数数取取值值范范围围整型整型int2-3276832767长长整型整型long4-21474836482147483647单单精度精度实实型型float4-3.410-38 3.41038双精度双精度实实型型double8-1.710-3081.710308字符型字符型char10127

    注意事项

    本文(第2章 基本数据及其运算.ppt)为本站会员(hyn****60)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

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

    收起
    展开