首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序中,函数fun的功能是: 用函数指针指向要调用的函数,并进行调用。 规定在【2】处使f指向函数f1,在【3】处使f指向函数f2。 当调用正确时,程序输出: x1=5.000000,x2=3.000000,x1*x1+x1*x2= 40.0000
给定程序中,函数fun的功能是: 用函数指针指向要调用的函数,并进行调用。 规定在【2】处使f指向函数f1,在【3】处使f指向函数f2。 当调用正确时,程序输出: x1=5.000000,x2=3.000000,x1*x1+x1*x2= 40.0000
admin
2017-09-23
22
问题
给定程序中,函数fun的功能是:
用函数指针指向要调用的函数,并进行调用。
规定在
【2】
处使f指向函数f1,在
【3】
处使f指向函数f2。
当调用正确时,程序输出:
x1=5.000000,x2=3.000000,x1*x1+x1*x2= 40.000000。
注意:部分源程序在文件BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include < stdio .h >
double f1 (double x)
{ return x*x; }
double f2 (double x, double y)
{ return x*y;}
double fun (double a, double b)
{
/*********found*********/
【1】
(*f)();
double r1, r2;
/*********found*********/
f=
【2】
;
r1=f(a);
/*********found*********/
f=
【3】
;
r2=(*f)(a,b);
return r1 + r2;
}
main ()
{ double x1 =5, x2 =3, r,
r = fun (xl, x2);
printf ("\nx1 = % f, x2 = % f,
x1 * x1 +x1 * x2 = % f\n",x1, x2, r) ;
}
选项
答案
(1)double (2)f1 (3)f2
解析
填空1:(*f)()代表一个指向函数的指针变量,而本题所被调用的f1、f2两函数的返回值均为double型,因而此空应该填写double。
填空2:因为在给函数指针变量赋值时,只需给出函数名而不必给出参数,因而此空应该填写f1。
填空3:同填空2,此空应该填写f2。
相关知识点:
(1)指向函数的指针变量的一般定义形式为:数据类型(*指针变量名)();
(2)函数的调用可以通过函数名调用,也可以通过函数指针调用。
(3)在给函数指针变量赋值时,只需给出函数名而不必给出参数。
转载请注明原文地址:https://kaotiyun.com/show/Fsxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若x=2,y=3,则x&y的结果是()。
以下程序:#include<stdio.h>#include<string.h>main(){charstr[]="abcd\n\123\xab";printf("%d",(str));}运行后的输
下面程序的运行结果是()。#include<stdio.h>#include<string.h>main(){char*s1="abDuj";char*s2="ABdUG";intt;t=s
下面程序运行后的输出结果是()。#include<stdio.h>main(){inta[5]={1,0,4,2,0},b[5]={1,2,3,4,5},i,s=0;for(i=0;i<5;i++)s=s+b[a[
衡量软件的模块独立性使用耦合性和内聚性两个定性的度量标准,其中()是度量一个模块功能强度的一个相对指标。
以下程序统计从终端输入的字符中大写字母的个数。用#号作为输入结束标志,请填空。#include<stdio.h>#include<ctype.h>main(){intnum[26],i;charc;for(i=0;i<26
若有以下定义,则对a数组元素的正确引用是()。inta[5],*p=a;
以下程序的功能是:将输入的正整数按逆序输出。例如:若输入135,则输出531,请填空。#include<stdio.h>main(){intn,s;printf("Enteranumber:");scanf("%d",&n)
已知一个文件中存放若干工人档案记录,其数据结构如下:structa{charnumber[100];intage;floatp[6];};定义一个数组:structanumber[10];
执行以下“for(i=1;i++<=4;i++);”语句后,变量i的值是()。
随机试题
下述哪项不符合新生儿皮下坏疽
患者,男性,22岁,正畸转科拔除,用2%普鲁卡因2.5ml作阻滞麻醉,重复1次后才获麻醉效果。拔牙顺利。术后5小时患者仍感下唇麻木而复诊,其原因可能是
食盐氟化优于饮水氟化的方面错误的是
A、热盛血瘀B、热伤肺气C、血败肉腐D、邪去正虚E、风热犯肺肺痈溃脓期的病理为
下列属于与建设项目有关的费用的有()。
智能化系统检测技术计算机网络系统的检测包括()。
下列关于网上定价发行认购成功者的确认方式的说法中,正确的是()
为了尽可能保证其成本能够比较准确地核算,避免创新活动偏离银行的经营目标,商业银行在金融创新中应遵循()原则。
国家购买私人企业股票,表明:
在各种不同的软件需求中,(16)描述了用户使用产品必须要完成的任务,可以在用例模型中予以说明。
最新回复
(
0
)