我初学C++ 谁能给我讲讲viod函数 和 传值传参的问题

来源:百度知道 编辑:UC知道 时间:2024/06/03 19:28:58
我现在是初期阶段 有几个重要的东西不是特别明白
1.我现在对函数中的return理解不是特深,特别对于void函数,不返回值,不是特别明白,不是特别理解其运作方式,还有就是函数中套用循环,数值会不会有变化
2.我对于传值函数, 传参(传引用调用)就是比如(double& 什么什么)理解不是特深,不是特别明白这两种调用方式的区别。
3.还有一个问题就是对于looping的,比如什么if else, while什么的,其中Boolean语句 就是比如bool 什么什么=true 或者false什么的不是特别明白
4.今天遇到一个问题 我就不会怎么设置loop了,我想先设置先保证a,b,c为正,否则就一直问user重新输入,我用了while loop;
然后在大于零的情况下,要求a+b>c, b+c>a, a+c>b, 我设置了while loop,就是说如果a,b,c为正,但是不符合后面的要求的话,也要重新输入数值,如果全符合的话就cout一些话比如cout<<"good"<<endl;之类的
但是我发现如果全符合就会在while loop里面无限循环下去了 出现了满屏幕的"good",对于这个loop中的loop我就不会弄了 希望大家帮忙看一下。

问题很多~~如果有很好的回答的话我愿意加分的,所有的问题最好有编码实例,不要太难的啊 我现在就是iostream, cmath这几个库的水平……所以…… 谢谢

问题1解答:
retrun就是返回的意思,举个例子,比如你请人帮你做一件事,做完后他是不是该给你个答复啊,函数就好比是可以完成某个任务人一样,你调用函数帮你做某事,而它用return把结果返回给你,例程:
//返回值类型为int型,这个函数计算两个参数的和并返回
int sum( int a, int b )
{
return a+b;//计算完把结果返回
}
int k0 = 10;
int k1 = 20;
int c = sum(k0, k1);//执行完这句后c=30,想想为什么
关于void,生活中是不是有这样一种情况,我告诉你去做某事,无论成功失败我都不关心,所以你也不必在做完后跑来告诉我。所以返回值类型为void的函数就不需用return语句返回结果了。
你所说的函数中套用循环,数值会不会有变化,这就要看你的代码了,所以不好回答,要根据具体代码具体分析,这是需要点耐心的。
问题2解答:
引用是变量的代理,所以通过变量的引用也可以访问和修改变量的值,其本质就是变量的地址,但又和指针有所区别,指针可以指向NULL(也就不存在的变量),而引用不能指向NULL。用传引用的方式调用函数,有三个优点,一就是不会像传值调用那样产生对象拷贝,这可以提高性能;二就是具有传指针调用的优点(不会产生对象拷贝),又没有传指针调用的缺点(有时指针指向NULL,所以必须加以检测,要不然就会导致严重错误);三就是通过引用把变量传入函数中,在函数中可以直接修改这个变量的值,这点也是需要用到传指针调用的原因之一。 例程:
void incremental(int& i){++i;} //这个函数把一个int型的变量递增1
int k = 10;
incremental(k); //执行完这句后,k=11, 想想为什么
问题3解答:
if、else是条件分支语句,while是循环语句,bool是一种变量类型,这种类型的变量只能取true、false两个值,也即我们平常所说的是/否(对/错、成功/失败等等),这些都是基础东西,看来你现在不应该学C++,而应该先学C,因为C中没有对象、