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

    C04第2章数字化信息编码与C语言数据类型.ppt

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

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

    C04第2章数字化信息编码与C语言数据类型.ppt

    新编C语言程序设计教程 清华大学出版社周二强 软件学院 计算机科学与工程系配套视频:配套视频: 博客:博客:数字化信息编码与 C语言的数据类型u2.3 2.3 整型整型2.3.1 整型的分类2.3.2 整型字面量2.3.3 整型的输入输出u2.4 2.4 浮点型浮点型2.4.1 浮点型的取值范围和精度 2.4.2 浮点型的分类2.4.3 浮点型字面量和浮点型数据的输入输出u2.5 2.5 字符型字符型2.5.1 字符型数据的编码2.5.2 字符型字面量2.5.3 字符型数据的输入和输出2.3.1 整型的分类 整型的基本整型的基本类类型符型符为为intint。整型的整型的编码长编码长度通常是一个机器字。在早期的度通常是一个机器字。在早期的1616位机器如位机器如IBM PcIBM Pc机机上,整型(上,整型(intint)用)用2 2个字个字节编码节编码,取,取值值范范围为围为-2-215152 21515-1-1即即-32768-327683276732767;而在;而在3232位机器上,整型(位机器上,整型(intint)用)用4 4个字个字节编码节编码,取,取值值范范围为围为-2 231312 23131-1,-1,即即-2147483648-214748364821474836472147483647。编码长度相对比较固定的整型short int short int 类型(短整型),可简写为类型(短整型),可简写为short,short,编码长度为编码长度为2 2个字节个字节,取值范围取值范围-32768-327683276732767。long int long int 类型(长整型),可简写为类型(长整型),可简写为 long long,编码长度为,编码长度为4 4个字节,个字节,取值范围取值范围-2147483648-214748364821474836472147483647。严格地说,整型只有两类严格地说,整型只有两类short int short int 和和long intlong int,intint与系统相关,与系统相关,但仅相当于其中的一个。但仅相当于其中的一个。VC6.0VC6.0中,中,intint的编码长度是的编码长度是4 4个字节,与个字节,与long intlong int等价。等价。“无符号”整型修饰符修饰符unsignedunsigned加在整型前面就变成了加在整型前面就变成了“无符号无符号”整型。整型。所谓所谓“无符号无符号”整型,就是编码中取消了符号位,全部为数值位,因此整型,就是编码中取消了符号位,全部为数值位,因此“无符号无符号”整型虽然不能编码负数,但是,它可以编码的正数的范围扩大了整型虽然不能编码负数,但是,它可以编码的正数的范围扩大了一倍。一倍。无符号整型有哪些呢?无符号整型有哪些呢?“无符号”整型unsignedunsigned short short int int(无无符符号号短短整整型型),简简写写为为unsinged unsinged shortshort,编编码长码长度度2 2个字个字节节不不变变,取,取值值范范围围0 02 21616-1-1(6553565535)。)。unsigned unsigned long long int(int(无无符符号号长长整整型型),简简写写为为unsinged unsinged longlong,编编码码长长度度4 4个字个字节节不不变变,取,取值值范范围围0 02 23232-1-1(42949672954294967295)。)。unsigned int(unsigned int(无符号整型无符号整型),等价于上面两个中的一个。,等价于上面两个中的一个。如何选择变量的类型?数据的运算结果超出取值范围时就会因溢出而出错数据的运算结果超出取值范围时就会因溢出而出错长整型的变量存储取值范围很小的数据又会造成内存空间的浪费长整型的变量存储取值范围很小的数据又会造成内存空间的浪费return 2.3.2 整型字面量 所谓字面量是指在编码的时候就已经确定的量。一个整数如所谓字面量是指在编码的时候就已经确定的量。一个整数如2323就是就是一个整型字面量。一个整型字面量。整型字面量默认也是有类型的整型字面量默认也是有类型的 如果整型字面量的值在如果整型字面量的值在-32768-327683276732767范围内,则认为其是范围内,则认为其是shortshort型型的;如果整型字面量的值超过了上述范围,而在的;如果整型字面量的值超过了上述范围,而在-214783648-21478364821474836472147483647范围内,则认为其是范围内,则认为其是longlong型的。型的。整数字面量的后缀字面量加上后缀字面量加上后缀l l或或L L后被认为是长整型。,如后被认为是长整型。,如2323默认为是默认为是shortshort型的,型的,占两个字节,而占两个字节,而23L23L则是则是longlong型的,占型的,占4 4个字节。个字节。整型字面量可以加上后缀整型字面量可以加上后缀u u或或U U,表示它的类型为,表示它的类型为unsinged intunsinged int(无(无符号整型)。整型字面量还可以加上符号整型)。整型字面量还可以加上u u和和l l两后缀(次序、大小写不限)两后缀(次序、大小写不限),表示该字面量为无符号长整型。,表示该字面量为无符号长整型。整数字面量的注意事项一,整型字面量究竟是何类型通常与编译系统相关,如字面量一,整型字面量究竟是何类型通常与编译系统相关,如字面量-1-1在在TCTC中中通常认为是通常认为是shortshort型,而在型,而在VCVC中通常认为是中通常认为是longlong型的。型的。二,如果有初始化语句二,如果有初始化语句unsinged short i=-1u;unsinged short i=-1u;,则则-1-1会先转换成会先转换成1111 1111 1111 11111111 1111 1111 1111的补码形式,然后的补码形式,然后-1-1的补码形式的补码形式会存储到变量会存储到变量i i标示的存储空间,即标示的存储空间,即i i的值是的值是6553565535。这条语句也可写作。这条语句也可写作unsinged short i=-1;unsinged short i=-1;。语句语句short i=-1u;short i=-1u;和语句和语句short i=65535;short i=65535;均应这样理解。均应这样理解。整数字面量的注意事项三,在类型转换和表达式求值时,要特别注意字面量的类型,如:三,在类型转换和表达式求值时,要特别注意字面量的类型,如:-1u-231u-23的结果的结果-1u-1u是是shortshort型无符号数时其值为型无符号数时其值为65535,65535,因此因此-1u-23-1u-23结果为结果为6551265512,大于大于0 0,而,而-1-23-1-23的结果为的结果为-24-24小于小于0 0。整型字面量的进制在在C C语言中,使用前缀来标明一个整型字面量的进制。语言中,使用前缀来标明一个整型字面量的进制。前缀为前缀为“0”“0”的整数是八进制数如的整数是八进制数如027027为十进制的为十进制的2323;前缀为前缀为“0 x”“0 x”或或“0X”“0X”的整数是十六进制数如的整数是十六进制数如0 x170 x17为十进制的为十进制的23 23。十进制整数的前缀为空,即无前缀。十进制整数的前缀为空,即无前缀。如:语句如:语句int i=027,j=0 x17,k=0X17;int i=027,j=0 x17,k=0X17;定义了三个变量定义了三个变量i i、j j、k k,而且它们的值都被初始化为而且它们的值都被初始化为2323了。了。return2.3.3 整型的输入输出 利用格式符串利用格式符串%d%d可以输出整型变量的值,也可把数据赋值给整可以输出整型变量的值,也可把数据赋值给整型变量。型变量。利用格式字符利用格式字符d d使用语句使用语句scanf(scanf(%d%d ,&a);,&a);把类似把类似031031这样的八这样的八进制字面量正确赋值给变量进制字面量正确赋值给变量a a可以吗?可以吗?行不通!格式字符行不通!格式字符d d只能用来输入或输出有符号的十进制整数只能用来输入或输出有符号的十进制整数与整型相关的常用格式字符还有与整型相关的常用格式字符还有i i、u u、o o、x x、X X。整型的格式字符前面可以加一个附加格式说明符整型的格式字符前面可以加一个附加格式说明符l l或或h h。l l用于用于长整型输入或输出;长整型输入或输出;h h用于短整型的输入或输出。一般地,用于短整型的输入或输出。一般地,intint型型用用d d,shortshort型用型用hdhd,longlong型用型用ldld。与整型相关的常用格式字符格式字符格式字符i i与格式字符与格式字符d d的作用相同。的作用相同。格式字符格式字符u u以无符号数编码格式来输入或输出十进制整数。注意:在利用格以无符号数编码格式来输入或输出十进制整数。注意:在利用格式符串式符串%u%u输入数据遇到负数时,仅仅把负数的补码存储到相关内存单元。输入数据遇到负数时,仅仅把负数的补码存储到相关内存单元。如:如:unsigned short i;scanf(unsigned short i;scanf(%hu%hu,&i);,&i);输入输入-1-1回车,则变量回车,则变量i i的状态的状态为为1616个个1,-11,-1的补码!与语句的补码!与语句unsinged short i=-1;unsinged short i=-1;处理方式类似。处理方式类似。函数printf的输出利用格式符串利用格式符串%u%u输出时,相关数据会以无符号数编码格式输出,如输出时,相关数据会以无符号数编码格式输出,如unsigned short i=-1;unsigned short i=-1;printf(printf(%hu,%hu%hu,%hu,-1,i);,-1,i);语句的输出为语句的输出为65535,6553565535,65535。注意:注意:函数函数printfprintf在输出数据时,只根据其格式字符串解释相关内存在输出数据时,只根据其格式字符串解释相关内存单元的编码格式!单元的编码格式!如:如:unsigned long l=-1;printf(unsigned long l=-1;printf(%d,%hu%d,%hu,l,l);,l,l);则输出为:则输出为:格式字符o格式字符格式字符o o以无符号数编码格式八进制整数形式输入或输出数据。格式以无符号数编码格式八进制整数形式输入或输出数据。格式字符字符o o把用户输入的数据看作八进制整数,因此可以简单地理解为它先把把用户输入的数据看作八进制整数,因此可以简单地理解为它先把输入数据转换为十进制整数,然后再按无符号数编码格式处理。计算机输入数据转换为十进制整数,然后再按无符号数编码格式处理。计算机中只存储整型数据的二进制补码形式。中只存储整型数据的二进制补码形式。对于语句对于语句scanf(scanf(%ho%ho%ho%ho,&i,&j);,&i,&j);,当输入,当输入23-2323-23时,时,等价于有语句等价于有语句scanf(scanf(%hu%hu%hu%hu,&i,&j);,&i,&j);时输入时输入19-1919-19。printf(printf(%h%ho o,%h,%ho o,-1,23);,-1,23);语句的输出为语句的输出为177777,27177777,27。格式字符x和X格式字符格式字符x x和和X X以无符号数编码格式十六进制整数形式输入或输出数据,以无符号数编码格式十六进制整数形式输入或输出数据,x x和和X X的区别在于输出时整数中的字母(的区别在于输出时整数中的字母(a af f)是小写()是小写(x x时)还是大写时)还是大写(X X时)。时)。对于语句对于语句scanf(scanf(%hx%hx%hx%hx,&i,&j);,&i,&j);,当输入,当输入23-2323-23时,等价于有语时,等价于有语句句scanf(scanf(%hu%hu%hu%hu,&i,&j);,&i,&j);时输入时输入35-3535-35。printf(printf(%lx,%hX%lx,%hX,-1L,27);,-1L,27);语句的输出为语句的输出为ffffffff,1Bffffffff,1B。例2-8 整型数据的输入和输出程序分析scanf(%hd%ho%hx,&i,&j,&k);scanf(%hd%ho%hx,&i,&j,&k);23 23 2323 23 23(回车)(回车)三个三个2323分别被理解为十进制的、八进制的和十六进制的分别被理解为十进制的、八进制的和十六进制的23,23,变量变量i i、j j和和k k的值分别为十进制的的值分别为十进制的2323、1919和和3535,它们所标示的存储空间中分别存放着,它们所标示的存储空间中分别存放着十进制的十进制的2323、1919和和3535的补码:的补码:0000 0000 0001 01110000 0000 0001 0111、0000 0000 0001 0000 0000 0001 00110011和和0000 0000 0010 00110000 0000 0010 0011。printf(i=%hd,j=%hd,k=%hdn,i,j,k);printf(i=%hd,j=%hd,k=%hdn,i,j,k);printf(i=%hu,j=%ho,k=%hxn,i,j,k);printf(i=%hu,j=%ho,k=%hxn,i,j,k);例2-8 整型数据的输入和输出程序分析scanf(%hd%ho%hx,&i,&j,&k);scanf(%hd%ho%hx,&i,&j,&k);-23-23-23-23-23-23(回车)(回车)因此三个因此三个-23-23分别被理解为十进制的分别被理解为十进制的-23-23、八进制的无符号数、八进制的无符号数-23-23和十六进和十六进制的无符号数制的无符号数-23-23。与用负数初始化无符号变量的处理方式类似,此时只是。与用负数初始化无符号变量的处理方式类似,此时只是把负数转换成补码形式并存储到相关的变量中,因此变量把负数转换成补码形式并存储到相关的变量中,因此变量i i、j j和和k k所标示的所标示的存储空间中分别存放着十进制数存储空间中分别存放着十进制数-23-23、-19-19和和-35-35的补码:的补码:1111 1111 1110 1111 1111 1110 10011001、1111 1111 1110 11011111 1111 1110 1101和和1111 1111 1101 11011111 1111 1101 1101。printf(i=%hd,j=%hd,k=%hdn,i,j,k);printf(i=%hd,j=%hd,k=%hdn,i,j,k);printf(i=%hu,j=%ho,k=%hxn,i,j,k);printf(i=%hu,j=%ho,k=%hxn,i,j,k);注意在用在用scanfscanf函数输入多个数据时,数据之间默认以空格、制表符函数输入多个数据时,数据之间默认以空格、制表符(TabTab键)或回车分隔,如果格式字符串之间有其它字符,则约定数键)或回车分隔,如果格式字符串之间有其它字符,则约定数据之间以该字符为分隔,如格式字符串为据之间以该字符为分隔,如格式字符串为%d,%d%d,%d时,数据的输入形时,数据的输入形式应为式应为23,2323,23回车。回车。return2.4.1 浮点型的取值范围和有效数字 C C语言中的浮点型对应于浮点数用于定义存储小数的变量。语言中的浮点型对应于浮点数用于定义存储小数的变量。C C语言中将编码长度为语言中将编码长度为4 4个字节的浮点数称为个字节的浮点数称为floatfloat型。下面以节中介绍型。下面以节中介绍的浮点数为例估算一下的浮点数为例估算一下floatfloat型浮点数的取值范围和有效数字。型浮点数的取值范围和有效数字。floatfloat型浮点数的阶码占一个字节,取值范围型浮点数的阶码占一个字节,取值范围-128-128127127,因此它的取,因此它的取值范围为值范围为2 2-128-1282 2127127,约为,约为1010-38-3810103838。floatfloat型浮点数的尾数占三个字节,型浮点数的尾数占三个字节,可以精确到二进制小数点后第可以精确到二进制小数点后第2323位(最高位是符号位),即位(最高位是符号位),即2 2-23-23,约为,约为1010-6.9-6.9。因此,它的有效数字为十进制小数点后。因此,它的有效数字为十进制小数点后6 67 7位。位。return2.4.2 C语言中常用的浮点型有两种:float型和double型 C C语言中还有语言中还有long double(long double(长双精度长双精度)浮点型。浮点型。C C语言标准规定语言标准规定long long doubledouble的精度至少与的精度至少与doubledouble相同,相同,VC6.0VC6.0为一个为一个long doublelong double型变量分型变量分配配8 8个字节,而在有些系统则分配个字节,而在有些系统则分配1616个字节。个字节。return2.4.3 浮点型的字面量 浮点型的字面量有两种格式,小数形式和指数形式。浮点型的字面量有两种格式,小数形式和指数形式。小数形式如小数形式如0.250.25,-3.0-3.0等,指数形式用等,指数形式用e e或或E E分隔尾数和阶码如分隔尾数和阶码如-1.23e-2-1.23e-2,0.023E30.023E3等。等。浮点型的字面量通常被认为是双精度数,有其参与的运算时,结果也是一浮点型的字面量通常被认为是双精度数,有其参与的运算时,结果也是一个双精度数,当需要把运算结果存储在一个单精度的浮点型变量中时,只个双精度数,当需要把运算结果存储在一个单精度的浮点型变量中时,只保存也仅能保存其前保存也仅能保存其前7 7位(十进制的位(十进制的7 7位,实际上是二进制的位,实际上是二进制的2323位)。这样位)。这样做可以使计算结果更精确,但运算速度稍低。当程序对精度要求不高时,做可以使计算结果更精确,但运算速度稍低。当程序对精度要求不高时,可以在字面量的后面加字母可以在字面量的后面加字母f f或或F F强制系统把它们按单精度数处理,如强制系统把它们按单精度数处理,如1.23e-2F*2.56789123f1.23e-2F*2.56789123f的积就是单精度的。的积就是单精度的。浮点型数据输入浮点型数据输入时,常用的格式字符有浮点型数据输入时,常用的格式字符有 f f、e e和和E E,它们对应于单精,它们对应于单精度的字面量。度的字面量。前面加一个附加格式说明符前面加一个附加格式说明符l l后,它们则对应于双精度的字面量。后,它们则对应于双精度的字面量。float f;float f;double d;double d;scanf(“%f%e”,&f,&d);?scanf(“%f%e”,&f,&d);?浮点型数据输出浮点型数据可以用两种形式输出:小数形式和指数形浮点型数据可以用两种形式输出:小数形式和指数形式。式。小数形式输出时的格式字符为小数形式输出时的格式字符为f f,此时默认输出,此时默认输出6 6位小位小数。数。指数形式输出时的格式字符为指数形式输出时的格式字符为e e或或E E,两者不同之外在,两者不同之外在于用小写于用小写e e还是大写还是大写E E分隔尾数和阶码。用指数形式输出分隔尾数和阶码。用指数形式输出时,数据为规范的指数形式即尾数的整数部分仅有一位时,数据为规范的指数形式即尾数的整数部分仅有一位且不是且不是0 0。在输出浮点型数据时不区分单双精度。在输出浮点型数据时不区分单双精度。小数形式和指数形式m.n形式的修饰符 可以在可以在%和格式字符之间插入和格式字符之间插入m.nm.n形式的修饰符(如形式的修饰符(如3.2f3.2f)调整输出,)调整输出,m m和和n n应为正整数,应为正整数,m m用于限定输出数据所占的最小宽度,即输出最少用于限定输出数据所占的最小宽度,即输出最少占占m m列。输出数据长度小于列。输出数据长度小于m m,则在左端补空格,则在左端补空格,n n用于指定输出数据用于指定输出数据的小数位数。的小数位数。如如1.23e+0021.23e+002的输出占的输出占9 9列,当列,当m m的值为的值为1111时,输出为时,输出为 “1.23e+002”1.23e+002”;m.nm.n前有减号前有减号-时数据会左对齐输出,此时的输出为时数据会左对齐输出,此时的输出为“1.23e+002 ”1.23e+002 ”。当数据的实际长度大于当数据的实际长度大于m m的值时按实际长度输出,因为的值时按实际长度输出,因为m m仅限定了输仅限定了输出的最小宽度。出的最小宽度。m.n形式的修饰符-m.n-m.n形式的修饰符可以部分使用,形式的修饰符可以部分使用,如如%-5f%-5f表示表示输出的最小宽度为输出的最小宽度为5 5列,实际长度小于列,实际长度小于5 5列时左对齐列时左对齐%.3f%.3f表示表示输出的数据保留输出的数据保留3 3位小数。位小数。另外另外-m-m形式的修饰符可以用于整型数据,作用相同,形式的修饰符可以用于整型数据,作用相同,如如%-5d%-5d表示表示输出整数时最小宽度为输出整数时最小宽度为5 5列,实际长度小于列,实际长度小于5 5列时左对齐。列时左对齐。例2-9 浮点型数据的输入和输出例2-9 浮点型数据的输入和输出使用浮点型变量时,需特别注意误差和精度。return2.5.1 2.5.1 字符型数据的编码字符型数据的编码 字符型数据是非数值型数据,包括各种文字、数字与符号等。字符型数据是非数值型数据,包括各种文字、数字与符号等。和数据型数据一样,字符型数据也需要以数字化信息编码的形式存和数据型数据一样,字符型数据也需要以数字化信息编码的形式存储到计算机中。字符型数据编码时,不仅要考虑编码长度,还要考虑储到计算机中。字符型数据编码时,不仅要考虑编码长度,还要考虑字符如何输入(输入码)、如何存储(机内码)、怎样输出字符的形字符如何输入(输入码)、如何存储(机内码)、怎样输出字符的形状(输出码)。状(输出码)。简单介绍西文字符的机内码。西文字符通常包括:英文字母、数字、简单介绍西文字符的机内码。西文字符通常包括:英文字母、数字、标点符号、运算符号标点符号、运算符号(+,(+,*,/),*,/)等。等。标准化是字符编码的原则规定每个字符对应的二进制串,计算机中需要存储一个字符时就存规定每个字符对应的二进制串,计算机中需要存储一个字符时就存储其对应的二进制串,反之计算机中的这个二进制串如果要解释为字储其对应的二进制串,反之计算机中的这个二进制串如果要解释为字符就输出为该字符。如果都遵照相同的标准,则相互之间就可以准确符就输出为该字符。如果都遵照相同的标准,则相互之间就可以准确地传递文字信息了。地传递文字信息了。西文字符的机内码采用西文字符的机内码采用ASCIIASCII码(码(ASCIIASCII编码表见附录)。编码表见附录)。ASCIIASCII码的码的码长为一个字节,最高为码长为一个字节,最高为0 0,因此,因此ASCIIASCII码可以编码码可以编码128128(2 27 7)个西文字)个西文字符,其中大部分为可打印或可显示字符,一些是控制字符。符,其中大部分为可打印或可显示字符,一些是控制字符。ASCII码return2.5.2 2.5.2 字符型字面量字符型字面量9 9是一个整数,是一个整数,还还是一个字符呢?是一个字符呢?字字符符型型字字面面量量用用一一对对单单撇撇号号括括起起来来表表示示,如如9,A,b,*,(空空格格字字符符)等。等。字字符符型型变变量量的的类类型型说说明明符符为为关关键键字字charchar。语语句句char char c c=9 9;定定义义了了一一个个字字符符型型变变量量c,c,并并初初始始化化为为字字符符9 9的的ASCIIASCII码码,即即变变量量c c所所代代表表的的内内存存单单元元的的存存储储状状态为态为有语句有语句short i=9short i=9;时,变量;时,变量i i所代表的内存单元的存储状态为所代表的内存单元的存储状态为字符型字面量的其它形式单撇号本身该如何办呢?用单撇号本身该如何办呢?用char c=char c=;的形式显然不合适。;的形式显然不合适。此外,此外,ASCIIASCII码中的控制字符在键盘上没有对应键时又该如何输入它码中的控制字符在键盘上没有对应键时又该如何输入它们呢?们呢?字符型字面量的另一种形式是一对单撇号内直接放字符的字符型字面量的另一种形式是一对单撇号内直接放字符的ASCIIASCII码,码,此时,字符的此时,字符的ASCIIASCII码必须以码必须以 开头,后跟该字符的八进制形式的开头,后跟该字符的八进制形式的ASCIIASCII码码,或后跟以或后跟以x x或或X X开头的该字符的十六进制形式的开头的该字符的十六进制形式的ASCIIASCII码。码。还有一种形式是直接给出字符的还有一种形式是直接给出字符的ASCIIASCII码。码。下面几条语句等价 char c=57;char c=57;char c=071;char c=071;char c=0 x39;char c=0 x39;char c=char c=9 9;char c=char c=7171;char c=char c=x39x39;char c=char c=X39X39;表表2-22-2常用的转义序列常用的转义序列字符串字符串简单地理解为用一对双撇号括起来的一串字符型字面量,如字符串简单地理解为用一对双撇号括起来的一串字符型字面量,如 Hello,c!nHello,c!n等。等。注意:注意:printf(“Hello,c!nprintf(“Hello,c!n););与与printf(”Hello,c!12printf(”Hello,c!12););等价。等价。同样,下面几条语句等价:同样,下面几条语句等价:char c=10;char c=10;char c=char c=nn;char c=char c=1212;char c=char c=xaxa;return例例2-102-10字符型数据的输入和输出字符型数据的输入和输出与字符型数据相对应的格式字符为c。回车键注意注意C C语言中通常把回车键解释为换行符(语言中通常把回车键解释为换行符(nn),而非回车符),而非回车符(rr),当输出换行符(),当输出换行符(nn)时,正如前面章节中经常用到的那样,)时,正如前面章节中经常用到的那样,不会显示什么字符只是把当前的输出位置移到下一行的开始处。由于不会显示什么字符只是把当前的输出位置移到下一行的开始处。由于变量变量cdcd的值为的值为nn,因此语句,因此语句printf(ca)%c(cb)%c(cc)%c(cd)%c,printf(ca)%c(cb)%c(cc)%c(cd)%c,ca,cb,cc,cd);ca,cb,cc,cd);与与printf(ca)%c(cb)%c(cc)%c(cd)n,ca,cb,printf(ca)%c(cb)%c(cc)%c(cd)n,ca,cb,cc);cc);等价。等价。整型方式输出字符型数据也可用整型方式输出,字符型数据也可用整型方式输出,printfprintf函数函数把变量所标示的内存把变量所标示的内存单元的内容以整型编码方式解释。变量单元的内容以整型编码方式解释。变量caca存储内容为存储内容为9的的ASCIIASCII码,码,以以%d%d格式输出时为格式输出时为5757。putchar函数和getchar函数 putcharputchar函数的功能是向输出设备输出一个字符。使用时,把欲输出函数的功能是向输出设备输出一个字符。使用时,把欲输出的字符数据作为的字符数据作为putcharputchar函数的输入即可。函数的输入即可。例例2-11 putchar2-11 putchar函数的使用函数的使用getchar函数getchargetchar函数的功能是获得用户输入的一个字符,并把字符的函数的功能是获得用户输入的一个字符,并把字符的ASCIIASCII码作为函数的返回值。码作为函数的返回值。例例2-12 getchar2-12 getchar函数的使用函数的使用注意:程序执行到语句程序执行到语句c=getchar();c=getchar();时,时,getchargetchar函数运行,等待用户函数运行,等待用户输入数据。输入数据。getchargetchar函数只有遇到回车后才返回,因此即使输入函数只有遇到回车后才返回,因此即使输入zzjzzj回回车,车,getchargetchar函数也是返回首个字符函数也是返回首个字符z z,此时程序的输出依然为:,此时程序的输出依然为:z z。例2-13 综合示例return

    注意事项

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

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




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

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

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

    收起
    展开