第七章单元测试
凡是函数中未指定存储类别的局部变量,其隐含的存储类别是____。
下列程序的输出结果是( )。
# 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;
}
在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是( )。
以下程序的输出结果是( )。
#define MAX(x,y) (x)>(y)?(x):(y)
main()
{
int a=5,b=2,c=3,d=3,t;
t=MAX(a+b,c+d)*10;
printf('%d',t);
}变量的有效范围与其定义的位置有关,( )的作用域在整个源程序文件中都有效。
以下关于编译预处理的叙述中错误的是( )。
如果在一个函数中的复合语句中定义了一个变量,则该变量( )。
进行宏定义时,宏名必须使用大写字母表示。
在C语言中,在register寄存器中存储变量比在内存中存储变量运算速度快。
A:static B:register C:extern D:auto
答案:auto
A:(3,6) B:(6,6) C:(6,12) D:(3,3)
A:
register
B:static
C:extern
D:auto
A:
7
B:70
C:6
D:60
A:
在第一个函数中定义的变量
B:在主函数中定义的变量
C:在函数中定义的静态变量
D:在定义第一个函数之前所定义的变量
A:
预处理命令不是C语言本身的组成部分
B:预处理命令行只能位于源程序中的所有语句之前
C:一条有效的预处理命令必须单独占据一行
D:预处理命令行必须以#开始
A:
在该函数中有效
B:只在该复合语句中有效
C:在本程序范围内有效
D:为非法变量
A:对 B:错
A:错 B:对