C++新手入门-5

判断

if判断

代码:

/*if判断*/
#include<iostream>
using namespace std;
int main() {

	//局部变量声明
	int a = 10;
	//使用if检查布尔条件
	if (a < 20) {
		//条件为真,输出下面语句
		cout << "a < 20" << endl;
	}

	cout << "a的值是" << a << endl;

	return 0;
}

结果:
在这里插入图片描述

if…else

代码:

/*if...else*/
#include<iostream>
using namespace std;
int main() {

	//局部变量声明
	int a = 100;

	//检查布尔条件
	if (a < 20) {
		cout << "a < 20" << endl;
	}
	else {
		cout << "a >= 20" << endl;
	}

	cout << "a的值为:" << a << endl;

	return 0;
}

结果:
在这里插入图片描述

switch语句

代码:

/*switch*/
#include<iostream>
using namespace std;

int main() {

	char grade = 'D';

	switch (grade)
	{
	case 'A':
		cout << "很棒" << endl;
		break;
	case 'B':
		cout << "不错" << endl;
		break;
	case 'C':
		cout << "及格" << endl;
		break;
	case 'D':
		cout << "不及格" << endl;
		break;
	default:
		cout << "该学生无成绩" << endl;
		break;
	}

	return 0;
}

结果:
在这里插入图片描述

switch嵌套

代码:

/*switch嵌套*/
#include<iostream>
using namespace std;
int main() {

	int a = 100;
	int b = 200;

	switch (a)
	{
	case 100:
		cout << "这是外部switch" << endl;
		switch (b)
		{
		case 200:
			cout << "这是内部switch" << endl;
		default:
			break;
		}
	default:
		break;
	}
	
	return 0;
}

结果:
在这里插入图片描述

函数

代码:

/*函数及调用*/
#include<iostream>
using namespace std;

//函数声明
int max(int p1, int p2);

int main() {

	int a = 100;
	int b = 200;
	int ret;

	ret = max(a, b);
	cout << "最大值为:" << ret << endl;
	return 0;
}

//函数定义
int max(int p1,int p2){
	int result;
	if (p1 > p2) {
		result = p1;
	}
	else {
		result = p2;
	}
	return result;
}

结果:
在这里插入图片描述
函数声明的作用:
因为C++支持函数过载。也就是说同样一个函数名,可以带不同的参数,从而形成不同的函数,它们可以并存并且不至于出现连接错误。这一切都要归功于C++名字粉碎的功劳,也就是mangling。
该答案出自:
https://www.cnblogs.com/tsecer/p/10485964.html
(侵权则删)

传值调用

修改函数内的形式参数对实际参数没有影响
该方法把参数的实际值赋值给函数的形式参数。在这种情况下,修改函数内的形式参数对实际参数没有影响。

/*传值调用*/
#include<iostream>
using namespace std;

//函数声明
void swap(int x, int y);

int main() {

	//局部变量声明
	int a = 100;
	int b = 200;

	cout << "交换前a的值:" << a << endl;
	cout << "交换前b的值:" << b << endl;

	//调用函数来交换值
	swap(a, b);

	cout << "交换后a的值:" << a << endl;
	cout << "交换后b的值:" << b << endl;

	return 0;
}
//函数定义
void swap(int x,int y) {
	int temp;
	temp = x;
	x = y;
	y = temp;

	cout << "交换中a的值:" << x << endl;
	cout << "交换中b的值:" << y << endl;

	return;
}

结果:
在这里插入图片描述
虽然在函数内ab的值互换了,但是a和b的值没有发生变化

指针调用

修改形式参数会影响实际参数
该方法把参数的地址赋值给形式参数。在函数内,该地址用于访问调用中要用到的实际参数。这意味着,修改形式参数会影响实际参数。
代码:

/*函数参数,指针调用*/
#include<iostream>
using namespace std;

//函数声明
void swap(int *x, int *y);

int main() {

	//局部变量声明
	int a = 100;
	int b = 200;

	cout << "交换前a的值:" << a << endl;
	cout << "交换前b的值:" << b << endl;

	/*
		&a表示指向a的指针,即变量a的地址
		&b表示指向b的指针,即变量b的地址
	*/
	swap(&a, &b);

	cout << "交换后a的值:" << a << endl;
	cout << "交换后b的值:" << b << endl;

	return 0;
}

void swap(int *x, int *y) {

	int temp;
	temp = *x;
	*x = *y;
	*y = temp;
	return;
}

结果:
在这里插入图片描述

引用调用

该方法把参数的引用赋值给形式参数。在函数内,该引用用于访问调用中要用到的实际参数。这意味着,修改形式参数会影响实际参数。
代码:

/*函数调用,引用调用*/
#include<iostream>
using namespace std;

//函数声明
void swap(int& a, int& b);//此时a,b代表地址;&a,&b代表值

int main() {

	int a = 100;
	int b = 200;

	cout << "交换前a的值:" << a << endl;
	cout << "交换前b的值:" << b << endl;

	swap(a,b);

	cout << "交换后a的值:" << a << endl;
	cout << "交换后b的值:" << b << endl;

	return 0;
}

void swap(int& x, int& y) {

	cout << "x是变量" << x << endl;
	cout << "y是变量" << y << endl;

	int temp;
	temp = x;
	x = y;
	y = temp;

	return;
}

结果:
在这里插入图片描述

参数的默认值

代码:

/*函数参数的默认值*/
#include<iostream>
using namespace std;

int sum(int a, int b = 20) {
	int result;
	result = a + b;
	return result;
}


int main() {

	int a = 100;
	int b = 200;
	int result;

	result = sum(a, b);
	cout << "Total value is :" << result << endl;

	result = sum(a);
	cout << "Total value is :" << result << endl;

	return 0;
}

结果:
在这里插入图片描述

Lambda 函数与表达式

没看。。。记不住

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值