首页 > 其他分享 >函数中的库函数与自定义函数

函数中的库函数与自定义函数

时间:2023-11-26 23:32:17浏览次数:43  
标签:函数 自定义 int max char printf include 库函数

1.函数是什么:

在计算机科学中,子程序也就是函数,是一个大型程序中的某部分代码,由一个或多个语句组成。负责完成某项特定任务,而且相对于其他代码,具有相对的独立性

一般会有输入参数并有返回值,提供对过程的封装和细节的隐藏,这些代码通常被集成为软件库。

2.库函数

  • 举例:
  • lo函数
  • 字符串操作函数
  • 字符操作函数
  • 内存操作函数
  • 时间/日期函数
  • 数学函数

 用两个个文档来举例:

1.strcpy

函数中的库函数与自定义函数_函数调用

#include<stdio.h>
#include<string.h>
int main()
{
	char arr1[] = "bite";
	char arr2[] = "#######";
	strcpy_s(arr2, arr1);
	printf("arr2=%s\n", arr2);
	printf("arr1=%s\n", arr1);
}

output:

arr2=bite

arr1=bite

#include <stdio.h>
#include <string.h>

int main ()
{
  char str1[]="Sample string";
  char str2[40];
  char str3[40];
  strcpy (str2,str1);
  strcpy (str3,"copy successful");
  printf ("str1: %s\nstr2: %s\nstr3: %s\n",str1,str2,str3);
  return 0;
}

output:

str1: Sample string
str2: Sample string
str3: copy successful

2.memset

函数中的库函数与自定义函数_函数调用_02

#include<stdio.h>
#include<string.h>
int main()
{
	char arr[] = "hello world";
	memset(arr, '*', 5);
	printf("%s\n", arr);
}

output:

*****world

3.自定义函数

格式:

ret_type  fun_name(paral,*)
{
  statement;
}
  • ret_type返回数值
  • fun_name函数名
  • paral函数参数

举两个例子:(以题为例)

//求两个数的最大值
#include<stdio.h>
int get_max(int x,int y)  
//int x和int y称为形参-形式参数-形式上的参数
{
	/*if (x > y)
		return x;
	else

		return y;*/
	//三目操作符:return ((x > y) ? (x) : (y));

}
int main()
{
	
	//函数的使用
	int max=get_max(100,200);  //100 200称为实参
 //函数调用 int max=get_max(100,get_max(7,3));
	printf("max=%d\n", max);
}
//写一个函数可以交换两个整形变量的内容
#include<stdio.h>
void Swap(int*pa, int*pb)
{
	int tmp = 0;
	tmp=*pa;
	*pa=*pb;
	*pb=tmp;
}

int main()
{
	int a = 10;
	int b = 20;
	printf("a=%d b=%d\n", a, b);
	Swap(&a,&b);
	printf("a=%d b=%d\n", a, b);

}










标签:函数,自定义,int,max,char,printf,include,库函数
From: https://blog.51cto.com/u_16351083/8572969

相关文章

  • Java开发者的Python快速进修指南:自定义模块及常用模块
    好的,按照我们平常的惯例,我先来讲一下今天这节课的内容,以及Java和Python在某些方面的相似之处。Python使用import语句来导入包,而Java也是如此。然而,两者之间的区别在于Python没有类路径的概念,它直接使用.py文件的文件名作为导入路径,并将其余的工作交给Python解释器来扫描和处理。另......
  • 在visual studio反汇编得出的函数之间的一些管旭
    非裸函数执行过程002018D1push3002018D3push2002018D5push1//将三个数压入栈中002018D7callstd::basic_ostreamchar,std::char_traits<char>::sentry::sentry(0201497h)002018DCaddesp,0Ch//ebp表示栈底,esp表示栈顶,前面三个数将esp减去了0x0C,现在需要加上0......
  • 自定义的结构的内存问题-字节对齐
    字节对齐在写结构体时养成习惯,一定要按内存从小到大写,要不然在创建结构体的时候会导致创建的结构体明显的大。因为每创建一个结构体时,内存都需要对齐。一般都是1,4,8的整数倍//字符对齐时,字符可以和整数在一起,字符数组可以任意拆分。structA{ chara; //1+3 intb; //......
  • 自定义拷贝程序
    【一】需求介绍制作一个简易的文件拷贝程序【二】功能分析拷贝程序输入原始文件路径输入目标文件路径【三】代码实现#1.获取想要拷贝的文件路径source_file_path=input('请输入想要拷贝的文件路径>>>:').strip()#2.获取目标路径(到底拷贝到哪里)target_file_pat......
  • 自定义springboot-starter 动态数据源
    自定义springboot-starter动态数据源如果使用的是spring或springboot框架,spring提供了一个实现动态数据源的一个抽象类AbstractRoutingDataSource当我们实现这个类后需要实现一个方法@OverrideprotectedObjectdetermineCurrentLookupKey(){}spring获取连接代码最终会......
  • 再议求函数的定义域
    前言对于给定解析式的函数,求其定义域时,一般不能对其作变形,尤其是涉及与对数函数有关的函数,更是如此。典例剖析【2023学生作业】求函数\(f(x)=\lg\cfrac{x-1}{x+1}\)的定义域;【错误解法】解:由于\(f(x)=\lg\cfrac{x-1}{x+1}=\lg(x-1)-\lg(x+1)\),[1]故由\(x-1>0\)且\(x+1......
  • postman内置函数-$timestamp
    引言postman当中有一些内置函数,可以直接使用。介绍$timestamp内置函数用于在请求中插入当前时间戳。它可以用在请求头、请求体、响应头和响应体中。以下是一个使用$timestamp内置函数的示例:POST/api/v1/usersContent-Type:application/json{"name":"JohnDoe",......
  • postman内置函数-$timestamp
    引言postman当中有一些内置函数,可以直接使用。介绍$timestamp内置函数用于在请求中插入当前时间戳。它可以用在请求头、请求体、响应头和响应体中。以下是一个使用$timestamp内置函数的示例:POST/api/v1/usersContent-Type:application/json{"name":"JohnDoe",......
  • 2-3 函数进阶(参数、返回值、作用域)
    ​ 概要:参数的补充函数名,函数名到底是什么?返回值和print函数的作用域 1.参数的补充补充的内容包含:内存地址相关、面试题相关等,在特定情况下也可以让代码更加简洁,提升开发效率。 1.1参数内存地址相关在开始开始讲参数内存地址相关之前,我们先来学习一个技......
  • 主要是函数的内容,针对一些基础的小练习
    #define_CRT_SECURE_NO_WARNINGS1#include<stdio.h>#include<stdlib.h>#include<string.h>#include<math.h>//TDD--testdrivedevelop测试驱动开发思维//intFib(intn)//这是改进后的求斐波那契数的算法//{// inta=1;// intb=1;// intc=0;// w......