若有以下程序#include<stdio.h>voidf(intn);main() (voidf(intn); f(5); }void f(intn) {printf(

题目
若有以下程序includevoidf(intn);main() (voidf(intn); f(5); }void f(intn) {printf(

若有以下程序 #include <stdio.h> void f(int n); main() ( void f(int n); f(5); } void f(int n) { printf("%d\n",n); } 则以下叙述中不正确的是

A.若只在主函数中对函数f进行说明,则只能在土函数中正确调用函数f

B.若在主函数前对函数f进行说明,则在主函数和其后的其他函数中都可以正碗调用函数f

C.对于以上程序,编译时系统会提示出错信息:提示对f函数重复况明

D.函数f无返回值,所以可用void将其类型定义为无值型

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

有以下程序:includeint f(int t[],int n);main(){int a[4]={1,2,3,4},s;s=f(a,2);prin

有以下程序: #include<stdio.h> int f(int t[],int n); main() {int a[4]={1,2,3,4},s; s=f(a,2);printf("%d\n",s); } int f(int t[],int n) {if((n>0)&&(n<5))return t[n+1]+f(t,n-1); else return 0; } 程序运行后的输出结果是( )。

A.4

B.7

C.10

D.61


正确答案:B

第2题:

若有以下程序#include <stdio.h>void f(int n);main(){ void f(int n); f(5);}void f(int n){ printf("%d\n",n); }则以下叙述中不正确的是A.若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数fB.若在主函数前对函数f进行说明,则在主函数和其他函数中都可以正确调用函数fC.对于以上程序,编译时系统会提示出错信息:对f函数重复说明D.函数f无返回值,所以,可用void将其类型定义为无返回值型


正确答案:C
本题主要考查函数说明的位置及调用。
函数的说明有时可以缺省,在缺省时,必须先被定义后被调用。函数说明的位置可以是所有函数定义的外部,也可以是某一函数内部,对于后者,函数说明的作用域将被限制在该函数定义内部。函数说明是一条独立的语句,其中<形式参数>部分可以省略。当函数在调用时,如果实参的数据类型与函数说明中对应的形参数据类型不兼容,C语言将不能编译通过。不管函数被说明在哪里,我们需要注意的是:函数在被调用前必须先被说明或定义。
在本题中,程序首先说明了一个无返回值的函数f,然后在主函数中又说明了这个函数f,接着调用这个函数,虽然函数被重复说明,但其符合先说明后调用的规定。程序执行时,编译系统不报错。
根据上面的分析我们可以知道,本题四个选项中,描述不正确的是C,虽然函数被重复说明,但编译系统不报错。其他说法都正确。因此本题答案选C。

第3题:

若有以下程序includevoid f(int n);main(){ void f(int n);f(5);}void f(int n){print

若有以下程序 #include<stdio.h> void f(int n); main() { void f(int n); f(5); } void f(int n) {printf(“%d\n”,n);} 则以下叙述中不正确的是

A.若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数f

B.若在主函数前对函数f进行说明,则在主函数和其后的其他的其他函数中都可以正确调用函数f

C.对于以上程序,编译时系统会提示出错信息;提示对f函数重复说明

D.函数f无返回值,所以可用void将其类型定义为无值型


正确答案:C
解析:若一个函数定义在主调函数之后,其返回值不是int或char型,则必须对之进行函数说明。可在函数外说明也可以在函数内说明,在函数外说明,在其后的所有函数均可调用该函数,若在函数内说明,则只能在本函数内调用该函数。函数只能定义一次,但函数说明可以出现多次。

第4题:

若有以下程序#include <stdio.h>void f(int n);main(){ void f(int n); f(5);}void f(int n){ printf("%d\n",n);}则以下叙述中不正确的是A.若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数fB.若在主函数前对函数f进行说明,则在主函数和其后的其他函数中都可以正确调用函数fC.对于以上程序,编译时系统会提示出错信息:对f函数重复说明D.函数f无返回值,所以,可用void将其类型定义为无返回值型


正确答案:C
C语言规定,一个函数中调用另一个函数(即被调用函数)需要具备的条件有:
① 被调用的函数必须是已经存在的函数(是库函数或用户自己定义的函数)。
② 如果使用库函数,一般还应该在本文件开头用#include命令将函数调用有关库函数时所需要的信息“包含”到本文件中。
③ 如果使用自定义函数,而且该函数与调用它的函数在同一个文件中,一般还应该在主调函数中对被调用的函数做声明,即向编译系统声明将要调用此函数,并将有关信息通知编译系统。
在本题中,选项C是不正确的,从程序中我们可以看出,首先在主函数前面声明了函数f,按照函数调用的规则,主函数可以调用该函数了,但在主函数中又重复声明了该函数,其声明的形式完全一样,虽然重复了操作,但编译时系统不会报错,仍属于合理操作。

第5题:

若有以下程序:includevoid f(int n);main(){void f(int n); f(5);}void f(int n){prin

若有以下程序: #include<stdio.h> void f(int n); main() { void f(int n); f(5); } void f(int n) { printf("%d\n",n);}则以下叙述中不正确的是( )。

A.若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数f

B.若在主函数前对函数f进行说明,则在主函数和其后的其他函数中都可以正确调用函数f

C.对于以上程序,编译时系统会提示出错信息:对f函数重复说明

D.函数f无返回值,所以可用void将其类型定义为无返回值型


正确答案:C
解析:f函数没有重复说明,在main函数中是对f函数声明,在main函数外则是对f函数的定义。

第6题:

若有以下程序#includevoidf(intn);main(){voidf(intn);f(5);}voidf(intn){printf(“%d\n“,n);}则以下叙述中不正确的是()

A、若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数f

B、若在主函数前对函数f进行说明,则在主函数和其后的其它函数中都可以正确调用函数f

C、对于以上程序,编译时系统会提示出错信息:提示对对f函数重复说明

D、函数f无返回值,所以可用void将其类型定义为无值型


参考答案:C

第7题:

有以下程序:includedstdio.h>int f(int n); main( ){int a=3,s; s=f(a);s=s+f(a);printf(&qu

有以下程序:

includedstdio.h>

int f(int n);

main( )

{int a=3,s;

s=f(a);s=s+f(a);printf("%dkn",s);

}

int f(int n)

{static int a=1;

n+=a++;

return n;

}

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

A.7

B.8

C.9

D.10


正确答案:C

本题考查函数的调用。当执行s=f(a)时,进入fun函数,n=n+(a++),n的值为3,a的值为1,a++的意思是先用a的值,再将a加1为2,所以n的结果为4,也就是主函数中f(a)的结果为4;返回主函数,执行s=s+f(a),s为4,再次调用函数,此时n仍为3,a的值刚才已经自加2,所以计算后n的值为5,a自加l为3。返回主函数,f(a)的结果为5,所以s=4+5=9。

第8题:

阅读下面程序: include void f(int n) { int x(5); static int y(10); if(n>0) { ++

阅读下面程序:

include<iostream.h>

void f(int n)

{

int x(5);

static int y(10);

if(n>0)

{

++x;

++y;

cout<<x<<","<<y<<endl;

}

}

void main()

{

int m(1);

f(m),

}

则该程序的输出结果是【 】


正确答案:611
6,11

第9题:

若有以下程序includevoidf(intn);main(){voidf(intn);f(5);}voidf(intn){printf("%d\n",n);}则以下叙述中不的是()。

A、若只在主函数中对函数f进行说明,则只能在主函数中调用函数f

B、若在主函数前对函数f进行说明,则在主函数和其后的其它函数中都可以调用函数f

C、对于以上程序,编译时系统会提示出错信息:提示对对f函数重复说明

D、函数f无返回值,所以可用void将其类型定义为无值型


参考答案:C