【编程语言 · C语言 · 函数】

您所在的位置:网站首页 LambertW函数C语言 【编程语言 · C语言 · 函数】

【编程语言 · C语言 · 函数】

2024-07-16 21:19:43| 来源: 网络整理| 查看: 265

C函数

函数是C编程的核心,用于完成一系列子任务的程序解决方案。 至此,你已经知道每个C程序都包含一个main()函数。并且您熟悉printf()函数。

你也可以创建自己的函数。

函数的特点: •是执行特定任务的代码块 •可重用 •使程序易于测试 •可以在不更改调用程序的情况下进行修改

将main()分解为子任务,即使是简单的程序也更易于理解用功能实现的 例如:

#include // 定义函数 square,用于计算一个数字的平方 int square(int num) {   return num * num; } int main() {   int x, result;      x = 5;   result = square(x); // 调用函数 square 计算 x 的平方   printf("%d 的平方是 %d\n", x, result);        return 0; }

这段代码主要实现了以下功能:

引入头文件 stdio.h,其中包含了输入输出函数的定义。

定义了函数 square,用于计算一个数字的平方。

在 main 函数中声明了变量 x 和 result。

将 x 赋值为 5。

调用函数 square,传入参数 x,并将返回值赋给变量 result。

使用 printf 函数打印出结果,显示 x 的平方。

返回 0,表示程序成功执行并退出。

为了使用 square函数,我们需要对其进行声明。

函数的声明 函数的声明

声明通常出现在main()函数上方,并采用以下形式:

返回类型 函数名(参数);

当不需要函数返回值,可以将函数返回类型设置成 void 关键字。

例如,display_message该函数没有返回值:

void display_message();

【单选题】C程序必须至少具有一个名为main()的函数?

C函数

当声明中包含参数类型和名称时,该声明称为函数原型。

例如,square 函数原型出现在main()上方:

#include /* 声明*/ int square (int num); int main() { int x, result; x = 5; result = square(x); printf("%d squared is %d\n", x, result); return 0; }

这里square函数返回一个整数,并接受一个int类型的参数。

最后一步实际上是定义功能。

函数定义通常出现在main()函数之后。

#include /* 声明 */ int square (int num); int main() { int x, result; x = 5; result = square(x); printf("%d squared is %d\n", x, result); return 0; } /* 定义*/ int square (int num) { int y; y = num * num; return(y); }

如您所见,square函数计算并返回其参数的平方。

一个函数可以采用多个参数-在这种情况下,它们必须用逗号分隔。

return语句用于将值发送给调用的语句。

【选词填空】声明一个名为“ triple”的函数,该函数带有一个int参数并返回其值乘以3:

int triple ( num) {   int y;   y = num * 3;    y; }

echo

return

int

let

函数参数

在调用函数时, 大多数情况下,主调函数和被调函数之间有数据传递关系,这就是有参数的函数形式。函数参数的作用是传递数据给函数使用,函数利用接收的数据进行具体的操作处理。

默认情况下,参数按值传递,这意味着将数据副本提供给被调用函数的参数。

实际变量未传递到函数中,因此函数内修改参数的值不会更改到外部对应变量的值。

传递给函数的参数按位置与参数匹配。

因此,第一个参数传递给第一个参数,第二个参数传递给第二个参数,依此类推。

例如:

#include

// 声明函数 sum_up,用于计算两个整数的和

int sum_up(int x, int y);

int main() {

  int x, y, result;

  

  x = 3;

  y = 12;

  result = sum_up(x, y); // 调用函数 sum_up 计算 x 和 y 的和

  printf("%d + %d = %d", x, y, result); // 打印计算结果

    

  return 0;

}

// 定义函数 sum_up,将两个整数相加并返回结果

int sum_up(int x, int y) {

  x += y; // 将 x 增加 y 的值

  return x; // 返回计算结果

}

这段代码实现了以下功能:

引入头文件 stdio.h,其中包含了输入输出函数的定义。

声明了函数 sum_up,用于计算两个整数的和。

在 main 函数中声明了变量 x、y 和 result。

将 x 赋值为 3,将 y 赋值为 12。

调用函数 sum_up,传入参数 x 和 y,并将返回值赋给变量 result。

使用 printf 函数打印出结果,显示 x + y = result 的形式。

返回 0,表示程序成功执行并退出。

函数 sum_up 的功能是将两个整数相加并返回结果。在函数体内,参数 x 的值增加了参数 y 的值,然后将结果返回。

程序输出为:3 + 12 = 15

x和y的值传递给sum_up。

注意,即使在sum_up中更改了参数x的值,也不会更改main()中参数x的值,因为仅将其值(副本)传递到了参数x中。

 函数声明中的参数是形式参数。

【选词填空】声明带有两个float参数的函数test():

void test( a float b);

,

int

;

float

变量作用域

变量作用所谓作用域(Scope),就是变量的有效范围,就是变量可以在哪个范围以内使用。有些变量可以在所有代码文件中使用,有些变量只能在当前的文件中使用,有些变量只能在函数内部使用,有些变量只能在 for 循环内部使用。

变量的作用域由变量的定义位置决定,在不同位置定义的变量,它的作用域是不一样的。

在函数内声明的变量是该代码块的局部变量,不能在函数外部引用。

在所有函数外部声明的变量是整个程序的全局变量。

例如,在程序顶部用#define声明的常量对整个程序可见。

以下程序同时使用局部变量和全局变量:

#include

int global1 = 0; // 声明并初始化全局变量 global1

int main() {

  int local1, local2; // 声明局部变量 local1 和 local2

  

  local1 = 5; // 将 local1 赋值为 5

  local2 = 10; // 将 local2 赋值为 10

  global1 = local1 + local2; // 计算 local1 和 local2 的和,并将结果赋给 global1

  printf("%d \n", global1); // 打印 global1 的值,即 15

  

  return 0; // 返回 0,表示程序成功执行并退出

}

这段代码实现了以下功能:

引入头文件 stdio.h,其中包含了输入输出函数的定义。

声明并初始化全局变量 global1,初始值为 0。

在 main 函数中声明了局部变量 local1 和 local2。

将 local1 赋值为 5。

将 local2 赋值为 10。

将 local1 和 local2 的和赋值给全局变量 global1。

使用 printf 函数打印出全局变量 global1 的值,即 15。

返回 0,表示程序成功执行并退出。

当参数传递给函数参数时,参数充当局部变量。退出函数后,函数中的参数和任何局部变量都会被销毁。

请谨慎使用全局变量。在使用它们之前,应先对其进行初始化,以避免意外结果。

而且由于可以在程序中的任何地方更改它们,因此全局变量可能导致难以检测到错误(bug)。

【单选题】变量作用域指的是?

声明的函数数量。

程序中变量的有效范围。

程序中的变量数。

静态变量

静态变量具有局部作用域,但在退出函数时不会被破坏。因此,静态变量将在程序生命周期内保留其值,并且每次重新输入该函数时都可以访问该静态变量。

声明时会初始化静态变量,并且需要用前缀static修饰。

以下程序使用静态变量:

#include

// 声明函数 say_hello,用于打印问候语

void say_hello();

int main() {

  int i;

  for (i = 0; i < 5; i++) {

    say_hello(); // 调用函数 say_hello

  }

   

  return 0;

}

// 定义函数 say_hello,用于打印问候语

void say_hello() {

  static int num_calls = 1; // 声明并初始化静态局部变量 num_calls

  printf("Hello number %d\n", num_calls); // 打印问候语及调用次数

  num_calls++; // 更新调用次数

}

这段代码实现了以下功能:

引入头文件 stdio.h,其中包含了输入输出函数的定义。

声明函数 say_hello,用于打印问候语。

在 main 函数中声明变量 i,用于循环控制。

使用 for 循环,循环执行 5 次。

在循环内部,调用函数 say_hello。

定义函数 say_hello,用于打印问候语。

声明并初始化静态局部变量 num_calls,初始值为 1。

使用 printf 函数打印问候语,并显示调用次数。

更新静态局部变量 num_calls 的值,增加调用次数。

循环结束后,返回 0,表示程序成功执行并退出。

函数 say_hello 打印一条问候语,并显示该函数被调用的次数。静态局部变量 num_calls 用于记录函数的调用次数,在每次调用函数时递增。

结果为:

Hello number 1 Hello number 2 Hello number 3 Hello number 4 Hello number 5

【选词填空】声明静态整数变量并将其初始化为值1:

 int var  1;



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭