(语法)一个求大小的程序分析

断断续续的也看了一些c语言的教程,现在通过一个小程序总结一下所学。

涉及的知识点:if条件判断语句,函数调用,指针作为参数的调用。

#include<iostream>
using namespace std;
void  get_max(double a, double  b, double* max)
{
	if (a>b)
	{
		*max = a;
	}
	else if(b>a)
	{
		*max = b;
	}
}
int main()
{
	double a,b, max;
	cout << "输入第一个值:";
		cin >> a;
	cout << "输入第一个值:";
		cin >> b;
	get_max(a, b, &max);
	cout << "两个数较大的一个是:"<<max<<endl;
		system("pause");
	return 0;
}
    上面这个程序是一个求大小的,即用户输入两个数字,打印出一个较大的数字。

    第三行:自定义了一个无返回值(void即无返回值类型)的函数,函数名get_max,这个函数的行参有两个double(浮点)型的变量a,b,还有一个double类型的指针max。

    函数体内用if判断参数a是否大于b,如果大于,就将a的值传给指针max指向的内存地址中去,否则,如果b大于a,就将b的值传给指针max指向的内存地址中去。这是一个功能函数,即需要传递三个值给这个函数做一个判断,将判断结果返回给指针指向的内存地址。

    再下面main函数中,定义了三个double类型的变量a,b,max。使用cout和cin输出输入语句在屏幕打印消息和将用户输入的消息传递给a和b,而后,将用户输入的a值和b值以及变量max的内存地址传递到get_max函数中,函数通过判断后将较大的数给指针max指向的内存地址,即变量max的内存地址,现在max变量中的值就是最大值,最后将max打印出来。

    注意:变量类型的声明,指针作为函数参数调用的使用方法。

    知识点:

    1、指针&max:是提取出变量max的内存地址,*max:是引用这个内存地址,当它为左值时,如*max=a;意即将a的值传递给max指向的内存地址,当它为右值时,如a=*max;意即将max指向内存地址中的数据传递赋值给变量啊。

    2、实参:带有实际数值的参数是实参,即get_max(a,b,&max);中的a,b,&max,也就是被作为值传递给某函数的是实参。

       行参:如第三行get_max(double a,double b,double* max),里面的三个变量都是行参,即没有实际数据等待传值进来的变量就是行参。

    3、指针作为函数参数。一般&max(提取内存地址)作为函数的实参,传递给*max(指针变量)函数作为形参使用。

    4、using namespace std;声明命名空间std不需在所属对象前面加std。

    5、system("pause");在程序结束时不关闭控制台,等待用户输入任意字再关闭。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值