[2-2]数据类型与表达式答辩.ppt

  1. 1、本文档共84页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * 能背下优先级表的人凤毛麟角 脑细胞太宝贵了,不能用来死记硬背 用括号来控制运算顺序更直观、方便,并减少出错的概率 先算乘除,后算加减,有括号就先算括号里的 括号太多,有时候不清晰 注意用空格做好分隔 实在不行就拆分表达式 表达式求值过程 自动类型转换 取值范围小的类型赋值给取值范围大的类型是安全的 目的:保证数据在处理过程中,不会产生丢失现象,保证数据的正确处理 实数在运算时,为了提高数据进度,全部以double格式参与计算。 如:float x=90.87+67.78;(warning) 自动类型转换 相同类型数据的运算结果,还是该类型 不同类型数据的运算结果,是两种类型中取值范围大的那种 double float int short char double float unsigned int char,short 低 高 (1)程序1 main() { int d; d=1/3*3.0; printf(d=%d\n,d); } (1)程序2 main() { int d; d=1.0/3*3; printf(d=%d\n,d); } (1)程序3 main() { int d; d=1*3/3; printf(d=%d\n,d); } d=? d=? d=? 【例2-4】:给出并分析下面三段程序的输出结果 0 1 1 Example: int x = 10.67; float y; y = (float)x; (float)10 10.000000 x 10 y ?? 10.000000 类型强转 通过下面方式把表达式的值转为任意类型     (类型)表达式 不改变x float x=98.87; float y=-67.34; int h=x; printf(“%d ”,h); h=y; printf(“%d ”,h); int x=9-0; printf(%d ,x); x=0+9; printf(%d ,x); printf(%f ,x+70.888); 逗号表达式 1.逗号运算符(顺序求值运算符) :即“,” 优先级:为所有运算符中级别最低的 2.逗号表达式 形式:表达式1,表达式2,……表达式n 求解过程:顺次求解表达式1,表达式2…… 最后求解表达式n 逗号表达式的值为: 表达式n的值 多数情况下,并不使用整个逗号表达式的值,更常见的情况是要分别得到各表达式的值 主要用在循环语句中,同时对多个变量赋初值等 for(i = 0,j =0; ij; i++,j++) 逗号表达式 #include stdio.h main() { int a=2,b=4,c=6,x,y; y=((x=a+b),(x+c)); printf(x=%d y=%d\n,x,y); } 【例2-5】逗号表达式的应用 x=6 y=12 如果去掉最外层的括号呢? 讲解:p59-14\15\16\13 2.4 基本输入输出 格式化输出 printf(格式串,[输出项列表]); 输出项列表 = 参数1,参数2,参数3,…… 一. 格式串 1. 原样输出的普通字符 2. 转义字符 3. 格式控制字符 格式输入输出函数 格式输出函数 printf() 格式输入函数 scanf() 格式输出函数 格式 printf(格式控制字符串, 输出项表列); printf(a=%d b=%f, a, b); 可以输出若干任意类型的数据 函数名 可选输 出表列 普通字符 格式 说明符 d,i x,X o u c s e,E f g %% 小结 十六进制无符号整数 不带符号十进制整数 十进制整数 指数形式浮点小数 单一字符 字符串 八进制无符号整数 小数形式浮点小数 e和f中较短一种 百分号本身 int a=-3;printf ( “%d”,a); int a=-3;printf(“%x”,a); int a=-3;printf(“%o”,a); int a=-3;printf(“%u”,a); char a=65;printf(“%c”,a); printf(“%s”,“ABC”); float a=567.789;printf(“%e”,a); float a=567.789;printf(“%f”,a); float a=567.789;printf(“%g”,a); printf(“%%”); -3 fffffffd 37777777775 4294967293 A ABC 5.677890e

文档评论(0)

***** + 关注
实名认证
内容提供者

我是自由职业者,从事文档的创作工作。

1亿VIP精品文档

相关文档