IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 从C到C++ -> 正文阅读

[C++知识库]从C到C++

1、标准输入/输出流

—键盘(cin)、显示器(cout)

—相关声明语句:

#include<iostream>????????//标准输入/输出流的头文件

using namespace std;? ? ? ? //声明命名空间std??

—语句转换:

//C
double c,f;
scanf("%lf",&c);
f=c*1.8+32;
printf("华氏温度=%lf\n",t);

//C++
double c,f;
cin>>c;
f=c*1.8+32;
cout<<"华氏温度="<<f<<endl;
cin>>变量1>>变量2>>...>>变量n;
cout<<表达式1<<表达式2<<...<<表达式n;
endl表示换行显示

2、变量初始化

int x=10,y;//C语言
int x(10),y;//C++语言

3、符号常量

#define PI 3.14  //C语言
const 数据类型 常变量名 = 初始值;//C++

4、引用及函数见参数的引用传递

(1)、访问变量内存单元

—变量名访问:

cout << x;

—指针访问:

int *p;p?= &x;cout << (*p);

—C++新增 引用 访问:

已有变量的别名:(共用数据)

引用类型 &引用变量名 = 被引用变量名;//&是引用变量说明符
int &xa = x;//前后应有相同的数据类型
或者 int x,&xa = a;
cout << xa;

5、特殊形式的函数

(1)、带默认形参值的函数

#include<iostream>
using namespace std;
double Exchange(double amount, double rate = 6.1104)
{
	return amount / rate;
}

int main() {
	cout << Exchange(500) << endl;
	cout << Exchange(500,6.9698) << endl;
	
	return 0;
}

—语法:

带默认值的形参必须定义在形参列表的后面:

void fun(int p1=10,int p2=20,int p3=30);    //对
void fun(int p1,int p2=20,int p3=30);    //对
void fun(int p1=10,int p2=20,int p3);    //错

(2)、重载函数

如果两个函数的形参个数不同,或数据类型不同,那么这两个函数就可以重命名。

//111111
int Max(int x,int y)    
{
    return ((x>y)?x:y);
}
//222222
double Max(double x,double y)
{
    return ((x>y)?x:y);
}
//333333
int Max(int x,int y,int z)
{
    int m;
    m = (x>y)?x:y;
    m = (m>z)?m:z;
    return m;
}

—根据形参实参自动匹配(数据个数和数据类型来区分调用)

cout << Max(9,5);//自动调用:int Max(int x,int y)
cout << Max(9.0,5.0);//自动调用:double Max(double x,double y)
cout << Max(9,5,17);//自动调用:int Max(int x,int y,int z)

(3)、内联函数(Inline)

原理:编译源程序时将函数代码直接嵌入到每个调用语句处,而在执行时不再进行函数跳转和数据传递。

只有在函数调用次数很大很大的时候才会有突出的效率。

Inline double Exchange(double amount, double rate = 6.1104)

6、命名空间

—在命名空间中定义函数和全局变量

namespace Tom
{
    int x,y;
    void fun1() {......}
    void fun2() {......}
}

使用方法:

( :: 是作用域运算符)

Tom::x = 10;
Tom::fun1();
using Tom::x;
using Tom::fun1;
x = 10;
fun1();
using namespace Tom;
x=10;
fun1();

7、动态内存分配

//C
—分配内存:malloc函数
—释放内存:free函数
//C++
—分配内存:new运算符
—释放内存:delete运算符

C++语法:

(1)、单个变量的动态分配与释放

指针变量名 = new 数据类型(初始值);//不需要初始化也可以省略(初始值)
delete 指针变量名;
int *p;//为了动态分配一个int型变量,需预先定义好一个int型指针变量
p = new int;//使用new运算符动态分配一个int型变量,无变量名
            //将所分配内存单元的首地址赋值给指针变量p
*p = 10;//通过指针变量p间接访问所分配的内存单元,向其中写入数据10
cout << *p;//通过指针变量p间接访问所分配的内存单元
delete p;//内存使用完后,用delete运算符释放该内存空间
int *p = new int(10);

(2)、一维数组的动态分配与释放

注:动态分配的数组变量不能初始化;

指针变量名 = new 数据类型 [整数表达式];
//整数表达式可以是单个常量、变量或是一个整数表达式,其结果必须是正整数;
delete []指针变量名;
int *p = new int[5];//动态分配一个int型一维数组变量,包含五个数组元素
*(p+1) = 10;//通过指针运算符访问第1个元素,向其中写入数据10
            //或通过下标运算符访问第一个元素:p[1]=10;
cout << *(p+1);//通过指针运算符访问第一个元素,读出数据10并显示出来
               //或通过下标运算符访问第一个元素:cout << p[1];
delete []p;//内存使用完后,用delete运算符释放该数组变量所分配的内存空间

显示Fibonacci数列前N项:

#include <iostream>
using namespace std;
int main()
{
	int N;// 定义一个int型变量N
	cin >> N;//键盘输入要显示数列的前多少项,将该数值保存在变量N中int *p = new int[ N ];// 动态创建包含N个元素的数组,用于保存数列的前N项p[0]=0;p[1]= 1;//指定数列的前2项
	
	int *p = new int[N];//动态创建包含N个元素的数组,用于保存数列的前N项
	p[0] = 0;	
	p[1] = 1;//指定数列的前两项

	int n;//为循环语句定义好循环变量n
	for (n = 2; n < N; n++)// 使用循环结构计算出剩余的数列项
	p[n] = p[n - 1] + p[n - 2];//每一项等于其前2项之和
	for (n = 0; n < N; n++) // 使用循环结构遍历显示数组
	{
		cout << p[n] << ",";//各数列项用逗号隔开
		if ((n + 1) % 5 == 0) cout << endl;// 一行显示5项,即每5项换一行显示
	}
	delete[]p;//数组使用结束,动态释放其内存空间
	return 0;
}
  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-11-27 09:43:57  更:2021-11-27 09:44:25 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 10:00:30-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码