单项选择(1999年中国科学院软件技术研究所)

在C语言中,数组名作为参数传递给函数,作为实在参数的数组名被处理为【 】

A、该数组的长度

B、该数组的元素个数

C、该数组中各元素的值

D、该数组的首地址

答案解析

D

讨论

一个变量通常具有名字、地址、值、类型、生存期、作用域等属性,其中,变量地址也称为变量的左值(1-value),变量的值也称为其右值(r-value)。当以引用调用方式实现函数调用时,【 】。

若程序中定义了三个函数f1、f2和f3,并且函数f1执行时会调用f2、函数f2执行时会调用f3,那么正常情况下,【 】。

函数f()、g()的定义如下所示,已知调用f时传递给其形参x的值是10。若以引用方式调用g,则函数f()的返回值为【 】。f(int x):int y=0;y=g(x);return x+y;g(int x):x=x+5;return x;

函数调用时若实参是数组名,则是将【 】传递给对应的形参。

函数 main()、test()的定义如下所示。调用函数test时,第一个参数采用传值方式,第二个参数采用传引用方式,man()函数中“ printi(x,y)”执行后,输出结果为【 】。main(){ int x=1,y=5; test(x,y); print(x,y);}test (int x,int &a){ a=x+a*2; x=x+1; return;}

已知函数 f()、g()的定义如下所示,调用函数f()时传递给形参x的值是5。若 g(a)采用引用调用(call by reference)方式传递参数,则函数f()的返回值为______;若 g(a)采用值询用(call by value)的方式传递参数,则函数f()的返回值为______。其中,表达式“x>>1”的含义是将x的值右移1位,相当于x除以 2。f(int x) int a =x>>1; g(a); return a+i;g(int x) x=x*(x+1)i; returni;

函数main()、f()的定义如下所示。调用函数f()时,第一个参数采用传值(call byvalue)方式,第二个参数采用传引用(call byreference)方式,main()执行后输出的值为【 】。main() {int x=2;f(1,x);print(x); }f(int x int &a) {x=2*a+1; a=x+3; return; }

函数 int minOne( int arr[],intk)的功能是用递归方法求指定数组中前k个元素中的最小者,并作为函数值返回。int minOne (int arr[], int k){ int t; assert(k>0); if(k==1) return __(1)__; t=minOne (arr+1,__(2)__); if (arr[0]<t) return arr [0]; return __(3)__;}

已知函数f()、g()的定义如下所示,执行表达式“x=f(5)”的运算时,若函数调用g(a)是引用调用( call by reference)方式,则执行“x=f(5)”后x的值为【 】。f(int x) int a= x-1; g(a); return a*x;g(int y) y = y*y-1; return;

已知函数f()、g()的定义如下所示,执行表达式“x=f(5)”的运算时,若函数调用g(a)是值调用( call by value)方式,则执行“x=f(5)”后x的值为【 】。f(int x) int a= x-1; g(a); return a*x;g(int y) y = y*y-1; return;

写出下面N-S图的程序,并说明其功能。

判断下列程序是来做什么的【 】double Func( double x1,double x2, double eps){ double x,A; x=x1; A=eps*(f(x1)+f(x2))/2; for(int j=0; j<(x2-x1)/eps; j++){ x+ =eps; A+ =eps*f(x); } return A;}

对任意个自然数n(1<n≤40),按递增顺序依次列出所有分母小于等于n的真分数(不可约分数)。

Fibonacci数列Fn定义如下:F0=0, F1=1, Fn=Fn-1+Fn-2,n=2,3,...用递归算法计算n=10的函数值。

阅读下述程序,导出指定变量的计算公式。Option Base 1Private Sub Command 1_Click()Dim X As Single, PS As Single, PD As Single, A(), B() A= Array(-1.2,1.7,2.5,3.3,3.5) B=Aray(0.8,0.6,0.1,-1.1,-4.1) X= Val( Text 1. Text) PS=PP(X, A,5,1) PD=PP(X, B, 4, 2) Print X, PS, PDEnd SubPrivate Function PP(X As Single, B() As Variant, By Val N As Integer, By Val TT As Integer) As Single Dim I As Integer, K As Integer PP=0.0 For I=1 To N K=N-I+1 PP=PP* X*X+B(K) Next I If TT>1 Then PP=PP*XEnd Function其中PS、PD的计算公式为?

在C语言的函数 void f(){static int i=0;…}说明中,静态变量i的作用域是______,生命周期是______,i的初始化是在______时进行的。(第1、2个空从A~C中选择,第3个空从D、E中选择)A.整个程序 B.函数f()所在的文件 C.函数f()内部D.编译 E.程序运行

程序的3种基本控制结构是______、______和______。

类型定义:char S[3]=""AB;char *P;在执行了语句P=S之后,*(P+2)的值是【 】

C语言命令行参数很有特点,其一般表达形式是【 】

在C语言的函数 void f(){static int i=0;…}说明中,静态变量i的作用域是______,生命周期是______,i的初始化是在______时进行的。(第1、2个空从A~C中选择,第3个空从D、E中选择)A.整个程序 B.函数f()所在的文件 C.函数f()内部D.编译 E.程序运行