第三章 函数

这篇博客详细讲解了C语言中函数的使用,包括函数的返回值、参数传递、函数调用、递归等知识点,并通过选择题和代码题的形式加深理解,涉及函数设计原则、实参与形参的关系、递归函数的限制条件等。
摘要由CSDN通过智能技术生成

第一部分 选择题

一.能把函数处理结果的二个数据返回给主调函数,在下面的方法中不正确的是:( )

A.return 这二个数

B.形参用数组

C.形参用二个指针

D.用二个全局变量

解析:

主调函数:A调用B,A就是主调函数;能把函数处理结果的二个数据返回给主调函数就是调用函数后,会对其他参数有影响;

A:只能return一个数,return 3,4;这属于一个逗号表达式,会返回4;

B:

#include<stdio.h>
void test(int arr[])
{
    arr[0]=1;
    arr[1]=2;
}
int main()
{
    int arr[5]={0};
    printf("%d %d\n",arr[0],arr[1]); //0 0
    test(arr);
    printf("%d %d\n",arr[0],arr[1]); // 1 2
    return 0;
}

C:

#include<stdio.h>
void test(int *px,int *py)
{
    *px=1;
    *py=2;
}
int main()
{
    int x=0;
    int y=0;
    test(&x,&y);
    printf("%d %d\n",x,y);  //1 2
    return 0;
}

 D:

#include<stdio.h>
int x = 0;
int y = 0;
void test()
{
    x = 1;
    y = 2;
}
int main()
{
    test();
    printf("%d %d\n", x, y);  //1 2
    return 0;
}

 二.关于函数调用说法不正确的是:( )

A.函数可以传值调用,传值调用的时候形参是实参的一份临时拷贝

B.函数可以传址调用,传址调用的时候,可以通过形参操作实参

C.函数可以嵌套定义,但是不能嵌套调用

D.函数可以嵌套调用,但是不能嵌套定义


三.在函数调用时,以下说法正确的是:( )

A.函数调用后必须带回返回值 

B.实际参数和形式参数可以同名

C.函数间的数据传递不可以使用全局变量

D.主调函数和被调函数总是在同一个文件里


四.关于实参和形参描述错误的是:( )

A.形参是实参的一份临时拷贝

B.形参是在函数调用的时候才实例化,才开辟内存空间

C.改变形参就是改变实参

D.函数调用如果采用传值调用,改变形参不影响实参


五.函数调用exec((vl,v2),(v3,v4),v5,v6);中,实参的个数是:( )

A.3

B.4

C.5

D.6

解析:函数参数可以是变量,参数,表达式等 (vl,v2)是表达式


六.以下关于函数设计不正确的说法是:( )

A.函数设计应该追求高内聚低耦合

B.要尽可能多的使用全局变量   //不可控

C.函数参数不易过多  //不方便,多了

D.设计函数时,尽量做到谁申请的资源就由谁来释放

解析:

高内聚低耦合:函数尽量相互独立,不要掺杂对方的功能各模块之间尽量独立;

工程里应该少使用全局变量;


七.关于C语言函数描述正确的是:( )

A.函数必须有参数和返回值

B.函数的实参只能是变量

C.库函数的使用必须要包含对应的头文件

D.有了库函数就不需要自定函数


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

A.在不同的函数中可以使用相同名字的变量  //各自函数的局部变量,作用域不一样,看不见;

B.函数中的形式参数是在栈中保存

C.在一个函数内定义的变量只在本函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值