第6章+函数 联系客服

发布时间 : 星期二 文章第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 varfunc( ) { int var=0;

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 long fib( int n)

{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 程序中,若要定义一个只允许本源程序文件中所有函数使用的全局变量,则该变量需要定义的存储类别为 ____________。