c语言练习5函数,C语言练习5函数.doc

C语言练习5函数

函数练习

一、选择

1. 决定C语言函数返回值的类型的是( )

A.return语句中的表达式类型 B.调用函数时的实际参数类型

C.依据计算结果的类型 D.定义函数时所指定的函数类型

以下对宏定义描述错误的是( )

A.宏可以嵌套也可以递归调用 B.宏的作用域是从定义命令处到文件结束

C.定义的宏可以有参数 D.在处理宏的过程中不分配内存,仅字符替换

若一个外部变量的定义形式为static int x;,那么,static的作用是( )

A.将变量存储在静态存储区 B.使变量x可以由其他文件引用

C.限制x只能在本文件内引用 D.使x的值可以永久保留

在C语言程序中,如未说明函数类型,则函数的隐含类型为( )

A.double B.Int C.long D.Char

C语言规定,除了main( )主函数之外,程序中各函数之间( )

A.允许直接和间接递归调用 B.不允许任何递归调用

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

调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是( )

A.实参到形参单向值传递 B.变量的地址传递

C.实参形参之间双向传递 D.由程序员任意设定传递方式

有以下函数定义:void fun(int x,double y),若以下选项中的变量都已定义和赋值,则对函数fun正确的调用语句是( )

A.fun(m, n) B.void fun(m, n)

C.fun(int m,double n) D.k=fun(10, 23.567)

以下对宏定义描述正确的是( )

A.宏可以嵌套也可以递归调用 B.宏的作用域是整个源文件

C.在程序运行中可随时定义宏 D.处理宏的过程其实就是字符和参数替换

在C语言函数中,变量的默认存储类型是( )

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

若一个局部变量定义为static,以下叙述正确是( )

A.函数撤销后该变量的值仍然保留B.该变量在每次函数调用时初始化

C.函数撤销后该变量的值归零 D.该变量分配在自动存储区

C语言程序中( )

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

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

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

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

关于预处理命令,错误的说法是( )

A. 均以"#"开头 B. 在真正编译前处理

C. 后面不加分号 D. 必在程序开头

C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递是( )

A. 地址传递 B. 由用户指定传递方式

C. 值传递 D. 由实参传给形参,并由形参传回来给实参

有如下函数定义, 则下列说法正确的是( )

add(float x, float y)

{……}

A.函数返回值类型不确定 B.函数返回值是float型

C.函数返回值是int型 D.函数返回值是void型

. 下面程序的运行结果是( )

#define ADD(x) x+x

void mian( )

{int a=3,b=4; prinft(″%d\n″,3*ADD(a+b));}

A.17 B.18 C.19 D.20

16. 以下描述错误的是( )

A. C程序中,函数可以直接或间接的调用自己

B. 函数调用时,函数名必须与所调用的函数名字完全一致

C. 函数说明语句中的类型必须与函数返回值的类型一致

D. 实参数可以与形参个数不一致

.阅读下列程序,则执行后输出的结果是( )

int k=1;

main()

{ fun(k);

printf("%d\n",k);

}

fun(int k)

{ k++;

k=k*6;

}

A. 1 B. 2 C. 6 D. 12

18. 已知#define M(a,b) a+b的宏定义,执行语句k=M(3,2)*5;后,k的值是( )

A. 10 B. 25 C. 13 D. 5

19. 简单变量做实参时,实参与其对应的形参之间的数据传递方式是( )

A.双向值传递方式 B.地址传递方式

C.单向值传递方式 D.用户指定传递方式

. 以下叙述中不正确的是( )

A. 在函数中,通过return语句传回函数值

B. 在函数中,可以有多个return语句

C. 在C中,main后的一对圆括号中也可以带有形参

D. 在C中,函数的调用必需在一条独立的语句

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值