1【单选题】

下列程序的输出结果是( )。

# include <stdio.h>

int f(int n)

{  static int k, s;

n--;

for(k=n; k>0; k--)

s += k;

return s;

}

int main(void)

{  int k;

k=f(3);

printf("(%d,%d)", k, f(k));

return 0;

}

A、(3,3)

B、(6,6)

C、(3,6)

D、(6,12)

正确答案:C

2【单选题】

函数f定义如下,执行语句“sum=f(5)+f(3);”后,sum的值应为( )。

int f(int m)

{ static int i=0;

int s=0;

for(;i<=m;i++)

s+=i;

return s;

}

A、21

B、16

C、15

D、8

正确答案:C

3【单选题】

凡是函数中未指定存储类别的局部变量,其隐含的存储类别是____。

A、auto

B、register

C、extern

D、static

正确答案:A

4【单选题】

如果要一个变量在整个程序运行期间都存在,但是仅在说明它的函数内是可见的,则这个变量的存储类型应该被说明为( )。

A、自动变量

B、静态变量

C、外部变量

D、寄存器变量

正确答案:B

5【单选题】

下面关于形参和实参的说法中,正确的是( )。

A、形参是虚设的,所以它始终不占存储单元。

B、实参与它所对应的形参占用不同的存储单元。

C、实参与它所对应的形参占用同一个存储单元。

D、实参与它所对应的形参同名时可占用同一个存储单元。

正确答案:B

6【单选题】

如果所有的变量按照下面的程序进行定义和声明,那么在main()函数中所有可用的变量为 ()。

void fun(int x)

{

static int y;

……

return;

}

int z;

void main( )

{

int a,b;

fun(a);

……

}

A、x,y

B、x,y,z

C、a,b,z

D、a,b,x,y,z

正确答案:C

7【单选题】

宏定义“#define DIV(a, b) a/b”,经DIV(x + 5, y - 5) 引用,替换展开后是()。

A、x + 5 / y - 5

B、(x + 5 / y – 5)

C、(x + 5) / (y - 5)

D、(x + 5) / (y - 5);

正确答案:A

声明:本站所有文章,如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。