第3章 C 语言对C语言的扩充.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文档。上传文档
查看更多
第3章 C 语言对C语言的扩充

第3章 C++语言对C语言的扩充 知识体系 本章要点: 3.1 灵活的变量声明 3.2 bool类型 3.3 函数参数的默认值 3.4 函数重载 3.5 函数重载的常见错误 3.6 const限定符 3.7 const修饰指针声明 3.8 使用#define代替函数的原因和漏洞 知识体系: 3.9 inline函数 3.10 一元域运算符:: 3.11 名字空间与二元域运算符:: 3.12 使用using引入标识符和引入名字空间 3.13 类型转换 3.14 new、new[ ]和delete、delete[ ]运算符 3.15 引用概述 3.16 引用参数 3.17 返回引用 3.1灵活的变量声明 在C语言中,程序块中变量的声明必须放在程序块所有执行语句之前。而C++语言的变量声明非常灵活,它允许变量声明和执行语句在程序块中交替出现,只要保证变量声明在变量使用之前就可以。 例如,下面的C++语言程序片段作为C语言程序将不能通过编译。 { int a; a=0; int b;//声明在a=0;之后 b=0; } 值得注意的是,如果在程序中使用goto语句进行跳转时,最好不要跳过变量声明语句。使用goto语句跳过变量声明并初始化的语句是编译错误;使用goto语句跳过没进行初始化的变量声明语句,虽然不是编译错误,但会给阅读者没有声明变量的错觉。 请仔细阅读3.1这个例子: 1 //3.1 goto语句跳过变量声明 2 #includeiostream.h 3 int main() 4 { 5 goto L1; 6 int a;//int a=0;直接初始化将出现编译错误 7 a=0; 8 L1: 9 a=1; 10 couta=aendl; 11 return 0; 12 } 3.2 bool类型 在C++/C语言中,if语句、while语句、for语句和“?:”表达式中要使用条件表达式。条件表达式的值只有“真”和“假”两种可能。由逻辑运算(与、或||、非!)或者关系运算(等于==、不等于!=、大于、大于等于=、小于、小于等于=)构成的表达式属于天然的条件表达式。算术表达式、赋值表达式等作为条件使用时,要把表达式的返回值“转换”为“真”值或“假”值。在做这种“转换”时,把非0数值当成“真”,把0值当成“假”。 如果我们把 if(a==0) { //dosomething; } 误写成 if(a=0) { //dosomething; } 编译不会出现错误,但是if语句后面的程序块在任何情况下都得不到执行。因为a=0是赋值表达式,赋值后返回左值a。a的值是0,就是“假”。 反过来,把条件表达式作为数值参与算术、赋值等运算时,“真”值作为1,“假”值作为0。例如: int a=(53); int b=(53); 这时,a被初始化为1,b被初始化为0。 C++语言为保存“真”、“假”值提供了bool数据类型,称为布尔型。bool型数据可以和int型数据相互转换。非0的int型数据转换为bool型的1(代表“真”),0值的int型数据转换为bool型的0(代表“假”);bool型的1转换为int型后还是1,bool型的0转换为int型后还是0。另外,C++语言还补充了关键字true和false作为bool型常量,分别表示1和0。 程序3.2对上面关于bool型的阐述进行了验证。 1 //3.2 bool类型 2 #includeiostream.h 3 int main() 4 { 5 bool b[5]={0,1,false,true}; 6 7 for(int i=0;i5;++i) 8 coutb[i]=b[i] ; 9 coutendl; 10 11 coutsizeof bool:\tsizeof boolendl; 12 coutsizeof b:\tsizeof bendl; 13 14 b[0]=100; 15 coutb[0]=b[0]endl; 16 17 cout(bool)100+9:\t(bool)100+9endl; 18 return 0; 19 } 3.3 函数参数的默认值 一般情况下,实参的个数应该与形参的个数相同,但是在C++语言中却有例外的情况。在声明函数原型时,可以为参数设置默认值。函数有多个参数时,可以给全部参数设置默认值,也可以只给部分参数设置默认值。只给部分参数设置默认值时,要求被设置默认值的参数应该出现在没有默认值参数的右侧。也就是

文档评论(0)

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

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

1亿VIP精品文档

相关文档