首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序中,函数fun的功能是:用函数指针指向要调用的函数,并进行调用。规定在【2】处使f指向函数f1,在【3】处使f指向函数f2。当调用正确时,程序输出: x1=5.000000,x2=3.000000,x1*x1+x1*x2=40.000000。
给定程序中,函数fun的功能是:用函数指针指向要调用的函数,并进行调用。规定在【2】处使f指向函数f1,在【3】处使f指向函数f2。当调用正确时,程序输出: x1=5.000000,x2=3.000000,x1*x1+x1*x2=40.000000。
admin
2016-12-06
70
问题
给定程序中,函数fun的功能是:用函数指针指向要调用的函数,并进行调用。规定在【2】处使f指向函数f1,在【3】处使f指向函数f2。当调用正确时,程序输出:
x1=5.000000,x2=3.000000,x1*x1+x1*x2=40.000000。
注意:部分源程序在文件BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
试题程序:
1 #include<stdio.h>
2 double f1(double x)
3 {return x*x;}
4 double f2(double x,double y)
5 {return x*y;}
6 double fun(double a,double b)
7 {
8 /*********found*********/
9
【1】
(*f)();
10 double r1,r2;
11 /*********found*********/
12 f=
【2】
;
13 r1=f(a);
14 /*********found*********/
15 f=
【3】
;
16 r2=(*f)(a,b);
17 return r1+r2;
18 }
19 main()
20 {double x1=5,x2=3,r ;
21 r=fun(x1 , x2);
22 printf(’’\nx1=%f,x2=%f,x1*x1+x1*x2=%f\n’’,x1,x2,r);
23 }
选项
答案
(1)double (2)f1 (3)f2
解析
填空1:(*f)()代表一个指向函数的指针变量,而本题所被调用的f1、f2两函数的返回值均为double型,因而此空应该填写double。
填空2:因为在给函数指针变量赋值时,只需给出函数名而不必给出参数,因而此空应该填写f1。
填空3:同填空2,此空应该填写f2。
相关知识点:
(1)指向函数的指针变量的一般定义形式为:数据类型(*指针变量名)();
(2)函数的调用可以通过函数名调用,也可以通过函数指针调用。
(3)在给函数指针变量赋值时,只需给出函数名而不必给出参数。
转载请注明原文地址:https://kaotiyun.com/show/yNDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
写出下列程序的输出结果______。main(){intn=0;while(n++<=1);printf("%d,",n);printf("
有以下语句:intb;charc[10];,则正确的输入语句是______。
设有定义语句:charc1=92,c2=92;,则以下表达式中值为零的是______。
x、y、x均为int型变量,描述“x、y和z中至少有两个为正数”的表达式是______。
结构化分析方法是面向()的自顶向下逐步求精进行需求分析的方法。
下列叙述中正确的是()。
以下不属于对象的基本特点的是
对长度为n的线性表进行顺序查找,在最坏情况下所需要的比较次数为
对下列二叉树:进行前序遍历的结果为______。
具有3个结点的二叉树有
随机试题
Newbooksweredisplayedina________positionontablesatthefrontoftheshop.
噪声的频率____,强度____,接触时间____,
各级疾病预防控制机构在传染病预防控制中履行下列职责
下列关于设备安装工程试车的说法,错误的是()。
以下不符合《税收征收管理法》规定的有()。
87,57,36,19,()
在曲面x2+y2+z2一2x+2y-4z-3=0上,过点(3,一2,4)的切平面方程是().
从语义上看,句子宾语可以是施事。(上海外国语大学)
有如下程序#include#includestructS{charname[10];};voidchange(structS*data,intvalue){strcpy(data->name,"****");valu
有下列程序 #include<stdio.h> main() {charv[4][10];inti; for(i=0;i<4;i++) scanf("%s",v[i]); printf("%c,%s,%s,%c",
最新回复
(
0
)