云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 《c语言程序设计基础》单元总结与练习题及答案()

《c语言程序设计基础》单元总结与练习题及答案()

  • 62 次阅读
  • 3 次下载
  • 2025/6/7 20:32:30

6.函数要先声明,然后才能使用,函数声明在程序中的位置有以下几种情况:(1)函数声明写在主调函数的外部,这时的函数声明为全局声明。(2)函数声明写在主调函数的说明语句中,这时的函数声明为局部声明。(3)函数的定义出现在主调函数之前,则函数声明可以省略。 7.函数的调用形式为:函数名(实际参数列表)。若调用无参函数,则实参为空;若调用有参函数,则在()内写出与形参类型、数量一致的实参。对于有参函数,函数调用过程中存在着参数传递的问题,参数传递有两种情况,其一为 值传递,其二为 地址传递。 8.函数在函数体中出现了对自身调用的语句,就称为函数递归调用。使用递归方法解决问题的关键是如何找出 递归关系 ,以及找出递归调用的 终止条件 。 9.带参宏定义的一般形式为: #define 宏名(形参列表) 字符串 。通常用带参数的宏定义代替简单公式型函数。 10.函数的存储类型有static和extern两种。 extern 型函数称为“外部函数”,可以被其他编译单位中的函数调用; static 型函数称为“内部函数”,只能被本编译单位的函数调用。 11.程序中变量的使用范围称为变量的作用域,每个变量都有自己的作用域。按照作用域的范围可分为两种: 局部变量 和 全局变量 。 12.变量的存储方式可分为“动态存储”和“静态存储”两种。动态存储变量包括 auto 和 regiest 两种类型;静态存储变量包括 static 和 extern 两种类型。静态存储变量若没有初始化,则默认初始值为 0 。static类型变量的值具有继承性,即本次调用的初值是上次调用结束时变量的值。 单元练习

一.选择题

1.关于使用函数的目的,以下不正确的说法是( )。

A.提高程序的执行效率

B.提高程序的开发效率

D.提高程序可读性

C.减少程序文件所占内存 2.以下正确的函数首部是( )。

A.void fun(int x,int y) C.void fun(int x,y) 3.设函数fun的定义形式为:

B.void fun(int x;int y) D.void fun(x,y)

void fun(char ch, float x) { ......} A.fun(\

B.t=fun('D',12.3);

D.fun(65,65);

则以下对函数fun的调用正确的是( )。

C.fun('65',3.7);

4.关于函数的实参和形参,以下正确的说法是( )。

A.实参和对应的形参各占用独立的存储单元 B.实参和对应的形参共同占用同一存储单元 C.只有当实参与形参重名时才共同占用存储单元 D.形参是虚拟的,不占用存储单元

5.当调用函数时,实参是一个数组名,则向函数传递的是( )。

A.数组的长度

B.数组的首地址

D.数组的每一个元素的值

C.数组的每一个元素的地址

6.将一个函数指定为static存储类别后,该函数将( )。

A.既可以被同一源文件中的函数调用,也可以被其他源文件中的函数调用 B.只能被同一源文件中的函数调用,不能被其他源文件中的函数调用 C.只能被其他源文件中的函数调用,不能被同一源文件中的函数调用 D.既不能被同一源文件中的函数调用,也不能被其他源文件中的函数调用 7.以下叙述正确的是( )。

A.全局变量的作用域一定比局部变量的作用域作用范围大 B.静态static类型变量的生存期贯穿于整个程序的运行期间 C.函数的形参都属于全局变量

D.未在定义语句中赋初值的auto变量和static变量的初值都是随机值

二.填空题

1.假设已有#define M(r) r*r,则语句printf(“%d”,M(2+3));的执行结果为 。

2.以下程序输出结果为 。

#include void fun(int x,int y) { }

void main() {

int x=2,y=3; x=x+y;y=x-y;x=x-y; printf(\

}

fun(x,y);

printf(\

3.以下程序输出结果为 。

#include int a,b; void fun() { }

void main() { }

int a=3,b=9; fun();

printf(\a=10;b=20;

4.以下程序输出结果为 。

#include

int f( ) //定义f函数,a为形参 {int b=0; //定义b为自动变量 static int c=3; //定义c为静态局部变量 b=b+1; c=c+1; return b+c; } void main( ) {int a1,a2; a1=f(); a2=f();

printf(\}

5.以下程序输出结果为 。

#include int fun(int n) { }

void main() { }

int i,j=0; for(i=1;i<3;i++)

j+=fun(i); printf(\if(n==1) return 1; else return fun(n-1)+1;

6.以下程序输出结果为 。

#include void fun(int a[ ], int n) { }

void main() { }

int b[5]={1,2,3,4,5}; fun(b,5);

for(int i=0;i<5;i++) printf(\for(int i=0;i

if(a[i]>0) a[i]*=2;

*******************************************************************************

习题答案:

一.选择题

1.A 2.A 3.D 4.A 5.B 6.B 7.B

二.填空题

1.11 2.3,2 2,3 3.3,9 4.5,6 5.3

6.2 4 6 8 10

*******************************************************************************

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

6.函数要先声明,然后才能使用,函数声明在程序中的位置有以下几种情况:(1)函数声明写在主调函数的外部,这时的函数声明为全局声明。(2)函数声明写在主调函数的说明语句中,这时的函数声明为局部声明。(3)函数的定义出现在主调函数之前,则函数声明可以省略。 7.函数的调用形式为:函数名(实际参数列表)。若调用无参函数,则实参为空;若调用有参函数,则在()内写出与形参类型、数量一致的实参。对于有参函数,函数调用过程中存在着参数传递的问题,参数传递有两种情况,其一为 值传递,其二为 地址传递。 8.函数在函数体中出现了对自身调用的语句,就称为函数递归调用。使用递归方法解决问题的关键是如何找出 递归关系 ,以及找出递归调用的 终止条件 。 9.带参宏定义的一般形式为: #define 宏名(形参列表) 字符串 。通常用带参数的宏定义代替简单公式型函数。 10.函数的存储类型有sta

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com