单选题有以下程序: #include double f(double x); main() {double a=0;int i;for(i=0;i<30;i+=10) a+=f((double)i);printf(%5.0f,a); } double f(double x) {return x*x+1; } 程序运行后的输出结果是(  )。A503B401C500D1404

题目
单选题
有以下程序: #include  double f(double x); main() {  double a=0;  int i;  for(i=0;i<30;i+=10) a+=f((double)i);  printf(%5.0f,a); } double f(double x) {  return x*x+1; } 程序运行后的输出结果是(  )。
A

503

B

401

C

500

D

1404


相似考题
更多“有以下程序: #include <stdio.h> double f(double x); main() {  doub”相关问题
  • 第1题:

    请编写函数fun(),它的功能是计算下列级数和,和值由函数值返回。

    S=1+x+x2/2!3/3!+…/xn/n!

    例如,当n=10,x=0.3时,函数值为1349859。

    注意:部分源程序给出如下。

    请勿改动主函数main和其他函数中的任何内容,仅在函数fun 的花括号中填入所编写的若干语句。

    试题程序:

    include<conio.h>

    include<stdio.h>

    include<math.h>

    double fun(double x, int n)

    {

    }

    main ()

    {

    clrscr ();

    printf ("%f ",fun(0,3,10));

    }


    正确答案:double fun(double xint n) { int i; double s=1.0.s1=1.0; for(i=1;i=n;i++) {s1=s1*i; /*各项中的阶乘*/ s=s+ pow(xi)/s1; /*按公式求出*/ } return s; }
    double fun(double x,int n) { int i; double s=1.0.s1=1.0; for(i=1;i=n;i++) {s1=s1*i; /*各项中的阶乘*/ s=s+ pow(x,i)/s1; /*按公式求出*/ } return s; } 解析:本程序中用s1来表示每项的分母(即各项中的阶乘),要注意本程序中s和s1的初值都为1。

  • 第2题:

    有以下程序,请在 处填写正确语句。使程序可正常编译运行。

    include

    mairl();

    {double x,y,(*p)():

    scanf(“%If%If”,&x,&y);

    P=avg;

    printf(“%f\n”,(*p)(x,y));

    }

    double avg(double a,doublc b)

    {return((a十b/2):


    正确答案:double avg(double a.doubleb)
    double avg(double a.doubleb)

  • 第3题:

    有以下程序 include main() { struct STU{char name[9];char sex;double

    有以下程序 #include <stdio.h> main() { struct STU{char name[9];char sex;double score[2];}; sturt STU a={"Zhao" ,'m',85.0,90.0},b={"Qian" ,'f,95:0,92.0}; b=a; printf("%s,%c,%2.0f,%2.0f\n",b.name,b.sex,b.score[0],b.score[1]); } 程序的运行结果是______。

    A.Qian,f,95,92

    B.Qian,85,90

    C.Zhao,f,95,92

    D.Zhao,m,85,90


    正确答案:D
    解析:本题定义了两个结构体变量a和b,并将结构体变量a的内容赋给了结构体变量b。对于结构体的赋值,意味这将其中的每一个元素都进行赋值,所以输出的结构体变量b中的内容即为结构体变量a中的各项内容。另外本题需要注意的是输出格式的控制,其中“%2.0f”指的是输出的数据共占2列,其中有0位小数。

  • 第4题:

    有以下程序:includeincludeusing namespace std; class point{private:double

    有以下程序: #include<iostream> #include<math> using namespace std; class point { private: double x; double y; public: point(double a,double B) { x=a; y=b; } friend double distance (point a,point B) ;

    A.1

    B.5

    C.4

    D.6


    正确答案:C
    解析:本题考核友元函数的应用。分析程序:类point中定义了两个私有成员x和y,以及一个友元函数distance。从而,函数distance可以访问类point中的任何成员。在函数distance中,返回值为sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y))。由此可知,函数distance的功能是计算a、b两点之间的距离。在主函数main中,先定义两点:p1(1,2)和p2(5,2)。然后调用函数distance计算两点之间的距离为4,所以程序最后输出为4。

  • 第5题:

    以下程序的输出结果是【】。 include int add(int x,int y) { retum X+y; } dOuble ad

    以下程序的输出结果是【 】。

    include<iostream.h>

    int add(int x,int y)

    {

    retum X+y;

    }

    dOuble add(dOUble x,double y)

    {

    return x+y;

    }

    void main()

    {

    int a=4,b=6;

    double c=2.6,d=7.4;

    cout<<add(a,b)<<",”<<add(C,d)<<endl;

    }


    正确答案:1010
    10,10

  • 第6题:

    有以下程序:include include using namespace std;class point{private: doub

    有以下程序: #include <iostream> #include <math> using namespace std; class point { private: double x; double y; public: point(double a,double b) { x=a; y=b; } friend double distance(point a,point b) ; }; double distance(point a,point b) { return sqrt ((a.x-b.x)* (a.x-b.x)+(a.y-b.y)*(a.y-b.y)); } int main ( ) { point pl(1,2); point p2 (5, 2); cout<<distance (pl,p2) <<end1; return 0; } 程序运行后的输出结果是( )。

    A.1

    B.5

    C.4

    D.6


    正确答案:C
    解析:本题考核友元函数的应用。分析程序:①类point中定义了两个私有成员x和y,以及一个友元函数distance()。从而,函数distance可以访问类point中的任何成员。②在函数distance()中,返回值为sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y))。由此可知,函数distance()的功能是计算a、b两点之间的距离。③在主函数中,先定义两点:p1(1,2)和p2(5,2)。然后调用函数distance()计算两点之间的距离为4,所以程序最后输出为4。

  • 第7题:

    有以下程序

    #include<stdio.h>

    double f(double x);

    main()

    { double a=0;int i;

    for(i=0;i<30;i+=10) a+=f((double)i);

    printf("%5.0f\n",a);

    }

    double f(double x)

    {return x*x*i;}

    程序运行后的输出结果是

    A.503

    B.401

    C.500

    D.1404


    正确答案:A
    解析:考察函数的基础知识,当i分别为0、10、20时a分别为1,102,503,所以结果为503,选项A正确。

  • 第8题:

    有以下程序:include include void main(){double d= 123.456789;cout<

    有以下程序:#include <iostream.h>#include void main(){ double d= 123.456789; cout<<setprecision(3)<<d<<","; cout<<setprecision(4)<<d<<","; cout<<setprecision(5 )<<d<<end1;}程序执行后的输出结果是( )。

    A.123,123.4,123.45

    B.123,123.5,123.46

    C.123,123,123.4

    D.123.456789,123.456789,123.456789


    正确答案:B

  • 第9题:

    有以下程序:includemain(){int a;char c=10; float f=100.0;double x; a=f/=c*=(x=6.5

    有以下程序: #include <stdio.h> main() { int a; char c=10; float f=100.0; double x; a=f/=c*=(x=6.5); printf("%d%d%3.1f%3.1f\n",a,c,f,x); } 程序运行后的输出结果是( )。

    A.1 65 1 6.5

    B.1 65 1.5 6.5

    C.1 65 1.0 6.5

    D.2 65 1.5 6.5


    正确答案:B
    解析:本题考查复合赋值运算符。本题中先计算c的值,c=c*(x=6.5)=10*6.5=65;然后计算f的值,f=f/c=100.0/65=1.538462;最后计算a的值,a=f,a取f的整数部分,即为1。

  • 第10题:

    下列程序不能通过编译,应该在划线部分填写的语句是______。 include include

    下列程序不能通过编译,应该在划线部分填写的语句是______。

    include<iostream.h>

    include<stdlib.h>

    double Func(int a,int b,char ch)

    {

    double x;

    switch(ch)

    {

    case'+':

    x=double(a)+b;

    break;

    case '-':

    x=double(a)-b;

    break;

    case '*':

    x=double(a)*b;

    break;

    case'/':

    if(B)x=double(a)/b;

    else

    exit(1);

    break;

    default:

    exit(1);

    }

    ______

    }

    void main( )

    {

    cout<<Func(32,6,'-')<<",";

    cout<<Func(32,6, '*')<<",";

    cout<<Func(32,6,'/')<<endl;

    }


    正确答案:return x;
    return x; 解析:本题函数声明时指定了函数的返回值为double,因此在函数体中必须存在一个return语句。

  • 第11题:

    试题31

    以下程序的主函数中调用了在其前面定义的fun函数

    #include <stdio.h>

    main()

    { double a[15], k;

    k=fun(a);

    }

    则以下选项中错误的fun函数首部是()

    A.double fun(double a[15])

    B.double fun(double *a)

    C.double fun(double a[])

    D.double fun(double a)


    正确答案:D
    试题31分析
    a是数组名,其值不能改变,不能用作变量。
    试题31答案
    D

  • 第12题:

    单选题
    有以下程序:#include #include main(){ int a = 1,b=4,c = 2; double x = 10.5,y = 4.0,z; z = (a + b)/c + sqrt(y)*1.2/c+x; printf(%f,z);}程序运行后的输出结果是(  )。
    A

    13.700000

    B

    14.000000

    C

    15.400000

    D

    14.900000


    正确答案: D
    解析:
    sqrt为平方根计算函数,a、b、c三个变量都是整型变量,(a+b)/c结果也取整型得2,所以有z=(1+4)/2+2*1.2/2+10.5=13.7。%f格式输出后为13.700000。答案选择A选项。

  • 第13题:

    分析以下程序执行结果【】。 include int f (int x, int y){return x,y; } double f (d

    分析以下程序执行结果【 】。

    include<iostream.h>

    int f (int x, int y){

    return x,y;

    }

    double f (double x, double y) {

    return x,y;

    }

    void main() {

    int a=4, b=6;

    double c=2.6, d=7.4;

    cout<<f (a, b) <<","<<f (c, d) <<end1;

    }


    正确答案:24 19.24
    24, 19.24

  • 第14题:

    下列程序的运行结果为【】。 include include {int a; char b[10]; double c;};

    下列程序的运行结果为【 】。

    include<stdio.h>

    include<string.h>

    { int a; char b[10]; double c; };

    void f (struct A *t);

    main()

    { struct A a={1001,"ZhangDa",1098.0};

    f(&a) ; printf("%d,%s,%6.lf\n",a.a,a.b,a.C);

    }

    void f(struct A*t)

    { strcpy(t->b, "ChangRong");}


    正确答案:1001ChangRong1098.0
    1001,ChangRong,1098.0 解析:本题主要考查结构体变量赋初值,刚一开始给a赋值1001,b数组什"zhangDa",c赋值1098.0,由于被调函数中引用了结构体成员b,因此在使用strcpy时,strcpy(字符数组1,字符串2),作用是将字符串2复制到字符数组1中, b数组变成了"ChangRong",所以在最后输出时,结果为:1001,ChangRong,1098.0。

  • 第15题:

    写出下列程序的运行结果【】。 include void func(double x, int &part1, double

    写出下列程序的运行结果【 】。

    include<iostream. h>

    void func(double x, int &part1, double &part2){

    part1=int(x)+500:

    part2=(x+500-part1)*100;

    }

    void main( ){

    int n;

    double x, f;

    x=1001. 0103;

    func (x, n, f):

    cout<<"Part 1="<<n<<" , part2="<<f<<end1

    }


    正确答案:part1=1501 part2=1.03
    part1=1501, part2=1.03

  • 第16题:

    有以下程序:include include using namespace std;class point{private:doubl

    有以下程序:#include <iostream>#include <math>using namespace std;class point{private: double x; double y;public: point(double a, double b { x=a; y=b; friend double distance (point a, point b ; };double distance(point a, point b return sqrt((a. x-b. x )*(a. x -b. x )+ (a. x -b. x)*(a. x-b. x));}int main (){ point p1 (1,2); point p2(5,2); cout<<distance (p1, p2)<<end1; return 0;} 程序运行后的输出结果是

    A.1

    B.5

    C.4

    D.6


    正确答案:C
    解析:本题考核友元函数的应用。分析程序:类point中定义了两个私有成员x和y,以及一个友元函数distance。从而,函数distance可以访问类point中的任何成员。在函数distance中,返回值为sqrt ((a. x- b. x)*(a. x-b. x)+(a. y-b. y)*(a. y-b. y))。由此可知,函数distance的功能是计算a、b两点之间的距离。在主函数main中,先定义两点:p1(1,2)和p2(5,2)。然后调用函数distance计算两点之间的距离为4,所以程序最后输出为4。

  • 第17题:

    有以下程序: #include<stdio.h> double f(double x); main( ) {double a=0; int i; for(i=0;i<30;i+=10)a+=f((double)i); printf("%5.of\n",a); } double f(double x) { return x*x+1; } 程序运行后的输出结果是( )。

    A.503

    B.401

    C.500

    D.1404


    正确答案:A
    此题是一个简单的函数调用,当i=0并且i<30,执行i+=10,并且调用函数f,所以当i=0时,结果为1,当i=10时,结果为101,当i=20时,结果为401,所以a=1+101+401=503。

  • 第18题:

    有以下程序; int f1(double A) { return a*a; } int f2(double x,double y) { double a, b; a=n(x); b=f1(y); return a+b; } main() { double w; w=f2(1.1,2.0); ┇ } 变量w中的值是( )

    A.5.21

    B.5

    C.5

    D.0


    正确答案:C

  • 第19题:

    有下列程序:includeusing namespace std;int main(){void function(double val);doub

    有下列程序: #include<iostream> using namespace std; int main() { void function(double val); double val; function(val); cout<<val; return 0; } void fimction(double val) { v

    A.编译出错,无法运行

    B.输出3

    C.输出:3.0

    D.输出一个不确定的数


    正确答案:D
    解析: 此题考查的是函数参数的传递。在C++语言中,函数在传递参数时,总是将实参的值传递给被调用函数的形参,即传值调用。因此,在函数中对形参所作的任何操作都不会改变实参的值。

  • 第20题:

    有如下程序:includeusing namespace std;int main(){void function(double val);doub

    有如下程序: #include<iostream> using namespace std; int main() { void function(double val); double val; function(val); cout<<val; return 0; } void function(double val) { val= 3; } 编译运行这个程序将出现的情况是( )。

    A.编译出错,无法运行

    B.输出:3

    C.输出:3.0

    D.输出一个不确定的数


    正确答案:D

  • 第21题:

    下列程序的输出结果是______。 include main() { double d=3.2;int x,y; x=1.2;y=(x+3.

    下列程序的输出结果是______。 #include<stdio.h> main() { double d=3.2;int x,y; x=1.2;y=(x+3.8)/5.0; printf("%d\n",d*y); }

    A.3

    B.3.2

    C.0

    D.3.07


    正确答案:C

  • 第22题:

    试题24

    有以下程序

    #include <stdio.h>

    double f(double x);

    main()

    { double a=0; int i;

    for(i=0;i<30;i+=10) a+=f((double)i);

    printf(“%5.0f\n”, a);

    }

    double f(double x)

    { return x*x+1;}

    程序运行后的输出结果是()

    A.503

    B.401

    C.500

    D.1404


    正确答案:A
    试题24分析
    a=0,i=0,调用函数f,x*x+1=1;a=1,i=10,x*x+1=101,a=102;i=20,x*x+1=401,a=102+401=503,a=30,不满足条件,退出循环。
    试题24答案
    A

  • 第23题:

    (12)有以下程序,请在 【12】 处填写正确语句,使程序可正常编译运行。

    #include <stdio.h>

    【12】 ;

    main()

    { double x,y,(*p)();

    scanf("%lf%lf",&x,&y);

    p=avg;

    printf("%f\n",(*p)(x,y));

    }

    double avg(double a,double b)

    { return((a+b)/2);}


    正确答案:
    (12)double avg(double a,double b);

  • 第24题:

    单选题
    有以下程序:#includefloat fun(double a){ double x; x=a-(int)a; return x;}main(){ double a=3.1415; printf(%f,fun(a));}程序的运行结果是(  )。
    A

    3.000000

    B

    3.141500

    C

    0.141500

    D

    0.000000


    正确答案: A
    解析:
    在fun函数中,x=a-(int)a表示x取值为a的小数部分,因此,输入a为3.1415,输出x=0.141500。答案选择C选项。