您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 程序设计 基本数据及其运算和输入输出(2-1)
11第第22章章基本数据及其运算基本数据及其运算和输入输出和输入输出zz基本数据类型基本数据类型zz数据运算数据运算zz指针基础指针基础zz数据输入输出基础数据输入输出基础22基本数据类型基本数据类型zz整数型整数型zz字符型字符型zz实数型实数型33基本数据类型基本数据类型11————整型整型zz类型标记类型标记zzintintzzshort[int]short[int]zzlong[int]long[int]zzunsignedunsignedzzsignedsignedzz数值范围数值范围zz和具体计算机有关和具体计算机有关zz例:例:22字节字节intint的表示范围的表示范围zz带符号带符号––221515~~221515––1(1(––3276832768~~32767)32767)zz不带符号不带符号00~~221616––11(0(0~~65535)65535)44整型整型————变量变量zz变量的定义变量的定义zzinti,j;inti,j;zzshortk;shortk;zzlongintm,n;longintm,n;zzunsignedshortintunsignedshortintusiusi;;55整型整型————常量常量zz常量的书写格式常量的书写格式zz十进制十进制zz––32768,3276732768,32767zz八进制八进制zz––0100000,0777770100000,077777zz十六进制十六进制zz––0x8000,0X7FFF0x8000,0X7FFFzz长整数长整数zz123L123Lzz无无符号整数符号整数zz0xFFFFU,35ul0xFFFFU,35ul66整型小结整型小结————66种整数类型种整数类型zz[signed]int[signed]intzz[signed]short[int][signed]short[int]zz[signed]long[int][signed]long[int]zzunsignedintunsignedintzzunsignedshort[int]unsignedshort[int]zzunsignedlong[int]unsignedlong[int]77基本数据类型基本数据类型22————字符型字符型zz类型标记类型标记zzcharcharzzunsignedunsignedzzsignedsignedzz数值范围数值范围zz一般占一个字节一般占一个字节zz可表示可表示2288个字符个字符88字符型字符型————变量变量zz变量的定义变量的定义zzcharc1;charc1;zzunsignedcharc2;unsignedcharc2;zzsignedcharc3;signedcharc3;99字符型字符型————常量常量zz常量的书写格式常量的书写格式zz普通字符普通字符zz'a','A','$','_','','a','A','$','_','',zz特殊字符特殊字符zz''\\n'n'换行符换行符zz''\\t't'制表符制表符zz表表22--1(1(\\\\,,\\',',\\,,\\dddddd,,\\xhhxhh))zz'A''A'、、6565、、''\\101'101'、、''\\x41'x41'zz'0''0'、、4848、、''\\060'060'、、''\\x30'x30'1010表表22--1(P.17)1(P.17)\\nn\a\\tt\\\\\v\\''\b\\\r\\dddddd\f\\xhhxhh1111和字符串的区别和字符串的区别zz字符串字符串————双引号括起来双引号括起来zzCProgramCProgramzzAAzzHelloHello\\tWorldtWorld\\nnzz字符字符————单引号括起来单引号括起来zzc='A';c='A';zzc='c='\\n';n';1212字符型和整型混合运算字符型和整型混合运算zz例例2.12.1字符型数据能与整型数据通用字符型数据能与整型数据通用#include#includestdio.hstdio.hvoidmain()voidmain(){{charc1,c2;charc1,c2;c1=97;c1=97;c2=c1+1;c2=c1+1;printf(c1=%c,c2=%cprintf(c1=%c,c2=%c\\n,c1,c2);n,c1,c2);printf(%c'sprintf(%c'sASCIIcode=%dASCIIcode=%d\\n,c2,c2);n,c2,c2);}}zz运行结果:运行结果:c1=a,c2=bc1=a,c2=bbb’’ssASCIIcode=98ASCIIcode=981313字符型字符型————signed/unsignedsigned/unsignedzzsignedcharc;signedcharc;zz––128=c=127128=c=127zzVCVC中的缺省值中的缺省值zzunsignedcharc;unsignedcharc;zz0=c=2550=c=2551414字符型字符型————小结小结zzcharcharzz存放单个字符存放单个字符zz占占11字节字节zzsignedchar/unsignedcharsignedchar/unsignedcharzz和字符串的区别和字符串的区别zz可作为整型做运算可作为整型做运算1515基本数据类型基本数据类型33————实型实型zz类型标记,数值范围类型标记,数值范围//精度精度zzfloatfloat单精度实型单精度实型zz占占44个字节,一般个字节,一般77个十进制有效数个十进制有效数zz约约10103838约约1010--3838zzdoubledouble双精度实型双精度实型zz占占88个字节,一般个字节,一般1515个十进制有效数个十进制有效数zz约约1010308308约约1010--308308zzlongdoublelongdouble长双精度实型长双精度实型zz占占1616个字节个字节1616实型实型————变量变量zz变量的定义变量的定义zzfloatx,y;floatx,y;zzdoublez;doublez;zzlongdoubleu,v;longdoubleu,v;1717实型实型————常量常量zz常量的书写格式常量的书写格式zz[[--]]整数部分整数部分..小数部分小数部分e/Ee/E指数部分指数部分zz3.141593.14159zz.456.456zz--1.024e31.024e3zz234E234E--55zzfloatfloat型型zz1.5f1.5fzzdoubledouble型型zz1.51.5zzlongdoublelongdouble型型zz1.5L1.5L1818实型的有效精度实型的有效精度zz精度误差精度误差zzfloatx=123456.789floatx=123456.789zzx=x=??zz运算次序运算次序zzx*y/zy/z*xx*y/zy/z*xzz算术比较算术比较zzfabs(xfabs(x--yy)1e)1e--66zzfabs(xfabs(x--yy)=)=fabs(xfabs(x*1e*1e--6)6)1919实实型型————小结小结zz三种实三种实型型zzfloat,double,longdoublefloat,double,longdoublezz存放实数存放实数zz都是带符号的都是带符号的zz实型常量的书写格式实型常量的书写格式zz实型的精度是有限的实型的精度是有限的zz计算机中表示的实数是离散的计算机中表示的实数是离散的zz数学中定义的实数是连续的数学中定义的实数是连续的2020混合运算和隐式类型转换混合运算和隐式类型转换zz两个不同类型的数据混合运算时,需要把其中一两个不同类型的数据混合运算时,需要把其中一种类型转换成另一个类型种类型转换成另一个类型zz这种转换是自动的(隐式的)这种转换是自动的(隐式的)zz转换规则转换规则(P.19)(P.19)zzlongdoublelongdoublezzdoubledoublezzfloatfloatzzunsignedlongintunsignedlongintzzlongintlongintzzunsignedintunsignedintzzintint2121显式类型转换显式类型转换zz显式类型转换(强制类型转换)显式类型转换(强制类型转换)zz((类型名类型名))表达式表达式zz例如:例如:zzc=(float)(5.0/9.0*(fc=(float)(5.0/9.0*(f--32.0));//32.0));//例例1.31.32222双目算术运算双目算术运算zz++zz--zz**zz//zz%%(求余数)(求余数)2323双目算术运算双目算术运算((续续))zz11++6.06.0zz'1''1'--11zz7/47/4整数相除,小数采用去尾法整数相除,小数采用去尾法zzx/yx/y注意注意y=0y=0时,将出现错误时,将出现错误zz5%35%3zz--5%35%3zz--5%5%--33zz5%5%--33zz5.0%35.0%32424单目算术运算单目算术运算zz++++zzi++i++zz++i++izz----zzii----zz----iizz例:例:(i=1;)(i=1;)i++;i++;++i;++i;j=i++;j=i++;j=j=----i;i;2525单目算术运算单目算术运算((续续))zz例:错误形式例:错误形式4++4++(i+j)++(i+j)++zz例:不好的使用方式例:不好的使用方式(i++)+(i++)(i++)+(i++)(++i)+(++i)(++i)+(++i)printf(%d%dprintf(%d%d\\nn,i,i++);,i,i++);i+++ji+++j;;2626算术运算算术运算————优先级优先级zz优先级优先级((详见课本后附表详见课本后附表))zz高高++,--++,--zz中中**,,//,,%%zz低低+,-+,-2727算术运算算术运算————例例zzinti=1,j=2,k=3,n;inti=1,j=2,k=3,n;求下列表达式的值:求下列表达式的值:zzn=k/j*j;n=k/j*j;zzn=1.0*k/j*j;n=1.0*k/j*j;zzn=k/j*j+k%j;n=k/j*j+k%j;zzk=i++;k=i++;zzk=k=----(i+j);(i+j);2828关系运算关系运算zzxyxyzz==x=yx=yzzxyxyzz==x=yx=yzz====x==yx==yzz!=!=x!=yx!=yzz概念:概念:““真真””,,““假假””zz““真真””:条件满足,关系运算表达式的值为:条件满足,关系运算表达式的值为11zz““假假””:条件不满足,关系运算表达式的值为:条件不满足,关系运算表达式的值为002929关系运算关系运算————优先级优先级zz高高zz<,<=,>,>=<,<=,>,>=zz低低zz==,==,!!==zz低于算术运算低于算术运算zz例:例:zzij+1ij+1等价于等价于i(j+1)i(j+1)zzi!=jki!=jk等价于等价于i!=(jk)i!=(jk)3030逻辑运算逻辑运算zz&&&&(逻辑与)(逻辑与)zzA&&BA&&BzzAA和和BB都为都为““真真””时,表达式值为时,表达式值为““真真””zz||||(逻辑或)(逻辑或)zzA||BA||BzzAA或或BB为为““真真””时,表达式值为时,表达式值为““真真””zz!!(逻辑非)(逻辑非)zz!!AAzzAA为为““假假””时,表达式值为时,表达式值为““真真””3131逻辑运算逻辑运算((续续))zzA&&BA&&BzzAA为为00
本文标题:程序设计 基本数据及其运算和输入输出(2-1)
链接地址:https://www.777doc.com/doc-3566089 .html