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

    第2章 基本数据类型优秀PPT.ppt

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

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

    第2章 基本数据类型优秀PPT.ppt

    第第2章章 基本数据类型基本数据类型现在学习的是第1页,共47页2.1 求平均分求平均分 2.1.12.1.12.1.12.1.1 程序解析程序解析程序解析程序解析 例例 2-1 2-1 输入某学生两门课的成绩,求平均分输入某学生两门课的成绩,求平均分 分析:分析:1 1、百分制的学生成绩表达式一般不含小数,故两门课的分、百分制的学生成绩表达式一般不含小数,故两门课的分 数一般是整数。数一般是整数。2 2、平均分一般含小数,故在、平均分一般含小数,故在C C中定义为单精度的实型数据。中定义为单精度的实型数据。3 3、输入成绩要用、输入成绩要用scanf()scanf()函数,整型数据的输入格式为函数,整型数据的输入格式为%d%d。4 4、输出平均分要用、输出平均分要用printf()printf()函数,实型数据的格式符为函数,实型数据的格式符为%f%f。5 5、算法:定义相关变量;输入两门课的成绩;求平均分;、算法:定义相关变量;输入两门课的成绩;求平均分;输出平均分。输出平均分。现在学习的是第2页,共47页2.1 求平均分求平均分 2.1.12.1.12.1.12.1.1 程序解析程序解析程序解析程序解析 程序代码程序代码#include#include void main()void main()int score1,score2;/int score1,score2;/定义相关变量定义相关变量 float average float average;printf(printf(“请输入两门课的分数请输入两门课的分数(百分制百分制):”);/);/输入提示输入提示 scanf(scanf(“%d%d%d%d”,&score1,score1,&score2);/score2);/输入成绩输入成绩 average=(score1+score2)/average=(score1+score2)/2.02.0;/;/求平均分求平均分 printf(printf(“average=%average=%4.14.1f fnn”,average);/,average);/输出平均分输出平均分 现在学习的是第3页,共47页2.1 求平均分求平均分C语言定义语言定义6种整型,分别是:种整型,分别是:基本整型基本整型 int无符号基本整型无符号基本整型 unsigned int短整型短整型 short或或 short int无符号短整型无符号短整型 unsigned short或或 unsigned short int长整型长整型 long或或 long int无符号长整型无符号长整型 unsigned long或或 unsigned long int 2.1.2 2.1.2 2.1.2 2.1.2 整型整型整型整型 现在学习的是第4页,共47页2.1 求平均分求平均分整数类型字节数及取值范围整数类型字节数及取值范围类类 型型字节数字节数取值范围取值范围int4-21474836482147483647 即即 -231(231-1)unsigned int 404294967295 即即 0(232-1)short2-32768 32767 即即 -215(215-1)unsigned short20 65535 即即 0(216-1)long4-21474836482147483647 即即 -231(231-1)unsigned long404294967295 即即 0(232-1)现在学习的是第5页,共47页(1)short int型型 补码为补码为16位二进制数,它表示一个有符号整位二进制数,它表示一个有符号整数,其特点是:当首位为数,其特点是:当首位为0时表示一个正数,当首位为时表示一个正数,当首位为1时表示时表示一个负数。正数的补码与其原码相同,而负数的补码为其对应一个负数。正数的补码与其原码相同,而负数的补码为其对应正数的反码加正数的反码加1。如:。如:+4补补=0000 0000 0000 0100 -4补补=1111 1111 1111 1100(2)short int型负数的补码计算公式:型负数的补码计算公式:X的补码的补码=216-|X|X0整型数据的存储整型数据的存储现在学习的是第6页,共47页一个用补码表示的二进制数,最高位为符号位,当符号位为一个用补码表示的二进制数,最高位为符号位,当符号位为“0”(即正数)时,其余位即为此数的二进制值;但当(即正数)时,其余位即为此数的二进制值;但当符号位为符号位为“1”(即负数)时,其余位不是此数的二进制(即负数)时,其余位不是此数的二进制值,应把它们按位求反,且在最低位加值,应把它们按位求反,且在最低位加1,才是它的二进,才是它的二进制值。如:制值。如:X补补=1111 1111 1111 1101 则则 X =-000 0000 0000 0011=-3已知负数已知负数X的补码求原码也可通过公式:的补码求原码也可通过公式:X=-216-(X的补码)的补码)整型数据的存储整型数据的存储现在学习的是第7页,共47页2.1 求平均分求平均分2.1.32.1.3 实型实型实型数据又称浮点型数据,有三种类型实型数据又称浮点型数据,有三种类型 单精度浮点数类型,简称浮点类型单精度浮点数类型,简称浮点类型 float float 双精度浮点数类型,简称双精度类型双精度浮点数类型,简称双精度类型 double double 长双精度类型长双精度类型 long double long double实型的相关规定实型的相关规定类类 型型字节数字节数有效数字有效数字数值范围数值范围float47-3.410-38 3.41038double816-1.710-308 1.710308long double1019-3.410-4932 3.4104932现在学习的是第8页,共47页实型数据按指数形式存储。实型数据按指数形式存储。floatfloat型在内存中占型在内存中占4 4个字节即个字节即3232位位0 10 1,分别存放符号位、规格化的尾数、阶符位和阶码。,分别存放符号位、规格化的尾数、阶符位和阶码。例如,实数例如,实数-32.28E-20-32.28E-20的存储情况如图。的存储情况如图。实型数据存在舍入误差,提供的有效数字是有限的,只有实型数据存在舍入误差,提供的有效数字是有限的,只有7 7(doubledouble是是1616)位,尾数在有效位以外的部分将被舍去。)位,尾数在有效位以外的部分将被舍去。18-0.322800-实型数据的存储实型数据的存储现在学习的是第9页,共47页2.1 求平均分求平均分2.1.4 2.1.4 字符型字符型 ASCIIASCII字字符符:大大小小写写英英文文字字母母、数数字字、各各种种标标点点符符号号,控控制制字字符符,一共一共128128个。扩展个。扩展ASCIIASCII字符:字符:256256个。个。字符类型的数据在内存中存储的是字符类型的数据在内存中存储的是ASCIIASCII码值,一个字符占一个字节的码值,一个字符占一个字节的内存空间。内存空间。注:注:ASCIIASCII码字符的取值范围是码字符的取值范围是0 0127127,可用,可用charchar和和unsigned charunsigned char类型表类型表示;在示;在128128255255范围内的扩展范围内的扩展ASCIIASCII码字符只能用码字符只能用unsigned charunsigned char类型表示。类型表示。类类 型型字节数字节数取值范围取值范围char(有符号)(有符号)1-128 127 即即 -27(271)unsigned char(无符号)(无符号)10 255 即即 0(28-1)现在学习的是第10页,共47页用一个字节(用一个字节(8 8位二进制信息)存储字符类型数据。对于无位二进制信息)存储字符类型数据。对于无符号字符类型(符号字符类型(unsigned charunsigned char)数据直接存放)数据直接存放ASCIIASCII码或码或扩展扩展ASCIIASCII码。对于有符号字符类型码。对于有符号字符类型(charchar)的数据也是用的数据也是用补码存储的。补码存储的。字符型数据可看成是只有一个字节的整数,与字符型数据可看成是只有一个字节的整数,与整数通用。整数通用。字符型数据的存储字符型数据的存储现在学习的是第11页,共47页2.2 求三角形求三角形 2.2.12.2.12.2.12.2.1 程序解析程序解析程序解析程序解析 例例 2-2 2-2 已知三角形的三边是已知三角形的三边是4 4、5 5、6 6,现要求计算其面积,现要求计算其面积 注:海伦公式为注:海伦公式为 分析:分析:1 1、三角形的三边边长、三角形的三边边长a=4a=4、b=5b=5、c=6c=6是常量,不需要键盘输入。是常量,不需要键盘输入。2 2、海伦公式计算时用到开平方根,在、海伦公式计算时用到开平方根,在C C中用数学函数中用数学函数sqrt()sqrt()实实 现,要求包含头文件现,要求包含头文件math.hmath.h。3 3、输出用、输出用printf()printf()函数,注意实型数据的格式符为函数,注意实型数据的格式符为%f%f。4 4、计算周长的一半时,要注意除数是、计算周长的一半时,要注意除数是2.0.2.0.5 5、算法:变量定义及赋值;根据公式计算、算法:变量定义及赋值;根据公式计算l l和和S S;输出;输出S S。现在学习的是第12页,共47页2.2 求三角形求三角形 2.2.12.2.12.2.12.2.1 程序解析程序解析程序解析程序解析 程序代码程序代码#include#include#include#include void main()void main()int a=4,b=5,c=6;/int a=4,b=5,c=6;/变量定义及赋初值变量定义及赋初值 float l,s float l,s;l=(a+b+c)/l=(a+b+c)/2.0;2.0;/计算计算l l s=s=sqrtsqrt(l*(l-a)*(l-b)*(l-c);/(l*(l-a)*(l-b)*(l-c);/计算面积计算面积s s printf(printf(“s=%fs=%fnn”,s);/,s);/输出面积输出面积 现在学习的是第13页,共47页2.2 求三角形求三角形(1)(1)十进制整数,如十进制整数,如154154、565565、-6523-6523。(2)(2)八进制整数,以八进制整数,以0 0开头。如开头。如01230123表示八进制表示八进制(123)(123)8 8,等于,等于8383。(3)(3)十六进制整数,以十六进制整数,以0 x0 x开头。如开头。如0 x4a0 x4a即即(4a)(4a)1616,等于,等于7474。(4)(4)长整型,数尾加长整型,数尾加L L(l l)(5)(5)无符号型,数尾加无符号型,数尾加U U(u u)例例如如-63L-63L、0123LU0123LU、0 x4aL0 x4aL等等分分别别表表示示十十进进制制有有符符号号长长整整型型数数、八八进制无符号长整型数和十六进制有符号长整型数。进制无符号长整型数和十六进制有符号长整型数。2.2.2 常量常量1.整型常量整型常量现在学习的是第14页,共47页2.2 求三角形求三角形2.实型常量实型常量实型常量只能用十进制形式表示,没有八进制和十六进制实型常量只能用十进制形式表示,没有八进制和十六进制形式表示。形式表示。(1)小数形式:由数字和小数点组成,如小数形式:由数字和小数点组成,如-0.12、3.1415926、.4、3.等都是实数。等都是实数。(2)指数形式:如指数形式:如1.8e5或或1.8E5都代表都代表1.8x105。但注意字母。但注意字母e(或(或E)之前必须有数字,且)之前必须有数字,且e后面指数必须为整数,如后面指数必须为整数,如e3、2.1e3.2、e等都不是合法的指数形式。等都不是合法的指数形式。现在学习的是第15页,共47页字符型常量是由一对单引号括起来的单个字符构成,例字符型常量是由一对单引号括起来的单个字符构成,例如如,a,b,1等都是有效字符型常量等都是有效字符型常量 一个字符型常量的存储值是该字符集中对应的一个字符型常量的存储值是该字符集中对应的ASCII编码编码值,常用字符的值,常用字符的ASCII编码值如下:编码值如下:字符字符AZ的码值是的码值是6590,字符字符az的码值是的码值是97122,字符字符09的码值是的码值是4857,空格字符空格字符 的的ASCII码值码值32。2.2 求三角形求三角形3.字符常量字符常量现在学习的是第16页,共47页2.2 求三角形求三角形C语言中转义字符语言中转义字符字符形式字符形式功功 能能n换行,将光标从当前位置移到下一行开头换行,将光标从当前位置移到下一行开头t横向跳格,光标跳到下一个水平制表位横向跳格,光标跳到下一个水平制表位b退格退格r回车,将光标从当前位置移到本行开头回车,将光标从当前位置移到本行开头f换页,将光标从当前位置移到下一页开头换页,将光标从当前位置移到下一页开头反斜杠字符反斜杠字符单引号字符单引号字符双引号字符双引号字符ddd1到到3位位8进制数所代表的字符进制数所代表的字符xhh1到到2位位16进制数所代表的字符进制数所代表的字符现在学习的是第17页,共47页2.2 求三角形求三角形字符串常量与字符常量的区别字符串常量与字符常量的区别(1)(1)字符常量由单引号括起来,字符串常量由双引号括起来。字符常量由单引号括起来,字符串常量由双引号括起来。(2)(2)字字符符常常量量占占一一个个字字节节内内存存空空间间。字字符符串串常常量量占占的的内内存存字字节节数数等等于于字字符符串串中字符所占的字节数加中字符所占的字节数加1 1。多余一个字节用于存放字串结束标记。多余一个字节用于存放字串结束标记00。注注意意:不不要要将将单单个个字字符符组组成成的的字字符符串串常常量量与与字字符符常常量量混混淆淆。不不能能把把一一个个字字符符串常量赋给一个字符变量。串常量赋给一个字符变量。4.字符串常量字符串常量 字符串常量是由一对双引号括起来的字符序列组成的,例如字符串常量是由一对双引号括起来的字符序列组成的,例如“abcabc”、“a a”等都是字符串常量。等都是字符串常量。现在学习的是第18页,共47页2.2 求三角形求三角形宏常量就是使用符号代表常量。宏常量就是使用符号代表常量。C C语言中允许用标识符定义一个常量,这种常量定义在语言中允许用标识符定义一个常量,这种常量定义在C C语言中被语言中被称之为称之为“宏定义宏定义”。其基本格式如下:。其基本格式如下:#define N 10 /#define N 10 /定义符合常量定义符合常量N N,其值为,其值为1010。注意:宏定义的末尾一般不用分号,定义位置放在函数之外注意:宏定义的末尾一般不用分号,定义位置放在函数之外5.宏常量宏常量6.CONST常量常量 上宏常量中没有数据类型,编译器对宏常量不进行类型检查,只上宏常量中没有数据类型,编译器对宏常量不进行类型检查,只进行简单的字符串转换,有时产生意想不到的错误,此时可以使进行简单的字符串转换,有时产生意想不到的错误,此时可以使用用constconst常量。其定义格式如下:常量。其定义格式如下:const int MAXN=100;/const int MAXN=100;/声明一个名为声明一个名为MAXNMAXN的整型的整型constconst常量,常量,其值为其值为100100。现在学习的是第19页,共47页2.2 求三角形求三角形 变量是内存中的一块区域,其值在程序运变量是内存中的一块区域,其值在程序运行过程中可以被改变。必须先定义,后使用。行过程中可以被改变。必须先定义,后使用。在在C C语言中使用标识符作为变量的名字。语言中使用标识符作为变量的名字。2.2.3 变量变量 标识符是程序中表示数据和程序段的基本手段,标识符是程序中表示数据和程序段的基本手段,是由字母、数字等字符组成的一个字符串。是由字母、数字等字符组成的一个字符串。1.标识符标识符现在学习的是第20页,共47页标识符命名规则如下:标识符命名规则如下:(1)(1)标识符只能由下划线标识符只能由下划线“_ _”、数字与、数字与2626个字母构成,个字母构成,不能有汉字。不能有汉字。(2)(2)标识符的首字符必须是字母或下划线标识符的首字符必须是字母或下划线“_ _”。(3)C(3)C语言中区分大小写。语言中区分大小写。(4)(4)标识符不能使用系统关键字。标识符不能使用系统关键字。(5)(5)系统预定义标识符如系统预定义标识符如definedefine、includeinclude、系统函数名、系统函数名 如如scanfscanf、printfprintf等可作为用户标识符,但建议不用。等可作为用户标识符,但建议不用。(6)(6)命名尽量作到命名尽量作到“见名知义见名知义”,例如,例如maxmax、scorescore等。等。(7)(7)避免使用易混字符,如避免使用易混字符,如1 1、l l、i i;0 0、o o;2 2、z z等。等。2.2 求三角形求三角形现在学习的是第21页,共47页2.2 求三角形求三角形是是指指系系统统预预定定义义的的保保留留标标识识符符,又又称称保保留留字字。它它们们有有特特定定含含义义,不不能能再作其它用途。再作其它用途。ANSI CANSI C定义的关键字共定义的关键字共3232个个 autodoubleintstructbreakelselongswitchcaseenumregistertypedefcharexternreturnunionconstfloatshortunsignedcontinueforsignedvoiddefaultgotosizeofvolatiledoifwhilestatic2.关键字关键字现在学习的是第22页,共47页2.2 求三角形求三角形类型类型 变量名变量名=初值初值,变量名,变量名=初值初值,;例如:例如:char a;float f;double x,y,min;int m,n=3,w=5;【注意注意】不能用关键字做变量名;在一个函数中,同一个不能用关键字做变量名;在一个函数中,同一个变量不能被定义两次;变量未赋值时其值是随机的。变量不能被定义两次;变量未赋值时其值是随机的。3.变量的定义和初始化变量的定义和初始化现在学习的是第23页,共47页2.2 求三角形求三角形2.2.4 函数函数 C语言中提供许多事先编好的函数,供用户使用,如例语言中提供许多事先编好的函数,供用户使用,如例2-2的求的求平方根函数平方根函数sqrt()。用户调用库函数时,要用户调用库函数时,要#include命令将函数所在的头文件包命令将函数所在的头文件包含到程序中。含到程序中。常用的数学库函数有:常用的数学库函数有:1.绝对值函数绝对值函数fabs(x)2.平方根函数平方根函数sqrt(x)3.幂函数幂函数pow(x,n)4.以以e为底的对数函数为底的对数函数loge(x)5.指数函数指数函数exp(x)现在学习的是第24页,共47页 例例 2-3 2-3 计算银行存款的本息,输入存款金额计算银行存款的本息,输入存款金额moneymoney、存期、存期yearyear和年利和年利率率rate,rate,根据公式计算存款到期时的本息合计根据公式计算存款到期时的本息合计sumsum,输出时保留两,输出时保留两位小数。注:位小数。注:现在学习的是第25页,共47页 程序代码程序代码#include#include#include#include void main()void main()int money,year;/int money,year;/定义相关变量定义相关变量 float rate,sum float rate,sum;printf(printf(“Enter moneyEnter money:”);/);/提示输入提示输入moneymoney scanf(scanf(“%d%d”,&money);/money);/调用调用scanf()scanf()函数输入函数输入moneymoney printf(printf(“Enter yearEnter year:”););scanf(scanf(“%d%d”,&year);year);printf(printf(“Enter rateEnter rate:”););scanf(scanf(“%f%f”,&rate);rate);sum=money*sum=money*powpow(1+rate),year);/(1+rate),year);/调用调用POW()POW()函数计算函数计算sumsum printf(printf(“sum=%sum=%.2.2f fnn”,sum);,sum);现在学习的是第26页,共47页2.3 整数逆序输出整数逆序输出2.3.12.3.12.3.12.3.1 程序解析程序解析程序解析程序解析 例例 2-4 2-4 输入一个两位整数,要求将该数逆序输出输入一个两位整数,要求将该数逆序输出#include#include void main()void main()int a,b;/b int a,b;/b表示表示a a的逆序的逆序 int x,y int x,y;/x/x和和y y分别表示分别表示a a的个位数和十位数的个位数和十位数 printf(printf(“请输入一个两位数:请输入一个两位数:”););scanf(scanf(“%2 2d d”,&a);/%2da);/%2d表示输入两位整数表示输入两位整数 x=a%10;/x=a%10;/求求a a的个位数的个位数 y=a/10;/y=a/10;/求求a a的十位数的十位数 b=10*x+y;/b=10*x+y;/组成新数组成新数b b printf(printf(“a=%d b=%dna=%d b=%dn”,a,b);,a,b);现在学习的是第27页,共47页2.32.3 整数逆序输出整数逆序输出1.1.基本算术运算符基本算术运算符(+(+加加 减减 *乘乘 /除除%求余求余)(1)(1)运运算算符符%仅仅用用于于整整型型数数据据的的运运算算,a%ba%b的的结结果果为为a a除除以以b b的的余余数数,余余数数的的符号与被除数相同符号与被除数相同。(2)(2)运运算算符符+、-、*、/的的操操作作对对象象可可以以是是整整数数,也也可可以以是是实实数数。当当操操作作对对象象均均是是整整数数时时,结结果果仍仍是是整整数数;若若两两个个操操作作对对象象中中有有一一个个是是实实数数,则则结果为结果为doubledouble型。型。(3)(3)当当两两个个整整数数相相除除时时结结果果为为整整数数。但但是是如如果果除除数数或或被被除除数数中中有有一一个个为为负负数数,则则舍舍入入的的方方向向是是不不固固定定的的。多多数数机机器器采采取取“向向零零取取整整”方方法,即法,即-5/3=-1-5/3=-1,取整后向零靠拢取整后向零靠拢。2.3.2 2.3.2 算术运算算术运算现在学习的是第28页,共47页2.3 2.3 整数逆序输出整数逆序输出表达式是由常量、变量、函数和运算符构成的式子。表达式是由常量、变量、函数和运算符构成的式子。(1)(1)算术表达式定义算术表达式定义由由算算术术运运算算符符、括括号号以以及及操操作作对对象象组组成成的的符符合合C C语语言言语语法法规规则则的表达式称为算术表达式。如的表达式称为算术表达式。如a+b-c/d*(a-c)a+b-c/d*(a-c)。(2)(2)优先级和结合性优先级和结合性在在表表达达式式求求值值时时,先先按按运运算算符符优优先先级级别别高高低低次次序序执执行行。若若一一个个运运算算对对象象两两侧侧的的运运算算符符的的优优先先级级别别相相同同,如如a-b+ca-b+c,则则按按规规定定的的“结结合合方向方向”处理。处理。算算术术运运算算符符的的结结合合方方向向为为“自自左左至至右右”,又又称称为为左左结结合合性性,即即先先左左后右,因此先执行后右,因此先执行a-ba-b的运算,再执行加的运算,再执行加c c的运算。的运算。2.算术表达式及其优先性和结合性算术表达式及其优先性和结合性现在学习的是第29页,共47页2.3 2.3 整数逆序输出整数逆序输出自增运算符自增运算符+既可以放在操作数前,也可以放在操作数后,操作对象只既可以放在操作数前,也可以放在操作数后,操作对象只能是变量,不能是常量或表达式。能是变量,不能是常量或表达式。如如i+i+,i-i-/*/*表示在使用表示在使用i i值之后将值之后将i i的值加的值加(减减)1*/)1*/+i+i,-i -i /*/*表示在使用表示在使用i i值之前将值之前将i i的值加的值加(减减)1*/)1*/例如:设例如:设i i的原值为的原值为5 5j=i+;j=i+;/*/*先将先将i i赋给赋给j j,i i再自增再自增1 1,i i的值为的值为6 6,j j的值为的值为5*/5*/j=+i;j=+i;/*/*先将先将i i的值自增的值自增1 1,再赋给,再赋给j j,i i的值为的值为6 6,j j的值为的值为6*/6*/3.自增自增+、自减、自减-运算符运算符现在学习的是第30页,共47页2.3 2.3 整数逆序输出整数逆序输出(1)(1)自自增增自自减减运运算算符符的的优优先先级级高高,和和单单目目运运算算符符相相同同。其其结结合合方方向向自自是是“自自右右向向左左”(右右结结合合性性)。考考虑虑表表达达式式-i+-i+,由由于于“-”和和“+”优优先级相同,均为右结合性,因此相当于先级相同,均为右结合性,因此相当于-(i+)-(i+)。(2)(2)自自增增自自减减运运算算符符给给程程序序员员带带来来方方便便,但但同同时时也也带带来来副副作作用用。例例如如,“printf(%d,%dn,i,i+);printf(%d,%dn,i,i+);”在在不不同同编编译译环环境境下下结结果果有有可可能能不不同同。若若i i的值为的值为3 3,则结果,则结果VCVC是是“3,33,3”,TCTC是是“4,34,3”。(3)(3)C C编编译译在在处处理理时时尽尽可可能能多多地地自自左左而而右右将将若若干干个个字字符符组组成成一一个个运运算算符,如符,如i+ji+j,将解释为,将解释为(i+)+j(i+)+j,而不是,而不是i+(+j)i+(+j)。现在学习的是第31页,共47页2.3 2.3 整数逆序输出整数逆序输出1.1.赋值运算符赋值运算符 =C C语语言言中中,赋赋值值被被认认为为是是一一种种运运算算,由由赋赋值值运运算算符符将将一一个个变变量量和和一一个个表达式连接起来的式子称为赋值表达式。形式是:表达式连接起来的式子称为赋值表达式。形式是:变量变量变量变量=表达式表达式表达式表达式赋值表达式的值也可以再赋给其它变量,如赋值表达式的值也可以再赋给其它变量,如a=(b=3+5)a=(b=3+5)。【注注意意】赋赋值值运运算算符符“=”不不同同于于数数学学中中使使用用的的符符号号,它它没没有有“相相等等”的的含含义义。如如果果赋赋值值运运算算符符两两侧侧的的数数据据类类型型不不同同时时,在在赋赋值值时时要要进行类型转换。进行类型转换。2.3.3 赋值运算赋值运算现在学习的是第32页,共47页2.3 2.3 整数逆序输出整数逆序输出2.复合赋值运算符复合赋值运算符C语语言言允允许许在在赋赋值值运运算算符符“=”之之前前加加上上其其他他运运算算符符以以构构成成复复合合赋赋值运算符。值运算符。+=,-=,*=,/=,%=,=,&=,=,|=例例:a+=5;等价于等价于a=a+5;a*=b+5;等价于等价于 a=a*(b+5);a%=5;等价于等价于 a=a%5;3.优先级和结合性优先级和结合性赋赋值值运运算算符符和和复复合合赋赋值值运运算算符符优优先先级级相相同同,只只高高于于逗逗号号运运算算符符,右右结合。结合。现在学习的是第33页,共47页2.3 2.3 整数逆序输出整数逆序输出【例【例2-5】分析下面程序的运行结果】分析下面程序的运行结果#include main()int a=12;a+=a-=a*a;printf(%d n,a);现在学习的是第34页,共47页2.3 2.3 整数逆序输出整数逆序输出1.逗号运算符逗号运算符 ,其一般形式为:其一般形式为:表达式表达式1,表达式,表达式2逗逗号号表表达达式式的的求求值值过过程程是是:先先求求表表达达式式1的的值值,再再求求表表达达式式2的的值值,表表达达式式2的值就是整个逗号表达式的值。的值就是整个逗号表达式的值。一个逗号表达式与另一个表达式构成一个新的逗号表达式。一个逗号表达式与另一个表达式构成一个新的逗号表达式。例如:例如:(a=5-3,a*5),a+15逗号表达式的一般形式可以扩展为:逗号表达式的一般形式可以扩展为:表达式表达式1,表达式,表达式2,表达式,表达式3,表达式,表达式n2.3.4 逗号运算逗号运算现在学习的是第35页,共47页2.3 2.3 整数逆序输出整数逆序输出2.优先级和结合性优先级和结合性逗号运算符是所有运算符中级别最低的。逗号运算符是所有运算符中级别最低的。逗号表达式的结合性为自左向右的。逗号表达式的结合性为自左向右的。【注意】并不是任何地方出现的逗号都是作为逗号运算符。【注意】并不是任何地方出现的逗号都是作为逗号运算符。【练习】分析下面程序的运行结果练习】分析下面程序的运行结果#include main()int a=5,b=6,c=1;printf(%d%dn,(+a,b+),c+2);现在学习的是第36页,共47页2.4 四舍五入运算四舍五入运算2.4.12.4.12.4.12.4.1 程序解析程序解析程序解析程序解析 例例 2-6 2-6 通通过过键键盘盘输输入入一一个个实实数数,要要求求按按四四舍舍五五入入的的规规则则保保留两位小数并输出。留两位小数并输出。程序代码程序代码#include#include void main()void main()float x,y float x,y;printf(printf(“请输入一个小数:请输入一个小数:”););scanf(scanf(“%f%f”,&x);,&x);y=y=(int)(int)(x*100+0.5)/100.0;(x*100+0.5)/100.0;printf(printf(“x=%f,y=%fx=%f,y=%fnn”,x,y);,x,y);现在学习的是第37页,共47页2.4 四舍五入运算四舍五入运算2.4.2 数据类型转换 1.类型自动转换转换规则 高 double float long unsigned 低 int char,short 图中横向向左的箭头表示必定的转换,纵向的图中横向向左的箭头表示必定的转换,纵向的箭头表示当运算对象为不同类型时转换的方向。箭头表示当运算对象为不同类型时转换的方向。现在学习的是第38页,共47页2.4 四舍五入运算四舍五入运算2.赋值类型转换赋值类型转换(1)(1)当整数赋给浮点型变量,数值不变,但有效位增加。当整数赋给浮点型变量,数值不变,但有效位增加。(2)(2)当单、双精度型数据赋给整型变量,小数部分将被舍弃。当单、双精度型数据赋给整型变量,小数部分将被舍弃。(3)(3)将将字字符符型型数数据据赋赋给给整整型型变变量量时时,由由于于字字符符占占一一个个字字节节,整整型型变变量量4 4个个字字节节,故将字符数据放到整型变量低故将字符数据放到整型变量低8 8位中。位中。将将unsigned unsigned charchar型型数数据据赋赋给给unsigned unsigned intint或或intint型型变变量量时时,高高2424位位补补0 0。将将charchar型型数数据据赋赋给给unsigned unsigned intint或或intint型型变变量量时时,高高2424位位补补上上符符号号位位。(若若字字符符值值最最高高位位为为0 0,则则高高2424位位补补0 0;若若字字符符值值最最高高位位为为1 1,则高,则高2424位全补位全补1)1)现在学习的是第39页,共47页2.4 数据类型转换数据类型转换2.4.2 赋值类型转换赋值类型转换(1)(1)当整数赋给浮点型变量,数值不变,但有效位增加。当整数赋给浮点型变量,数值不变,但有效位增加。(2)(2)当单、双精度型数据赋给整型变量,小数部分将被舍弃。当单、双精度型数据赋给整型变量,小数部分将被舍弃。(3)(3)将将字字符符型型数数据据赋赋给给整整型型变变量量时时,由由于于字字符符占占一一个个字字节节,整整型型变变量量4 4个个字节,故将字符数据放到整型变量低字节,故将字符数据放到整型变量低8 8位中。位中。将将unsigned unsigned charchar型型数数据据赋赋给给unsigned unsigned intint或或intint型型变变量量时时,高高2424位位补补0 0。将将charchar型型数数据据赋赋给给unsigned unsigned intint或或intint型型变变量量时时,高高2424位位补补上上符符号号位位。(若若字字符符值值最最高高位位为为0 0,则则高高2424位位补补0 0;若若字字符符值值最最高高位位为为1 1,则则高高2424位全补位全补1)1)现在学习的是第40页,共47页【例【例2-7】分析下面程序的运行结果】分析下面程序的运行结果#include main()unsigned char a;char b;unsigned int x;int y;a=0 xfe;x=a;y=a;printf(%x%xn,x,y);b=0 x7e;x=b;y=b;printf(%x%xn,x,y);b=0 xfe;x=b;y=b;printf(%x%xn,x,y);2.4 四舍五入运算四舍五入运算现在学习的是第41页,共47页2.4 四舍五入运算四舍五入运算(4)(4)当长度长的整数赋给长度短变量时,将进行截断赋值。当长度长的整数赋给长度短变量时,将进行截断赋值。(5)当整型数据赋给长度相同的变量时,将进行原样赋值。当整型数据赋给长度相同的变量时,将进行原样赋值。【例【例2-8】分析下面程序的运行结果。】分析下面程序的运行结果。#include main()unsigned short a;short b;unsigned long x;x=0 x6a8b5cfd;a=x;b=x;printf(“%x%xn”,a,b);现在学习的是第42页,共47页2.4 四舍五入运算四舍五入运算3 3.强制类型转换强制类型转换 (类型名类型名)(表达式表达式)作用:作用:设计四舍五入算法,例如将一个实数保留两位小数:设设计四舍五入算法,例如将一个实数保留两位小数:设f为考虑的实数,则为考虑的实数,则(int)(100*f+0.5)/100.0即可实现该算法。即可实现该算法。注意注意(1)(类型名类型名)是运算符,是运算符,表达式一般用括号括起来。表达式一般用括号括起来。(2)经强制类型转换后,得到的是一个所需类型的中间数据,原来变量经强制类型转换后,得到的是一个所需类型的中间数据,原来变量类型不变类型不变现在学习的是第43页,共47页2.5 综合应用实综合应用实例例 【例【例2-9】分析下面程序的运行结果。】分析下面程序的运行结果。#include void main()int x,y;x=40;y=(x=x-4,x%7);printf(y=%dn,y);现在学习的是第44页,共47页2.5 综合应用实综合应用实例例【例【例2

    注意事项

    本文(第2章 基本数据类型优秀PPT.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  

    收起
    展开