【编程语言 · C语言 · 函数】 |
您所在的位置:网站首页 › LambertW函数C语言 › 【编程语言 · C语言 · 函数】 |
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; |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |