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
评论(0)