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++(1) -> 正文阅读

[C++知识库]C++(1)

#include<iostream>
using namespace std;
int main(){
	cout << "hello world";
	return 0;
} 

上面是C++的第一个程序
分析:

#include<iostream>

(1)为预处理命令,其中 <> 中的为头文件(提供输入/输出的所需要的一些信息)

//为命名空间
using namespace std;
//可以通过#include"std",表示要用到命名空间std中内容
#include"std"

const 定义常变量

//具有变量的属性,有数据类型,占有存储单元,有地址,可以指针指向它
const float PI = 3.14159;

#define PI = 3.14159;
为字符置换,没有类型,不是变量,容易出错

函数的声明
在C++中,如果函数调用的位置在函数定义之前,则要求在函数调用之前必须进行声明
语法:
函数type name(形参);

#include<iostream>
using namespace std;
//函数的声明 
int max(int a,int b);
int main(){
	cout << "hello world";
	cout << "最大的数是:" << max(8,18);
	return 0;
} 
//函数的定义 
int max(int a,int b){
	if(a > b){
		return a;
	}else{
		return b; 
	}
}

函数重载
在同一作用域中用同一个函数名定义多个函数,但参数个数或参数类型,或者函数类型不同
有默认参数值的函数

#include<iostream>
using namespace std;
 
int getX(int x = 8);
int main(){
//getX() 相当于getX(8)
	cout << "X的默认值:" << getX();
	return 0;
} 
int getX(int x){
	return x;
}

注意:
(1)指定默认值的参数定义须放在形参的最右边

int max(int a,int b = 4,int c,int d = 7)  //错误
int max(int a ,int c ,int b = 4,int d = 7); //正确

(2)在函数调用之前需要对其声明,而默认值在声明的时候给出
(3)一个函数不能即作为重载函数,又作为有默认参数值的函数
变量的引用 : 为变量起别名

int a;
//声明b是一个整型变量引用,初始化为a
int &b = a;

注意:对一个变量声明一个引用,并不为其开辟新的存储单元

#include<iostream>
using namespace std;
 
int main(){
	int a = 12;
	int &b = a;
	a = a * a;
	cout << "a 的值:" << a; 
	b = b - 2;
	cout << "b 的值 :" << b;
	return 0;
} 

上述代码输出的值是: a 144 ,b 142
可以总结出:a 的值变化,b的值也随之变化,同样,b 的值变化,a的值也随之变化
那么当看到&b 这样的形势怎么区别是声明引用还是取地址?
当&b前面有类型符号时,必是引用声明,反之是取地址

将引用作为函数参数
(1)将变量作为参数:
这时传给形参的是变量的值,但是当形参改变时,并不会传递给实参,此时形参和实参不是同一个存储单元,即传递是单向的

#include<iostream>
using namespace std;

void swap(int x,int y);
int main(){
	int a = 5;
	int b = 8;
	swap(a,b);
	cout << "a 的值:" << a;
	cout << "b的值:" << b; 
	return 0;
} 

void swap(int x,int y){
	int temp;
	temp = x;
	x = y;
	y = temp;
}

输出结果a,b 的数值并没有交换

为解决上述问题:可以传递是变量的地址

#include<iostream>
using namespace std;

void swap(int *x,int *y);
int main(){
	int a = 5;
	int b = 8;
	swap(&a,&b);
	cout << "a 的值:" << a;
	cout << "b的值:" << b; 
	return 0;
} 

void swap(int *x,int *y){
	int temp;
	temp = *x;
	*x = *y;
	*y = temp;
}

输出结果:a ,b的值交互
通过引用解决

#include<iostream>
using namespace std;

void swap(int &x,int &y);
int main(){
	int a = 5;
	int b = 8;
	swap(a,b);
	cout << "a 的值:" << a;
	cout << "b的值:" << b; 
	return 0;
} 

void swap(int &x,int &y){
	int temp;
	temp = x;
	x = y;
	y = temp;
}

注意:
(1)不能建立void 类型的引用
(2)不能建立引用的数组

char c[3] = "abv";
char &rc[3] = c;  //错误
  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-03-11 21:57:07  更:2022-03-11 21:59:43 
 
开发: 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 5:04:21-

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