C++入门

一、什么是C++

    C语言是结构化和模块化的语言,适合处理较小规模的程序。对于复杂的问题,规模较大的程序,需要高度的抽象和建模时,C语言则不合适。为了解决软件危机,20世纪80年代,计算机界提出了OOP(object oriented programming:面向对象) 思想,支持面向对象的程序设计语言应运而生。
    1982年,Bjarne Stroustrup博士在C语言的基础上引入并扩充了面向对象的概念,发明了一种新的程序语言。为了表达该语言与C语言的渊源关系,命名为C++。因此,C++是基于C语言而产生的,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行面向对象的程序设计。

二、命名空间

      在进行命名空间的学习之前,大家先来看这样一段代码:

#include<stdio.h>
int rand = 250;

int main()
{
	printf("%d", rand);
}

    我们在看的过程中,也不乏会出现以下思考,rand不是可以产生随机数吗,那这里我们是不是就会产生冲突,因此,我们引出了命名空间的概念。 

       在C/C++中,变量、函数和后面要学到的类都是大量存在的,这些变量、函数和类的名称将都存在于全局作用域中,可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或名字污染,namespace关键字的出现就是针对这种问题的。

2.1命名空间的定义

    定义命名空间,需要使用到 namespace 关键字,后面跟命名空间的名字,然后接一对{}即可,{}中即为命名空间的成员。那么根据概念,我们就可以改写全局变量rand了,改写如下:

#include<stdio.h>
namespace c
{
	int rand = 250;
}

int main()
{
	printf("%d", rand);
}

当然了,我们的命名空间既可以定义变量也可以定义结构体、函数等

namespace c
{
	//变量
	int rand = 250;

	//结构体
	struct Stack
	{
		int capacity;
	};

	//函数
	void test();

	//嵌套定义
	namespace N
	{
		int x;
	}
}

 2.2命名空间的使用

1.域作用限定符::

我们可以使用 “ 命名空间 :: 命名空间的成员 ” 来进行访问命名空间中相应的成员

namespace c
{
	int rand = 250;
}
int main()
{
	printf("%d", c::rand);

}

特别注意,在对结构体使用域作用限定符时,位置有所不同

namespace c
{
	struct Stack
	{
		int capacity;
	};
}

int main()
{
	struct c::Stack capacity;
}

2.使用using将命名空间的成员引入 

namespace c
{
	int rand = 250;
}

using c::rand;
int main()
{
	printf("%d", rand);

}

3.使用using namespace 命名空间名称引入

namespace c
{
	int rand = 250;
}

using namespace c;
int main()
{
	printf("%d", rand);

}

 三、输入 输出

       在C语言中有标准输入输出函数 scanf 和 printf ,而在C++中有 cin标准输入 和 cout标准输出。在C语言中使用 scanf 和 printf 函数,需要包含头文件 stdio.h。在C++中使用 cin 和 cout,需要包含 头文件iostream 以及 std标准命名空间

#include<iostream>
using namespace std;

int main()
{
	int a;

	//流提取
	cin >> a;

	//流插入
	cout << "Hello World!";

	return 0;
}

 C++的输入输出方式与C语言相比是更加方便的,因为C++的输入输出不需要增加数据格式控制可以自动识别输出变量的类型

#include<iostream>
using namespace std;

int main()
{
	int a = 0;
	double b = 11.11;

	//C
	printf("%d\n", a);
	printf("%lf\n", b);

	//C++
	cout << a ;
	cout << b ;


	return 0;
}

C++中换行的三种方法

//如果是字符串
cout << "Hello World!\n";

//使用 ""/ ''
cout << a << "\n";//字符串换行
cout << a << '\n';//字符换行

//使用endl(endline-最后一行)
cout << a << endl;

第一节内容就到此结束啦,希望大家多多支持!

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

囚徒玩电脑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值