有以下程序:
#include<iostream>
using namespace std;
int f(int x);
int sum(int n)
int x,s=0;
for(x = 0;x<=n;x++)
s+=f(x);
return s;
int f(int x)
return (x*x+1);
int main()
int a,b;
cout<<"Enter a integer number:";
cin>>a;
b=sum(
A.;
 
参考答案:C
解析: 这还是有关调用函数的程序,而且有两层关系。根据程序逐步分析:
①本程序包含了3个函数,其中主函数main调用了sam()函数,而在sum()函数中又调用了f函数。
②在主函数中,先从键盘输入一整数,并赋值给a。在这里题目开始已给出输入的是整数3,调用函数sum(),并把3传值给形参n,最后输出a,b的值。
③在sum()函数中,有一个for循环语句,在每次循环时调用函数f,并把当前的x值传给形参x,循环结束后,返回s值。
④在f()函数中,变量x接收实参的值后,执行表达式“x*x+1”,并返回表达式的运算结果。
⑤在sum()函数中,由于n值为3,不难看出,当x=0、x=1、x=2和x=3时,都能执行循环体,即调用函数f,第1次循环更改s值为1,第2次循环更改s值为3,
第3次更改为8,第4次更改为18,也就是最后一次循环,即最终sum()返回值将是18。
⑥在主函数收到sum()函数的返回值,并输出3,18。