第一章 C++入门

1. C++概述

1.1 c++简介

“c++”中的++来自于c语言中的递增运算符++,该运算符将变量加1。c++起初也叫”c with clsss”.通过名称表明,c++是对C的扩展,因此c++是c语言的超集,这意味着任何有效的c程序都是有效的c++程序。c++程序可以使用已有的c程序库。

     为什么c++不叫++c呢?因为它虽然对c进行了改进、扩展,但是很多人还是把它当做c来使用。c++后置++,先对c进行扩展,但返回的还是c.   ---笑话

    库是编程模块的集合,可以在程序中调用它们。库对很多常见的编程问题提供了可靠的解决方法,因此可以节省程序员大量的时间和工作量。

c++语言在c语言的基础上添加了面向对象编程泛型编程的支持。c++继承了c语言高效,简洁,快速和可移植的传统。

c++融合了3种不同的编程方式:

  • c语言代表的过程性语言.
  • c++在c语言基础上添加的类代表的面向对象语言.
  • c++模板支持的泛型编程。

c语言和c++语言的关系:

c++语言是在C语言的基础上,添加了面向对象、模板等现代程序设计语言的特性而发展起来的。两者无论是从语法规则上,还是从运算符的数量和使用上,都非常相似,所以我们常常将这两门语言统称为“C/C++”。

C语言和C++并不是对立的竞争关系:

1)C++是C语言的加强,是一种更好的C语言。

2)C++是以C语言为基础的,并且完全兼容C语言的特性。

c语言和C++语言的学习是可以相互促进。学好C语言,可以为我们将来进一步地学习C++语言打好基础,而C++语言的学习,也会促进我们对于C语言的理解,从而更好地运用C语言。

2. 命名空间(学习要求:掌握)

2.1 命名空间定义
关键字            空间的名字      { 空间的成员 }

namespace   spacename    { spacemember1、spacemember2 ......}

例如

//1. 普通的命名空间
namespace N1                     // namespace为关键字    N1为空间的名称
{
                                 // 变量a、函数add()为空间成员
 int a;
 int Add(int left, int right)
 {
 return left + right;
 }
}

//2. 命名空间嵌套定义
namespace N2
{
 int a;
 int b;
 int Add(int left, int right)
 {
 return left + right;
 }
 
 namespace N3                    //嵌套定义
 {
 int c;
 int d;
 int Sub(int left, int right)
 {
 return left - right;
 }
 }
}

//3. 同一个工程中多个相同名称的命名空间,编译器最后会合成同一个命名空间。
namespace N1                                     
{
 int a;
 int b;
}

namespace N1
{
 int Add(int left, int right)      
 {
 return left + right;
}


2.1 命名空间的作用

防止程序中的变量、结构体、函数等命名的冲突。

2.2 命名空间的使用

namespace N 
{

 int a = 10;                      //成员1

 int b = 20;                      //成员2

 int Add(int left, int right)     //成员3
 {
 return left + right;
 }
 
}

int main()
{
 
               //如何输出命名空间N中的成员?

 return 0; 
}

1.使用“空间名称+作用域限定符

int main ()
{
printf ( "%d\n" , N::a );         // ‘N’ 空间名称、‘:: 作用域限定符
return 0 ;
}

2.使用“using+空间名称+空间成员释放命名空间中某个成员,释放后该成员可直接使用

using N::b ;                      //释放某成员
int main ()
{
printf ( "%d\n" , N::a );
printf ( "%d\n" , b );             //该成员直接使用      
return 0 ;
}

3.使用“using namespace+空间名称”释放整个命名空间,释放后所有成员可直接使用

using namespce N ;       //释放整个空间
int main ()
{
printf ( "%d\n" , a );            // 所有成员直接使用
printf ( "%d\n" , b );
Add ( 10 , 20 );                 
return 0 ;
}

3. C++输入&输出(学习要求:掌握) 

1.输入:

标准输入        流提取运算符      输入内容

   cin                     >>                  123

2.输出:

标准输出        流提取运算符      输出内容

   cout                   <<                  123

例如

#include <iostream>                          //包含输入输出头文件
 
using namespace std;                         //释放C++库函数
 
int main( )
{
   int num=0;                                //定义变量
 
   cout << "请输入内容:";                      
   cin >> num;                               //给num赋值                     
   cout <<"内容为:"<< num<< endl;            //endl为换行
 
}

运行结果如下:

请输入内容:123
内容为:       123

4. 缺省参数(学习要求:掌握)

4.1 缺省参数概念
缺省参数是 声明或定义函数时 为函数的 参数指定一个默认值 。在调用该函数时,如果没有指定实参则采用该 默认值,否则使用指定的实参。 <
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值