补充练习第六章函数

更新时间:2023-11-02 17:45:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

补充练习第六章函数

第六章 函数

一、单项选择题

1. C语言的程序是从__ ____开始执行的。

A. 程序的第一条语句 B. 程序的第一个函数

C. 程序的main( )函数 D. 包含文件中的第一个函数

2. 函数定义的缺省类型为____ ___。

A. void B. double C. int D. char

3. 在C语言程序中,说法正确的是__ ____。

A. 函数的定义可以嵌套,但函数的调用不可以嵌套

B. 函数的定义不可以嵌套,但函数的调用可以嵌套

C. 函数的定义和函数的调用都不可以嵌套

D. 函数的定义和函数的调用都可以嵌套

4. 函数调用语句 si(v1+v2,(v3+v4+v5),v6)含有__ ___个参数。

A. 3 B. 4 C. 5 D. 6

5. C语言规定,函数返回值的类型是由____ ___。

A. return语句中的表达式类型所决定

B. 调用该函数时的主调函数类型所决定

C. 调用该函数时系统临时决定

D. 在定义该函数时所指定的函数类型所决定

6. 以下正确的函数定义形式是____ ___。

A. double fun(int x,int y) B. double fun(int x;int y)

C. double fun(int x,int y); D. double fun(int x,y);

7. C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是 ___。

A. 地址传递 B. 单向值传递

C. 由实参传给形参,再由形参传回给实参 D. 由用户指定传递方式

8. 若用数组名作为函数调用的实参,传递给形参的是____ ___。

A. 数组的首地址 B. 数组第一个元素的值

C. 数组中全部元素的值 D. 数组元素的个数

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

A. auto B. static C. extern D. register

10. 在一个C源程序文件中,若要定义一个只允许本源程序文件中所有函数使用的全局变量,则该变量需要使用的存储类别是____ ___。

A. auto B. static C. extern D. register

11. 若调用一个函数,且此函数中没有return语句,则该函数____ ___。

A. 没有返回值 B. 返回若干个系统默认值

C. 能返回一个用户所希望的的函数值 D. 返回一个不确定的值

12. C语言规定,程序中各函数之间____ ___。

A. 既允许直接递归调用也允许间接递归调用

B. 不允许直接递归调用也不允许间接递归调用

C. 允许直接递归调用不允许间接递归调用

D. 不允许直接递归调用允许间接递归调用

13. 如果函数的类型和return语句中表达式的值的类型不一致,则____ ___。

A. 返回值的类型以函数类型为准 B. 返回值的类型不能确定

C. 返回值的类型以return语句中表达式的值的类型为准 D. 编译不通过

14. 如果在一个函数中的复合语句中定义了一个变量,则该变量____ ___。

A. 只在该复合语句中有效 B. 在该函数中有效

C. 在本程序范围内均有效 D. 为非法变量

二、填空题:

1.在C语言中,一个函数一般由________________和________________两个部分组成。

2.函数的嵌套定义是指___________________________________________ ___。

函数的嵌套调用是指___________________________________________ ___。

3.“用之则建,用完则撤”是________存储的最大优点,以节省存储空间。

4.C程序在________函数中结束整个程序的运行。

5.凡不要求带回函数值的函数,一般应定义为________类型。

6.若外部变量定义在main函数之后,则应在main函数引用该外部变量之前,用________进行外部变量说明。

7.全局变量的有效范围为______________________________________ ___。

8.如果在同一个源文件中,外部变量与局部变量同名,则在______________ 范围内,外部变量不起作用。

三、判断题

1. 函数说明指的是在程序中设定一个函数模块。 ( )

2. 形参只有在被调用时才分配存储空间。 ( )

3. 在C的函数中,最好使用全局变量。 ( )

4. 在调用函数时,实参传值给形参,调用结束时,形参值传给实参。 5. 所有函数定义都是并行的,相互独立的。 ( )

6. 函数的隐含存储类型是extern。 ( )

7. 形参可以是常量、变量或表达式。 ( )

8. 函数调用可以作为一个函数的形参。 ( )

9. C语言规定,形参应与其对应的实参类型一致。 ( )

10.定义函数时,形参的类型说明可以放在函数体内。 ( )

四.程序阅读题

1. 阅读下列程序,写出程序的输出结果。

#include

main( )

{ int a=2, i;

for ( i=0 ; i<3 ; i++ ) printf(\

}

f(int a)

{ static int b, c ;

b++ ; c++ ; return(a+b+c);

}

该程序的输出结果是: 。

2. 阅读下列程序,写出程序的输出结果。

#include

fan(int a, int b)

{ int c;

c=a>b?a++:++b; return(c);

}

main( )

{ int x=3, y=1, z, r ;

z=fan(x,y) ; r=fan(y,x) ; printf(\

}

该程序的输出结果是: 。

3. 阅读下列程序,写出程序的输出结果。

#include

long func(int x)

{ long p;

if (x==0||x==1) return(2);

p=x*func(x-1); return(p);

}

main()

{ printf(\

该程序的输出结果是: 。

4. 阅读下列程序,写出程序的输出结果。

#include

void num()

{ extern int x,y;int a=15,b=10;

x=a-b; y=a+b;

}

int x,y;

main()

{ int a=7,b=5;

x=a+b; y=a-b; num();

printf(“%d,%d\\n”,x,y);

}

该程序的输出结果是: 。

5. 阅读下列程序,写出程序的输出结果。

#include

func(int array[][4],int m)

{ int i,j,k=0;

for(i=0;i<3;i++)

for(j=0;j<4;j++) if(array[i][j]

return(k);

}

main()

{ static int a[3][4]={{1,13,5,7},{2,4,26,8},{10,1,3,12}};

int m=10;

printf(“\\nthe value is %d\\n”,func(a,m));

}

该程序的输出结果是: 。

五. 程序填充题

1. 用递归方法计算学生的年龄,已知第一位学生年龄最小,为10岁,其余学生一个比一个大两岁,求第五位学生的年龄。递归公式如下:

age(1)=10 , age(n)=age(n-1)+2 ( n>1)

#include

age(int n)

{ int c;

if(n==1)c=10;

else c= ;

return(c);

}

main()

{int n=5;

printf(“age: %d\\n”, );

}

2. 选出能被3整除且至少有一位是5的两位数,打印出所有这样的数及其个数。

sub(int k,int n)

{int a1,a2;

a2= ; a1=k- ;

if((k%3==0&&a2==5)||(k%3==0&&a1==5))

{ printf(“%d”,k); ; return(n); }

else return(-1);

}

main()

{ int n=0,k,m;

for(k=10;k<=99;k++)

{ m=sub(k,n);

if(m!=-1)n=m;

}

printf(“\\nn=%d”,n);

}

3. 计算10名学生1门课成绩的平均分。

float average(float array[10])

{ int i;float aver,sum=array[0];

for(i=1; ;i++)sum+= ;

aver=sum/10; return(aver);

}

main()

, ,

{ float score[10],aver;int i;

printf(“\\ninput 10 scores:”);

for(i=0;i<10;i++)scanf(“%f”,&score[i]);

aver= ; printf(“\\naverage score is %5.2f\\n”,aver);

}

第六章

一.单项选择题

1. C 2. C 3. B 4. A 5. D 6. A 7. B 8. A 9. A 10. B 11. D 12. A 13. A 14 A 二.填空题

1. 函 数 首 部 函 数 体

2. 在定义一个函数时,其函数体内又包含另一个函数的完整定义 在调用一个函数的过程中,又调用另一个过程 3. 动态 4. main() 5. void

6. extern 7. 从定义变量的位置开始到本源文件结束 8. 局部变量的作用 三.判断题

1. ╳ 2. √ 3. ╳ 4. ╳ 5. √ 6. √ 7. ╳ 8. ╳ 9. √ 10. ╳ 四.程序阅读题

1. 4 6 8 2. 3, 4 3. 48 4. 5, 25 5. the value is 31 五.程序填空题

1. age(n-1)+2 age(5) 2. k/10 10*a2 n++ 3. i<10 array[i] average(score)

本文来源:https://www.bwwdw.com/article/jq52.html

Top