C语言——函数


示例代码来自C语言程序设计(第3版) 何钦铭 颜晖 主编 高等教育出版社

1.计算圆柱体体积

1.1 程序示例

//计算圆柱体体积
#include <stdio.h>
double cylinder (double r,double h); //函数声明
int main (void)
{
   
	double height,radius,volume;
	
	printf("Enter radius and height:");//输入提示
	scanf("%lf %lf",&radius,&height);//输入圆柱体的半径和高度
	volume=cylinder(radius,height);//调用函数,返回值赋给volume
	printf("Volume=%.3f\n",volume);//输出圆柱体的体积 
	
	return 0;
}

//定义求圆柱体体积的函数
double cylinder(double r,double h)
{
   
	double result;
	
	result=3.1415926*r*r*h;//计算圆柱体的体积 
	
	return result;//返回结果 
 } 
/*运行结果
Enter radius and height:3.0 10
Volume = 282.743
*/

1.2 函数的定义与调用

  • 定义
    函数是一个完成特定工作的独立程序模块。
    分为:
    • 库函数——有C语言系统提供定义,直接调用即可。
      例如,scanf (),printf()等是库函数。
    • 自定义函数——C语言系统没有提供定义,用时有我们自己定义编写。
      例如,cylinder()是一个自定义函数。
    • 定义的一般形式为:
      函数类型 函数名(形式参数表) //函数首部
      {
      函数实现过程 //函数体
      }
      形式参数不具有实际作用。
  • 调用
    定义一个函数后,就可以在程序中调用这个函数。
  • 调用标准库函数时,只需在程序的最前面用#Include命令包含相应的头文件。
  • 调用自定义函数时,程序中必须有与调用函数相对应的函数定义。
  • 函数的调用形式
    函数调用的一般形式:
    函数名 (实际参数表)
    实际参数可以是常量、变量、表达式。例如,cylinder()中,使用变量radius和height作为实际参数。
  • 函数声明
    函数声明目的是说明函数的类型和参数情况,保证能正常调用函数和正确编译。

1.3 函数程序设计

  • 定义函数来计算m~n(m<n)的和。
//计算m~n(m<n)的和
#
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
sscanf函数C语言中一个非常常用的函数,它可以将一个字符串按照指定的格式转换成相应的数据类型。在嵌入式开发中,sscanf函数也是非常常见的,因为很多时候需要从串口或者其他外部设备中读取数据,并将其转换成相应的数据类型进行处理。下面是一些sscanf函数的使用技巧: 1. 使用sscanf函数时一定要注意格式字符串的正确性。格式字符串中的占位符必须与待转换的数据类型相对应,否则会发生未知错误。 2. 如果待转换的字符串中包含多个数据,可以使用多个占位符进行转换。例如,如果待转换的字符串为"1,2,3",可以使用" %d,%d,%d"的格式字符串进行转换。 3. 可以使用sscanf函数的返回值来判断转换是否成功。如果返回值等于待转换字符串的长度,则说明转换成功,否则转换失败。 4. 如果待转换的字符串中包含浮点数,可以使用"%f"或者"%lf"的格式字符串进行转换。 5. 如果待转换的字符串中包含十六进制数,可以使用"%x"的格式字符串进行转换。 6. 如果待转换的字符串中包含字符或字符串,可以使用"%c"或者"%s"的格式字符串进行转换。 7. 如果待转换的字符串中包含指针类型的数据,可以使用"%p"的格式字符串进行转换。 总之,在使用sscanf函数时一定要注意格式字符串的正确性,否则很容易出现转换错误的情况。同时,还应该注意sscanf函数返回值的判断,以确保转换的正确性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值