itgle.com

以下程序运行时若要正确输出函数的入口地址和输入数的绝对值,应在程序空缺处填入的正确选项是 abs(int x) { if(x>=0)return x; else return-x;} main() { int y,z,(*p)(int x)=abs; scanf(" %d" ,&y); z=( *p)(y); ——; }A.printf("%d%d\n",&p,z)B.Printf("%d%d\n",p,z)C.printf("%d%d\n",*p,z)D.printf("%d%d\n",p,*z)

题目

以下程序运行时若要正确输出函数的入口地址和输入数的绝对值,应在程序空缺处填入的正确选项是 abs(int x) { if(x>=0)return x; else return-x;} main() { int y,z,(*p)(int x)=abs; scanf(" %d" ,&y); z=( *p)(y); ——; }

A.printf("%d%d\n",&p,z)

B.Printf("%d%d\n",p,z)

C.printf("%d%d\n",*p,z)

D.printf("%d%d\n",p,*z)


相似考题
更多“以下程序运行时若要正确输出函数的入口地址和输入数的绝对值,应在程序空缺处填入的正确选项是abs ”相关问题
  • 第1题:

    给定程序中,函数fun的作用是:不断从终端读入整数,由变量a统计大于0的个数,用变量c来统计小于0的个数,当输入0时结束输入,并通过形参pa和pb把统计的数据传回主函数进行输出。

    请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在BLANKl.C中。

    不得增行或删行,也不得更改程序的结构!试颖程序.


    正确答案:
    (1)a=0,b=0,k(2)(k!=O)(3)scanf(”%d”,&k)【考点分析】主要考察考生对循环结构的理解。【解题思路】填空1:a=0,b=0,k下面的scanf函数用到变量k,需要提前定义,在while循环中使用了临时存放正负数个数的变量a,b,因此也要提前定义。填空2:(k!=0)根据题意,输入0时结束程序,因此当k!=0时进入循环记录正负数的个数。填空3:scanf(”%d“,&k)需要不断从终端输入整数,因此在循环体内添加输入操作。

  • 第2题:

    给定程序MODll.C中函数fun的功能是:用下面的公式求π的近似值,直到最后一项的绝对值小于指定的数(参数num)为止:

    例如,程序运行后,输入0.0001,则程序输出3.1414。

    请改正程序中的错误,使它能输出正确的结果。

    注意:不要改动smain函数,不得增行或删行,也不得更改程序的结构!


    正确答案:(1)while(fabs(t)>=num) (2)t=s/n;
    (1)while(fabs(t)>=num) (2)t=s/n; 解析:本题中函数的功能是利用公式计算π的近似值,直到最后一项的绝对值小于指定的数。本题解题过程参照一般公式题型的求解过程。

  • 第3题:

    在用户程序中调用PID子程序时,应在“Output”处输入PID控制量的输出地址。


    正确

  • 第4题:

    下列给定程序中,函数fun的功能是:将形参n中,各位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新数,作为函数值返回。 例如,输入一个整数27638496,函数返回值为64862。 请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。 注意:部分源程序在文件BLANKl.C中。 不得增行或删行,也不得更改程序的结构!


    正确答案:
    【考点分析】
    本题考查:已知某数,如何求该数各个位数值,已知各个位数值,如何表示该数;除法运算。
    【解题思路】
    填空l:定义变量t用来存放某数的各个位数值,此处判断t是否为偶数,即对2求余结果是否为0。填空2:将t作为x的个位数,原来x的各个位上升l位,即x=10*x+1。
    填空3:每循环一次,通过除法运算,去掉数值最后一位。
    【解题宝典】
    如果知道某数n的各个位的数值,可以得到该数值fl,如n的个位为a、十位为b、百位为c,那么n=c*100+b*10+a。如果知道数值n,可以采用求余和除法操作来表示其各个位,如n%10(取个位)、n/lO(取十位),读者可以自己考虑一下,如果是三位数,如何提取各个位?四位数呢?

  • 第5题:

    以下程序运行时若要正确输出函数的入口地址和输入数的绝对值,应在程序空缺处填入的正确选项是

    abs(int x)

    { if(x>=0)return x;

    else return -x; }

    main()

    { int y,z,(*p)(int x)=abs;

    scanf(" %d" ,&y);

    z=(*p)(y);

    ; }

    A.printf(" %d %d\n",&p,z)

    B.printf(" %d%d\n" ,p,z)

    C.printf(" %d %d\n",*p,z)

    D.printf(" %d%d\n" ,p,*z)


    正确答案:B
    解析:考查函数指针的使用方法。可以使用函数指针来调用函数。调用形式为:(*指针变量)(实参表列)。