C程序设计第2章数据类型及表达式.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
常见错误及改正 常见错误及改正 常见错误及改正 常见错误及改正 7. missing function header (old-style formal list?)  缺少函数头(在函数实现代码如main后面加了;就会出现) 8. return a value; void return type assumed    main前少了void  9. local variable x used without having been initialized  本地变量没有初始化就使用了 常见错误及改正 10. 编译与构建时文件名称不同 error LNK2005: _main already defined in aa.obj error LNK2005: double __cdecl max(double,double) (?max@@YANNN@Z) already defined in aa.obj Debug/aa.exe : fatal error LNK1169: one or more multiply defined symbols found 解决办法:关闭工作区-选择否-重新编译、构建 6. 布尔常量 布尔常量的值只有true和false两种。 表达式的书写原则 ⑴ 乘号不能省略。例如,x乘以y,应书写为:x*y,而不能写成xy,这样,编译器会认为xy是一个变量名。 ⑵ 括号必须成对出现,而且只能使用圆括号,表达式中可以出现多个圆括号,但是必须配对出现。 ⑶ 表达式中没有上标或下标,也没有分式。例如变量名x2不能写成x2。 移位运算符----使用示例 常用的数学函数 #include math.h 2、关系表达式 如: char x(‘m’),y(‘n’);int n; n=xy; //n:1 n=x==y-1; //n:1 n=(‘y’!=‘Y’)+(53)+(y-x==1); // n:3 3、逻辑表达式 如: int a(3),b(0); bool c=true; !ca++; //a:3 表达式的值:false a||b++ //b:0 表达式的值:true 注意:C++规定:在一个逻辑表达式中,当计算出一个子表达式的值后便可确定整个逻辑表达式的值时,后面的子表达式就不再计算。 !ca++; //a:4 表达式的值:0 c|b++ //b:1 表达式的值:1 如:4、条件表达式 int a(3),b(4),c; c=ab?++a:++b; //c:5 c=a-b?a+b:a-3?b:a; //c:8 从右向左结合 如:5、赋值表达式 int x(1),y(3),z(5); //从右向左结合 z=(x*=2)+(y+=4)+2; //? (2,7,11) 如:6、逗号表达式 int a,b,c; a=1,b=2,c=a+b+3; //c:6 c=(a++,a+=b,a+b); //c:6 类型转换 问题提出:什么时候、为什么需要类型转换? 进行双目运算时,要求两个操作数的类型必须相同:当运算符两边的操作数的数据类型不一致时,VC++系统要先转换为同一类型,然后再进行运算。 即先转换,再运算,运算结果的类型同操作数的类型。 两种类型转换的方法: ó 自动类型转换、 ó 强制类型转换 表达式中的类型转换 1、隐含转换 一般双目运算中的两个操作数的类型是要一致,不一致则自动将低类型的数据向高类型转换,然后再运算并得到高类型的表达式值。 所谓的类型高低关系如下: short,char-int-long-double,float-double 如:3+4.0 A + 32 + 7.23 * 6 - 5 / 3 int int double double 运算结果的类型为: 2 强制类型转换 (类型名)操作数 或 类型名(操作数) 这也是一个表达式,该表达式的值是把操作数的数据类型强行转换为前面指定的数据类型后的值。 操作数:可以是常量、变量、函数、表达式 若为表达式,则要用括号将表达式括起来 一般形式: 例如: (long)2 (int)4.8 (double)5

文档评论(0)

wuyoujun92 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档