第七章关于函数的定义,以下正确的描述是________。 (A) 如果函数不返回值,可以省略类型说明符 (B) 可以在同一程序中定义同名的函数,只要保证它们的返回值类型或形参列表不相同即可 (C) 同一函数中的形参名必须唯一,但可以与其他函数中的变量同名 (D) 如果函数体为空,则函数最外层的一对花括号可以省略若有函数定义:int fun()(double x=23.5; return x;),则函数的返回结果是________。 (A) 23 (B) 23.0 (C) 23.5 (D) 24在函数调用[1]过程中,如果函数A调用函数B,函数B又调用函数A,则这种函数调用被称为________。 (A) 间接递归调用[2] (B) 直接递归调用 (C) 间接循环调用 (D) 直接循环调用以下程序的输出结果是________。 #include<stdio.h> int fun(int x)(return ++x;) void main()( int i=0; while(fun(i)<10) i++; printf("%dn",i); ) (A) 11 (B) 10 (C) 8 (D) 9关于函数调用时的参数传递[3],以下错误的描述是________。 (A) 实参[4]可以是常量[5]、变量或表达式 (B) 形参可以是常量、变量或表达式 (C) 实参与形参的个数相等、类型一致 (D) 实参必须有确定的赋值若有以下程序,则下划线所在位置应填入的语句是________。 #include<stdio.h> void main()( double res; __________ res=fun(3.7f,4.5f); printf("%fn",res); ) double fun(float x,float y) (return x*y;) (A) double fun(float); (B) double fun(); (C) float fun(float,float); (D) double fun(float,float);用一维数组名作为函数的实参时,传递给对应形参的是________。 (A) 整个数组 (B) 第一个数组元素的地址 (C) 数组的首地址 (D) (B)和(C)都是正确的以下程序的输出结果是________。 #include<stdio.h> void fun(int b[5],int n)( int i,t; for(i=0;i<n;i++){t=b[i]; b[i]=b[n-i-1]; b[n-i-1]=t;) } void main()( int a[5]={9,7,5,3,1),i; fun(a,5); for(i=0;i<5;i++) printf("%d ",a[i]); } (A) 1 3 5 7 9 (B) 3 1 9 7 5 (C) 9 7 5 3 1 (D) 编译时[6]报错在C语言程序中定义全局变量[7],如果该变量使用关键字static作为存储类别说明符,则它的作用域[8]是________。 (A) 整个程序范围 (B) 定义该变量的源文件范围 (C) main函数内部 (D) 从定义该变量的位置开始直至程序结束若有数组定义语句int a[6];和函数调用语句fun(a); 则在fun函数的定义中,对形参数组array的错误定义方式是________。 (A) void fun(int array[int N=6]) (B) void fun(int array[10]) (C) void fun(int array[]) (D) void fun(int array[3])以下程序执行完毕后,变量res的值是________。 #include<stdio.h> int X=35; int fun(int n)( int X=15; return X%n?++X:--X; ) void main()( double res; res=X/fun(3); ) (A) 1.0 (B) 2.1875 (C) 2.0 (D) 2.5以下说法正确的是________。 (A) 在函数中可以使用多条return语句来返回多个处理结果 (B) 在函数中最多只能有一条return语句 (C) 一个函数不可能既是被调用函数,又是主调函数 (D) 如果函数值的类型与返回值的类型不一致,以函数值类型为准以下程序执行完毕后,变量s的值是________。 #include<stdio.h> int fun(int n)( static int k=1; k*=n; return k; ) void main()( int i,s=0; for(i=1;i<5;i++) s+=fun(i); ) (A) 10 (B) 33 (C) 15 (D) 153以下程序的输出结果是________。 #include<stdio.h> int fun(int n)( if(n==2) return n; else return n*fun(n-2); ) void main()(printf("%dn",fun(7));) (A) 105 (B) 2 (C) 35 (D) 递归无法正常结束以下说法错误的是________。 (A) 局部变量[9]使用static作为存储类别说明符,其生存期将得到延长 (B) 自动变量一定是局部变量 (C) 全局变量使用static作为存储类别说明符,其作用域将被扩大 (D) 寄存器[10]变量的分配方式采用动态分配[11]下列程序在运行时,若通过键盘输入的数据为“24”,则输出结果是________。 #include<stdio.h> int isprime(int n)( int i; for(i=2;i<=n/2;i++) if(n%i==0) return 0; return 1; ) int fun(int n)( int i; for(i=3;i<=n/2;i++) if(isprime(i)isprime(n-i)) return i; return 0; ) void main()( int x; scanf("%d",x); if(x%2==0x>=6) printf("%d,%dn",fun(x),x-fun(x)); ) (A) 5,19 (B) 7,17 (C) 0,0 (D) 11,13以下说法正确的是________。 (A) 在函数定义时,如果不明确指定函数的返回值类型,则默认返回值类型为“void” (B) 所有的函数都是平行的,一个函数并不从属于另一个函数 (C) 属于一个C语言程序的不同文件中不允许定义同名的全局变量 (D) 函数被调用时形参才分配存储单元[12],函数调用结束后形参不释放占据的存储单元判断题B 在C语言中定义无参函数时,函数名后的一对圆括号可以保留,也可以省略。

第七章

关于函数的定义,以下正确的描述是________。 (A) 如果函数不返回值,可以省略类型说明符 (B) 可以在同一程序中定义同名的函数,只要保证它们的返回值类型或形参列表不相同即可 (C) 同一函数中的形参名必须唯一,但可以与其他函数中的变量同名 (D) 如果函数体为空,则函数最外层的一对花括号可以省略

若有函数定义:int fun(){double x=23.5; return x;},则函数的返回结果是________。 (A) 23 (B) 23.0 (C) 23.5 (D) 24

函数调用[1]过程中,如果函数A调用函数B,函数B又调用函数A,则这种函数调用被称为________。 (A) 间接递归调用[2] (B) 直接递归调用 (C) 间接循环调用 (D) 直接循环调用

以下程序的输出结果是________。 #include<stdio.h> int fun(int x){return ++x;} void main(){ int i=0; while(fun(i)<10) i++; printf("%d\n",i); } (A) 11 (B) 10 (C) 8 (D) 9

关于函数调用时的参数传递[3],以下错误的描述是________。 (A) 实参[4]可以是常量[5]、变量或表达式 (B) 形参可以是常量、变量或表达式 (C) 实参与形参的个数相等、类型一致 (D) 实参必须有确定的赋值

若有以下程序,则下划线所在位置应填入的语句是________。 #include<stdio.h> void main(){ double res; __________ res=fun(3.7f,4.5f); printf("%f\n",res); } double fun(float x,float y) {return x*y;} (A) double fun(float); (B) double fun(); (C) float fun(float,float); (D) double fun(float,float);

用一维数组名作为函数的实参时,传递给对应形参的是________。 (A) 整个数组 (B) 第一个数组元素的地址 (C) 数组的首地址 (D) (B)和(C)都是正确的

以下程序的输出结果是________。 #include<stdio.h> void fun(int b[5],int n){ int i,t; for(i=0;i<n;i++){t=b[i]; b[i]=b[n-i-1]; b[n-i-1]=t;} } void main(){ int a[5]={9,7,5,3,1},i; fun(a,5); for(i=0;i<5;i++) printf("%d ",a[i]); } (A) 1 3 5 7 9 (B) 3 1 9 7 5 (C) 9 7 5 3 1 (D) 编译时[6]报错

在C语言程序中定义全局变量[7],如果该变量使用关键字static作为存储类别说明符,则它的作用域[8]是________。 (A) 整个程序范围 (B) 定义该变量的源文件范围 (C) main函数内部 (D) 从定义该变量的位置开始直至程序结束

若有数组定义语句int a[6];和函数调用语句fun(a); 则在fun函数的定义中,对形参数组array的错误定义方式是________。 (A) void fun(int array[int N=6]) (B) void fun(int array[10]) (C) void fun(int array[]) (D) void fun(int array[3])

以下程序执行完毕后,变量res的值是________。 #include<stdio.h> int X=35; int fun(int n){ int X=15; return X%n?++X:--X; } void main(){ double res; res=X/fun(3); } (A) 1.0 (B) 2.1875 (C) 2.0 (D) 2.5

以下说法正确的是________。 (A) 在函数中可以使用多条return语句来返回多个处理结果 (B) 在函数中最多只能有一条return语句 (C) 一个函数不可能既是被调用函数,又是主调函数 (D) 如果函数值的类型与返回值的类型不一致,以函数值类型为准

以下程序执行完毕后,变量s的值是________。 #include<stdio.h> int fun(int n){ static int k=1; k*=n; return k; } void main(){ int i,s=0; for(i=1;i<5;i++) s+=fun(i); } (A) 10 (B) 33 (C) 15 (D) 153

以下程序的输出结果是________。 #include<stdio.h> int fun(int n){ if(n==2) return n; else return n*fun(n-2); } void main(){printf("%d\n",fun(7));} (A) 105 (B) 2 (C) 35 (D) 递归无法正常结束

以下说法错误的是________。 (A) 局部变量[9]使用static作为存储类别说明符,其生存期将得到延长 (B) 自动变量一定是局部变量 (C) 全局变量使用static作为存储类别说明符,其作用域将被扩大 (D) 寄存器[10]变量的分配方式采用动态分配[11]

下列程序在运行时,若通过键盘输入的数据为“24”,则输出结果是________。 #include<stdio.h> int isprime(int n){ int i; for(i=2;i<=n/2;i++) if(n%i==0) return 0; return 1; } int fun(int n){ int i; for(i=3;i<=n/2;i++) if(isprime(i)isprime(n-i)) return i; return 0; } void main(){ int x; scanf("%d",x); if(x%2==0x>=6) printf("%d,%d\n",fun(x),x-fun(x)); } (A) 5,19 (B) 7,17 (C) 0,0 (D) 11,13

以下说法正确的是________。 (A) 在函数定义时,如果不明确指定函数的返回值类型,则默认返回值类型为“void” (B) 所有的函数都是平行的,一个函数并不从属于另一个函数 (C) 属于一个C语言程序的不同文件中不允许定义同名的全局变量 (D) 函数被调用时形参才分配存储单元[12],函数调用结束后形参不释放占据的存储单元

判断题

B 在C语言中定义无参函数时,函数名后的一对圆括号可以保留,也可以省略。

A. 被调用函数执行过程中形参值的变化不会影响主调函数中的实参值。
B. 以下函数的功能是计算1+1/2+1/3+...+1/n。 double fun(int n){ int i; double s=0.0; for(i=1;i<=n;i++) s+=1/i; return s; }
C. 如果被调用函数的定义出现在主调函数之前,必须使用函数[13]原型对其进行声明。
D. 以下程序的输出结果是:2 3 4 5 6 7。 #include<stdio.h> void fun(int
E. [3]){ int i; for(i=0;i<6;i++) b[i]++; } void main(){ int a[6],i; for(i=0;i<6;i++) a[i]=i+1; fun(a); for(i=0;i<6;i++) printf("%d ",a[i]); }
F. 在函数中使用全局变量,可以得到一个以上的处理结果。
G.
语言不允许嵌套定义函数,因此在main函数内部不可能出现“double fun(int a,float b);”这样的语句。
在定义静态局部变量时如果不对其进行初始化,则系统会自动为该变量赋默认初值。
以下程序的功能是输出二维数组中每行元素的平均值,则在下划线所在位置应填入的代码是“avg(x)”。 #include<stdio.h> double avg(int a[5]){ int i; double s=0; for(i=0;i<5;i++) s+=a[i]; return s/5; } void main(){ int x[3][5]={{8,12,1,7,5},{4,14,6},{2,9,3,3}},i; for(i=0;i<3;i++) printf("%f\n",__________); }
以下函数的功能是输出m和n(m>n)两个正整数的最大公约数,则在下划线所在位置应填入的代码是“gcd(n,m%n)”。 int gcd(int m,int n){ if(n==0) return m; else return __________;
}
若有函数定义:static int fun(){......},表明fun函数只能被所在文件内的函数调用,而不能被其他文件内的函数所调用。
[ 嵌套调用]。
[ s+=t*i ]; t=-t;} return s; } void main(){printf("%d\n",fun(50));}
[ fun(a[i]) ]; }
[ 8 ]。 #include<stdio.h> int fun(int n){return n>2?fun(n-1)+fun(n-2):1;} void main(){int x=fun(6);}
[ 4 5 6 1 2 3 ]。 #include<stdio.h> #define N 6 int cnt=0; void fun(int n){while(cnt<n/2) cnt++;} void main(){ int a[N],i,t; for(i=0;i<N;i++) scanf("%d",a[i]); fun(N-1); for(i=cnt;i>=0;i--) {t=a[i]; a[i]=a[i+N/2]; a[i+N/2]=t;} for(i=0;i<N;i++) printf("%d ",a[i]); }
______。 (A)0 (B)1 (C)2 (D)3
______。 (A)i=i+1,k=i (B)k=i,i=i+1 (C)k=++i (D)k+=i+1
a>=-5 and a<=5
a>=-5 or a<=5
a>=-5 a<=5
a>=-5 || a<=5
______。 (A)k%2==1 (B)k/2 (C)k%2!=0 (D)k%2==0
________。 (A)(x-y>0) (B)(x-y<0) (C)(x-y<0 || x-y>0) (D)(x-y==0)
字符'A'
字符'a'
字符'e'
非法的常量
t f; double d; ,表达式5-2*i+d/f值的数据类型[14]为[ double ]。
r k='\77'; ,变量k中包含[ 1 ]个字符。
语言中的基本数据类型包括整型、实型和[ 字符型]。
'的ASCII码是65,若变量k是int类型,则执行了语句:k='A'+2.8; 后变量k的值是[67 ]。
tic int s=0; s+=i; return s; } int fun2(int i){ static int s=0; [ s+=fun1(i) ]; return s; } void main(){ int i,s; for(i=1;i<5;i++) s=fun2(i); printf("%d\n",s); }
[ 9 4 5 8 7 ]。 #include<stdio.h> int t=0; void fun(int x){ int a[5],i,j; a[t++]=x; if(t==5) for(i=0;i<4;i++) for(j=i+1;j<5;j++) if(a[i]>a[j]) {t=a[i]; a[i]=a[j]; a[j]=t;} } void main(){ int a[5]={9,4,5,8,7},i; for(i=0;i<5;i++) fun(a[i]); for(i=0;i<5;i++) printf("%d ",a[i]); }

参考答案与解析:

相关试题

如果函数没有返回值,对于函数的返回值说明可以是( )。

[单选题]如果函数没有返回值,对于函数的返回值说明可以是( )。A.可能没有返回值说明B.用void说明C.用const说明D.返回值可以是任意类型

  • 查看答案
  • 以下关于函数的说法正确的是( )。 函数可以有多个返回值 函数可以有一个返回值 函数不能没有返回值

    以下关于函数的说法正确的是( )。 函数可以有多个返回值 函数可以有一个返回值 函数不能没有返回值 以下关于函数的说法正确的是( )。 函数可以有多个

  • 查看答案
  • 定义Python函数时必须指定函数返回值类型。

    [主观题]定义Python函数时必须指定函数返回值类型。此题为判断题(对,错)。

  • 查看答案
  • 数据类型说明符用来说明方法返回值的类型,如果没有返回值,则其类型说明符应为()。

    [填空题] 数据类型说明符用来说明方法返回值的类型,如果没有返回值,则其类型说明符应为()。

  • 查看答案
  • 在编写中断程序时应遵循以下哪些规则 ( ) A 中断函数没有返回值, 如果定义一个返回值 ,将会得到不正确结果 B 建议将中断函数定义为 void 类型,明确说明无返回值 C 中断函数不能进行参数传

    在编写中断程序时应遵循以下哪些规则 ( ) A 中断函数没有返回值, 如果定义一个返回值 ,将会得到不正确结果 B 建议将中断函数定义为 void 类型,明确

  • 查看答案
  • 已定义以下函数: fun函数的返回值是( )。

    [单选题]已定义以下函数:fun函数的返回值是( )。A.一个整数B.不确定的值C.形参P中存放的值D.形参P的地址值

  • 查看答案
  • 在Python中定义函数时不需要声明函数的返回值类型。

    [主观题]在Python中定义函数时不需要声明函数的返回值类型。此题为判断题(对,错)。

  • 查看答案
  • 关于函数返回值类型和返回值表达式的类型的描述中,错误的是()。

    [单选题]关于函数返回值类型和返回值表达式的类型的描述中,错误的是( )。A.函数返回值类型决定了返回值表达式的类型B.函数返回值的类型是在定义函数时确定的,在函数调用时不能改变C.函数返回值的类型就是返回值表达式的类型D.函数返回值表达式类型与返回值类型不同时,函数表达式类型应转换成函数返回值类型

  • 查看答案
  • 在函数的返回值类型与返回值表达式类型的描述中,错误的是()。

    [单选题]在函数的返回值类型与返回值表达式类型的描述中,错误的是( )。A.函数返回值的类型是在定义函数时确定的,在函数调用时是不能改变的B.函数返回值的类型就是返回值表达式的类型C.函数返回值的类型与返回值类型不同时,函数表达式类型应转换成返回值类型D.函数返回值的类型决定了返回值表达式的类型

  • 查看答案
  • 在 C 语言中,函数返回值的类型最终取决于A) 函数定义时在函数首部所说明的函数

    [单选题]在 C 语言中,函数返回值的类型最终取决于A.) 函数定义时在函数首部所说明的函数类型B.)return 语句中表达式值的类型C.) 调用函数时主 调 函数所传递的实参类型D.) 函数定义时形参的类型

  • 查看答案