C++简介

C语言和C++区别开始讲


1.命名空间

 1.1命名空间的定义

     namespace 标识符{ }

     namespace zhang{ int a =1;}

 1.2命名空间的成员访问

    作用域分辨符::

    cout<<my::a<<endl;

  1.3省略限定符

    using namespace zhang;

    联想到标准命名空间 

    using namespace std;

    没有这个需要加std::cout,std::cin,std::endl;

  1.4命名空间的嵌套

    namespace my

    {

   int a=1;

   namespace danny

    {

   int b = 2;

     }

    }

cout<<my::danny::b<<ebdl;

#include<iostream>
#include<cstdio>

//命名空间的定义
//namespace 空间名{变量或者函数}
using namespace std;
namespace moming
{
	int a=1;
	int b=2;
	int c=3;
	
}
//运算符:作用域运算符::告诉别人这个东西属于那个里面
//命名空间的嵌套

namespace zhang
{
	int e = 11;
	namespace zhangyun
	{
		int f = 13;
	}
}
int main()
{

	cout << moming::a << endl;
	cout << moming::b << endl;
	cout << moming::c << endl;
	using namespace moming;//实用using 去掉作用域限定
	int a = 10;//c语言中就近原则
	cout << a << endl;
	cout << b << endl;
	cout << c << endl;
	//访客嵌套访问原则
	namespace zhangyundu = zhang::zhangyun;
	cout << zhangyundu::f << endl;
	system("pause");
	return 0;

}

2.输入和输出

     输入:cin+>>

             int a=1;

             cin>>a;

     输出:cout+<<

             cout<<b;

#include<iostream>
#include<cstdio>
using namespace std; //	标准命名空间

int main()
{
	//输出
	
	int INumber = 1;
	//输出变量+连续输出
	cout << "INumber=" << INumber << "\n";
	//输出字符串
	char str[20] = "I LOVE YOU";
	cout << str;
	cout << "请输入一个数据:" << "\n";
	//输入数字
	cin >> INumber;
	cout << INumber << "\n";
	//输入字符串
	cout << "请输入字符串:" << "\n";
	cin >> str;//不需要取地址
	cout << "str=" << str << "\n";
	//C++换行 endl等效"\n"拥有清空缓冲区效果
	cout << endl;
	printf("FirstBlood");
	system("pause");
	return 0;

}

3.bool:布尔类型

#include<iostream>
#include<cstdio>

//命名空间的定义
//namespace 空间名{变量或者函数}
using namespace std;
bool Isemptylist()
{

	return 0;
}
int main()
{

	bool bNumber = false;//false和true不是宏,是关键字;
	//int false = 1;错误
	cout << "bool=" << bNumber << endl;
	
	cout << "sizeof(bool)=" << sizeof(bNumber) << endl;
	cout << "bool=" << boolalpha << bNumber;//输出true或者false
	//注意点:非零表示真
	cout << endl;
    bNumber = -1;
	cout << "bool=" << bNumber << endl;
	system("pause");
	return 0;

}

 3.1 值:0和1 或者true和false

 3.2 代表是真和假

 3.3内存占用1个字节

 判断函数的返回类型值

4.函数

 4.1重载:函数名相同的函数可以存在多个

  4.1.1 数目不一致

  4.1.2 参数类型不一致

  4.1.3 顺序不一致

//顺序不一致
int Max(int a, int b)
{
	return a > b ? a : b;
}
//类型不一致
double Max(double a, double b)
{
	return a > b ? a : b;
}
//数目不一致
int Max(int a, int b,int c)
{
	return a > b ? a : b > c ? a > b ? a : b : c;
}
 

 4.2缺省(重载的一种集合体)

 缺省:给函数赋值

 4.2.1缺省的写法

 

int Return(int a = 1)
{
	return a;
}

 4.2.2缺省调用

int main()
{
    //好处在于调用多种形式
	int iUmber = 10;
	cout << Return(iUmber) << endl;//输出传入的值1
	cout << Return() << endl;//输出默认值1
	system("pause");
	return 0;

}

 4.2.3缺省的要求(必须从右往左缺省)

#include<iostream>
#include<cstdio>
using namespace std; //	标准命名空间
//缺省就是给形参赋值

int Return(int a = 1)
{
	return a;
}
//缺省的要求,从you往zuo
int Return2(int a ,int c=1)
{
	return a+c;
}
//缺省和重载的注意,不要产生二义性
int function(int a)
{
	return a;
}
int function(int a,int b=1)
{
	return a+b;
}
int main()
{
    //好处在于调用多种形式
	int iUmber = 10;
	cout << Return(iUmber) << endl;//输出传入的值1
	cout << Return() << endl;//输出默认值1
	cout << function(1,2) << endl;
	system("pause");
	return 0;

}

5.结构体

 5.1允许成员函数的存在

 5.2使用结构体类型可以省略struct

#include<iostream>
#include<cstdio>
using namespace std; //	标准命名空间
//
struct List
{
	int data;
	struct List* next;
	List CreateList(){
	
	}
	List CreateNode(){

	}
	void InsertNode(){
	
	}
};
int main()
{
   
	
	List mylist;
	mylist.InsertNode();
	system("pause");
	return 0;

}


5.内存分配

   c语言malloc calloc realloc free

   c++ new delete

#include<iostream>
#include<cstdio>
using namespace std; //	标准命名空间
//
struct student
{
	int data;
};
int main()
{
   
	//申请内存
	int *p = new int;//new 一个int大小的空间
	int *pAray = new int[4];//new一个4个长度的数组

	int *pp = new int(4);//new 一个int大小的空间
	int *ppAray = new int[4]{1,2,3,4};//new一个4个长度的数组
	cout << ppAray[1] << endl;
	cout << *pp<< endl;
	//释放
	delete p; //普通释放
	delete[] pAray;//数组释放
	system("pause");
	return 0;

}

6.起别名

#include<iostream>
#include<cstdio>
using namespace std; //	标准命名空间
//
void Swap(int &a, int &b){
	int temp = a;
	a = b;
	b = temp;
}
int d = 1;
int Return()
{
	return d;

}
int& Return1()
{
	return d;

}
int main()
{
	int iNumber = 2;
	//起别名
	int &a = iNumber;
	a = 3;
	cout << iNumber << endl;
	int &p = iNumber;
	//防止拷贝本的产生。。一般用于形参
	int b = 1;
	int c = 2;
	Swap(b, c);
	cout << "b=" << b << endl;
	cout << "c=" << c << endl;
	//增加左值的功能
	//左值;运算符左边的值---一般用在函数的返回值、
    //函数返回引用相当于返回变量
	cout << Return() << endl;
	Return1()++;//直接作用变量上的
	cout << d<< endl;
	system("pause");
	return 0;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值