当前位置:首页 > 第6章+函数
实验七 全局变量与局部变量
【实验目的】
掌握全局变量和局部变量在程序中的关系。 【实验内容】
下面的程序运行后的结果是_____________。 int x=3, y=5;
int max( int x, int y ) { }
int z; z=x>y?x:y; return(z);
void main( ) { }
int x=8;
printf( \
实验八 变量的静态存储方式
【实验目的】
熟悉static定义静态变量的用法。 【实验内容】
下面程序运行后的输出结果是_____________。 #include
static int static_var=0;
printf(\
printf(\printf(\var++; static_var++; }
void main( ) { int i;
for(i=0;i<3;i++) varfunc();
}
实验九 宏的使用
【实验目的】
掌握宏的定义和使用。 【实验内容】
作业1.#define命令练习,写出运行结果。 #include \#define TRUE 1
#define FALSE 0
#define SQ(x) ((x)*(x)) void main( ) {
int num;
int again=1;
printf(\while(again) { }
printf(\
scanf(\
printf(\ if(num>=50) again=TRUE; else }
again=FALSE;
作业2.编写宏,求两个数的最大值。请以6_9.c命名本程序并上交。
习题
1. 有如下程序
#include
{if(n>2) return(fib(n-1)+fib(n-2)); else return(2); }
void main( )
{ printf(\%d\\n\,fib(3));} 该程序的输出结果是( ) A、2
B、 4
C、 6
D、8
2. 在C语言中,函数的隐含存储类别是( A、 auto B、 static
)
C、 extern
D、 无存储类别
3. 以下所列的各函数首部中,正确的是( ) A、 void play(var:Integer,var b:Integer) B、 void play(int a,b) C、 void play(int a,int b)
D、 Sub play(a as integer,b as integer) 4. 以下程序的输出结果是( )
A、 0 B、 29
C、 31 fun(int x,int y,int z)
{ z=x*x+y*y;} main( )
{ int a=31;
fun(5,2,a); printf(\d\,a); }
5. 以下程序的输出结果是(
)
f(int b[ ],int m,int n) {int I,s=0;
for(i=m;i main( ) {int x,a[ ]={1,2,3,4,5,6,7, x=f(a,3,7); printf(\%d\\n\,x); } A、10 B、18 C、8 6. 以下程序的输出结果是( ) A、1 B、2 C、3 long fun( int n) { long s; if(n==1 || n==2) s=2; else s=n-fun(n-1); return s;} main( ) 8,9}; D、 无定值 D、15 D、4 { printf(\%ld\\n\fun(3)); } 7. 以下程序的输出结果是( ) int f( ) { static int i=0; int s=1; s+=i;i++; return s; } main( ) { int i,a=0; for(i=0;i<5;i++) a+=f(); printf(\d\\n\,a); } A、20 B、24 C、25 D、15 8. 以下程序的功能是调用函数fun计算:m=1-2+3-4+?+9-10,并输出结果。请填空。 int fun( int n) { int m=0,f=1,i; for(i=1; i<=n; i++) { m+=i*f; f= _____________ ; } return m; } main() { printf(\m=%d\\n\, _________ ); } 9. 以下程序输出的最后一个值是_____________ int ff(int n) { static int f=l; f=f*n; return f; } main( ) { int i; for(i=1;i<=5;i++ ) printf(\%d\\n\,ff(i)); } 10. 以下函数的功能是:求x的y次方,请填空。 double fun( double x,int y) { int i; double z; for(i=1, z=x; i 11. 以下正确的说法是( ) A、用户若需要调用标准库函数,调用前必须重新定义 B 、用户可以重新定义标准库函数,如若此,该函数将失去原有定义 C 、系统不允许用户重新定义标准库函数 D 、用户若需要使用标准库函数,调用前不必使用预处理命令将该函数所在的头文件包 含编译,系统会自动调用。 12. C 语言规定,简单变量做实参时,它和对应的形参之间的数据传递方式是( ) A、地址传递 B 、值传递 C 、有实参传给形参,再由形参传给实参 D 、由用户指定传递方式 13. 下面程序的输出是( ) int i=2 ; printf(“%d%d%d”,i*=2,++i,i++) ; A、 8 , 4 , 2 C、 4 , 4 , 5 B 、 8 , 4 , 3 D 、 4 , 5 , 6 ) 14. 以下不正确的说法是( A 、 register 变量可以提高变量使用的执行效率 B 、 register 变量由于使用的是 CPU 的寄存器,其数目是有限制的 C 、 extern 变量定义的存储空间按变量类型分配 D 、全局变量使得函数之间的 “ 耦合性 ” 更加紧密,不利于模块化的要求 15. C 语言函数返回类型的默认定义类型是____________ 16. 函数的实参传递到形参有两种方式:____________ 和____________ 。 17. C 语言变量按其作用域分为____________和____________ 。按其生存期分为 ____________和____________ 。 18. 已知函数定义 :void dothat(int n,double x) { ?? }, 其函数声明的两种写法 为____________ , ____________ 。 19. C 语言变量的存储类别有____________ ,____________ ,____________ 和 ____________ 。 20. 在一个 C 程序中,若要定义一个只允许本源程序文件中所有函数使用的全局变量,则该变量需要定义的存储类别为 ____________。
共分享92篇相关文档