在 C 语言中,函数是组织代码的一种方式,可以将程序中的某个部分抽象出来,作为一个独立的单元。函数可以被多次调用,并且可以将函数的结果返回给调用者。
函数的基本语法如下:
int add(int x, int y)
{int result = x + y;
return result;
}
其中,返回值类型是函数返回值的类型,可以是基本数据类型(如 int、float 等),也可以是指针、数组等复杂类型。函数名是函数的名字,参数列表是函数的参数列表,即函数需要的输入信息。函数体是函数的主体部分,即函数所要完成的任务。return 语句用于将函数的结果返回给调用者。
形参与实参 变量 全局变量与局部变量全局变量:定义在函数外而不属于任何函数的变量。
局部变量:定义在函数内的变量。
两者的区别是变量的作用域和生存周期不同。
当函数的局部变量与全局变量名相重合时,则以函数的局部变量起作用;同理,当函数的局部变量与复合语句的局部变量相重合时,则以复合语句的局部变量起作用。
局部变量又被称为自动变量,因为它的生存周期是从函数开始到函数结束。
静态变量:静态变量是指在函数内部定义的变量,但其生存周期不同于局部变量。一般我们所说的“静态变量”指静态局部变量,添加static关键字使用
静态局部变量:在函数内部定义的静态变量,只能在该函数内部使用。静态局部变量的生存周期是整个程序的生存周期,即在程序结束前一直存在。
静态全局变量:在函数外部定义的静态变量,可以在整个程序中使用。静态全局变量的生存周期也是整个程序的生存周期,即在程序结束前一直存在。
跨文件变量:添加extern关键字使用
好题错题整理 判断题1.下列计算三角形面积函数的声明中,( )是正确的。
A.double area(double a, double b, double c);
B.double area(int a, b, c);
C.int area(double a, double b, double c)
D.double area(double a, b, c)()
选A(“声明”要加分号)
2.以下关于函数叙述中,错误的是( )。
A.函数未被调用时,系统将不为形参分配内存单元
B.实参与形参的个数必须相等,且实参与形参的类型必须对应一致
C.当形参是变量时,实参可以是变量、常量或表达式
D.如函数调用时,实参与形参都为变量,则这两个变量不可能占用同一内存空间
选B
3.下列程序的输出结果是()。
fun(int a, int b, int c)
{c = a * b; }
int main(void)
{int c;
fun(2, 3, c);
printf(“%d\n”, c);
return 0;
}
A.0 B.1 C.6 D.无法确定
选D(c是自动变量,没有赋初值,则其在储存单元中将是随机值)
4.以下正确的函数定义形式是()。
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)
选A(“定义”不用加分号)
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款