2) 分析程序执行结果,理解带缺省形参值函数的用法。 #include<iostream> using namespace std; float area(float l=3,float w=4,float h=5) { float s; s=l*w*h; return s; } int main() { float s; s=area(); cout<<"s="<<s<<endl; s=area(6); cout<<"s="<<s<<endl; s=area(2,4); cout<<"s="<<s<<endl; s=area(5,6,7); cout<<"s="<<s<<endl; return 0; }
时间: 2023-10-30 13:34:57 浏览: 77
这段程序定义了一个名为 `area` 的函数,该函数有三个形参 `l`、`w` 和 `h`,它们的缺省值分别为 3、4 和 5。该函数的作用是计算长方体的体积并返回。
在主函数 `main` 中,分别调用了 `area` 函数四次,并将其返回值赋给变量 `s`,然后输出 `s` 的值。
第一次调用 `area` 函数时,没有传入任何实参,因此使用了形参的缺省值,计算出的长方体体积为 3*4*5=60。
第二次调用 `area` 函数时,传入了一个实参 6,这个实参赋值给了形参 `l`,而 `w` 和 `h` 仍然使用缺省值,计算出的长方体体积为 6*4*5=120。
第三次调用 `area` 函数时,传入了两个实参 2 和 4,这些实参分别赋值给了形参 `l` 和 `w`,而 `h` 仍然使用缺省值,计算出的长方体体积为 2*4*5=40。
第四次调用 `area` 函数时,传入了三个实参 5、6 和 7,这些实参分别赋值给了形参 `l`、`w` 和 `h`,计算出的长方体体积为 5*6*7=210。
因此,程序最终输出的结果依次为:
```
s=60
s=120
s=40
s=210
```
这个程序展示了带缺省形参值的函数的用法,当调用该函数时,如果没有为某些形参传入实参,则会使用该形参的缺省值。这样可以简化函数的调用,省略一些常用的参数,提高代码的可读性和可维护性。
相关问题
/*编写一函数,统计学符串中包含数字字符(0'-9')的个数,并作为函数值返回。 例:输入a3sfn022r56,输出6*/ #include <iostream>#include <fstream>using namespace std;int digital_num(char sü) /**********Program********** /********** ********** End void mainO{ char str[30];cin>>str; int num=digital_num(str); cout<<num;
抱歉,您的代码中存在语法错误。我将为您提供纠正后的代码如下:
```c++
#include <iostream>
using namespace std;
int digital_num(char str[]) {
int count = 0; // 计数器,初始值为0
for (int i = 0; str[i] != '\0'; i++) { // 遍历字符串
if (str[i] >= '0' && str[i] <= '9') { // 判断是否为数字字符
count++; // 计数器加1
}
}
return count; // 返回计数器的值
}
int main() {
char str[30];
cin >> str;
int num = digital_num(str);
cout << num;
return 0;
}
```
注意,main 函数应该是 `int main()` 而不是 `void mainO)`,同时在 `digital_num` 函数的定义中,形参应该是 `char str[]` 而不是 `char sü`。
#include<iostream> using namespace std; class Student { public: Student(int n,float s):num(n),score(s){} void change(int n,float s){num=n;score=s;} void display(){cout<<num<<" "<<score<<endl;} private: int num; float score; }; int main() { Student stud(101,78.5); stud.display(); stud.change(101,80.5); stud.display(); return 0; } 修改上述程序,增加一个fun 函数,改写main 函数。改为在fun函数中调用 change 和display 函数。在fun 函数中使用对象的引用(Student &)作形参。
修改后的程序如下:
```
#include<iostream>
using namespace std;
class Student {
public:
Student(int n, float s) : num(n), score(s) {}
void change(int n, float s) { num = n; score = s; }
void display() { cout << num << " " << score << endl; }
private:
int num;
float score;
};
void fun(Student &stud) {
stud.display();
stud.change(101, 80.5);
stud.display();
}
int main() {
Student stud(101, 78.5);
fun(stud);
return 0;
}
```
在新的程序中,我们增加了一个函数 `fun`,它的形参是 `Student &` 类型的引用,即对象的引用。在 `fun` 函数中,我们首先调用 `display` 函数输出当前对象的信息,然后调用 `change` 函数修改对象的信息,最后再次调用 `display` 函数输出修改后的信息。在 `main` 函数中,我们创建了一个 `Student` 类型的对象 `stud`,并将它作为实参传递给 `fun` 函数。运行程序后,输出结果和原来的程序一样。
阅读全文