第1个回答 2009-10-25
1.void类型函数就是无返回值的函数,那么在它内部的return语句后面不能跟参数,只能是return;就是说明函数运行到此就结束返回到调用处,此时也可以没有return语句表示函数运行到结尾才结束返回到调用处.
当函数不是void类型时,例int fun(){...} 那么此函数中必须有return语句返回与函数类型相同(如果不同会进行类型转换,转换成函数类型,如果转换失败就会出错)的一个值,例如前面的定义,可有return 1;这样当运行到这里时函数结束并返回1的值,调用些函数时通常是这样的a=fun();这样如果在return 1;这里返回的那么a==1了.一个函数里可以有多个return语句,但只能执行一次,就是程序最先运行到的(最先运行到的不一定是写在最前面的,指的是实际运行中最先运行的)那个.函数中循环与外面的循环是一样的,对于你说的数值会不会变化指的是变量的值吧,那就看你在循环里是否改变了变量的值.如果你是说传入的参数在下面说明.
2.传值函数就是将参数的数值作为参数传入函数,例fun(int a){...}调用时int b=3;fun(b);此时只将b的值传入了函数fun,就是说b==3但此时的b与a并不是同一变量它们保存在内存的不同空间,也就是在函数内部改变a的值b是不会变的.对于引用是将变量本身传入函数(包括变量的空间).例fun(int &c){...}这样在调用时int b=3;fun(b);此时与c就是同一个变量c==3(它们在内存中的空间是一样的)只是不同名,如果在函数内部对c的值进行更改那么函数外面的b的值也就同样更改了.还有一种就传地址我都写上吧,此时只是将变量在内存的地址传入(注意与引用的区别),例如fun(int * d){...}调用时int b=3;fun(&b);注意此处的&与函数声明时的&引用的不同,此处表示取地址运算,&b结果就是变量b的地址,调用后就将b的地址传给了形参d(是一个指向int型指针)d中保存着b的地址,此时如果单纯改变d的值只表示d中保存的地址变了,也就是说不在是b的地址了.若要改变b我们一般用的是(*d),表示取d中保存着的内存地址所指向的内存(注意区分d本身的存储空间与它所指向的存储空间的区别)空间的数据.
3.Boolean语句就是能判断真假的语句(就是高中学的命题,有点像,呵呵)它的结果要么是真(成立或都说条件满足)要么是假(不成立或者说条件不满足),也就是bool型结果(如果类型不是bool就会进行类型转换,因为我们多见是形如 int a=3;if(a){...},此时就是先将a的值3转换成bool型true然后再运算,此时也相当于if((bool)a==true){...}).
4.要用循环一定要注意循环是如何结束的,如果没有结束的条件(或者说条件不会发生)就会产生死循环.
此题中a,b,c都要为正,不满足就得循环,这是循环(进入循环)的条件(a<=0 |b<=0 |c<=0)所以此种情况一般是先给a,b,c一个能进入循环(满足进入循环条件)的值,例如a=-1,b=0,c=1;(当然只有一个a=-1;就够了)可写成
a=-1;
while(a<=0 | b<=0 |c<=0){
循环要做的事
}
退出循环条件当然就是(a<=0 |b<=0 |c<=0)不满足了,这个循环是可以结束的
循环要做的事:重新输入a,b,c
写成了
a=-1;
while(a<=0 | b<=0 |c<=0){
cin>>a>>b>>c;
}
最后是满足了全为正的条件,就是退出循环了
然后是要判断是否满足第二个条件,如果满足输出提示
写成
a=-1;
while(a<=0 | b<=0 |c<=0){
cin>>a>>b>>c;
}
if(a+b>c&&b+c>a&&a+c>b){
cout<<"good"<<endl;
}
这样你要的功能就完成了.
呵呵,仅供参考!
第2个回答 2009-10-25
1 void是空函数,也就是不能被调用。其应用主要是主函数即main时。return是为了得到一解决方法或算法而使用返回值类型。通常含return语句的函数会主函数中被调用;
2 if else都是比较简单常用的基本语句建议你多看书本.bool是一种类型称为布尔类型只有两个值true 和 falseBoolean语句就是能判断真假的语句(就是高中学的命题,有点像,呵呵)它的结果要么是真(成立或都说条件满足)要么是假(不成立或者说条件不满足),也就是bool型结果(如果类型不是bool就会进行类型转换,因为我们多见是形如 int a=3;if(a){...},此时就是先将a的值3转换成bool型true然后再运算,此时也相当于if((bool)a==true){...});
3 传值函数就是将参数的数值作为参数传入函数,例fun(int a){...}调用时int b=3;fun(b);此时只将b的值传入了函数fun,就是说b==3但此时的b与a并不是同一变量它们保存在内存的不同空间,也就是在函数内部改变a的值b是不会变的.对于引用是将变量本身传入函数(包括变量的空间).例fun(int &c){...}这样在调用时int b=3;fun(b);此时与c就是同一个变量c==3(它们在内存中的空间是一样的)只是不同名,如果在函数内部对c的值进行更改那么函数外面的b的值也就同样更改了.还有一种就传地址我都写上吧,此时只是将变量在内存的地址传入(注意与引用的区别);
4a,b,c都要为正所以此种情况一般是先给a,b,c一个能进入循环的值,例如a=-1,b=0,c=1;(当然只有一个a=-1;就够了)可写成
a=-1;
while(a<=0 | b<=0 |c<=0){
循环要做的事
}
退出循环条件当然就是(a<=0 |b<=0 |c<=0)不满足了,这个循环是可以结束的
循环要做的事:重新输入a,b,c
写成了
a=-1;
while(a<=0 | b<=0 |c<=0){
cin>>a>>b>>c;
}
最后是满足了全为正的条件,就是退出循环了
然后是要判断是否满足第二个条件,如果满足输出提示
写成
a=-1;
while(a<=0 | b<=0 |c<=0){
cin>>a>>b>>c;
}
if(a+b>=0&&b+c>=0){
cout<<"good"<<endl;
}