栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

Day 10 初识C语言 3.26

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Day 10 初识C语言 3.26

函数

可分为库函数和自定义函数,库函数就是c语言对我们所提供可使用的函数。

常见的有

IO函数(输入输出函数)

字符串以及字符操作函数

内存操作函数

时间/日期函数

数学函数

其他库函数

strcpy函数
#include 
#include 

int main()
{
	char arr1[] = "abcdef";       //a b c d e f 
	char arr2[20] = "XXXXXXXXXXX";//X X X X X X X XXXX00
	//能把arr1中的abcdef拷贝到arr2中
	strcpy(arr2, arr1);
	//string copy
	printf("%sn", arr2);
	return 0;
}

strcpy函数会把也赋值出来。

memset函数

用于替换字符串内的字符。

void * memset ( void * ptr, int value, size_t num ); 
//sizeof的返回的值的类型是size_t
int main()
{
	char arr[] = "hello bit";
	memset(arr+6, 'X', 3);
	//1. 设置内存的时候是以字节为单位的
	//2. 每个字节的内容都是一样value

	printf("%sn", arr);//XXXXX bit

	return 0;
}
传值调用和传址调用

值:将实参传递给形参,对形参的修改不会影响到实参。

址:把外部变量地址传递给函数参数来调用函数,让函数内部可以操作函数外部的变量。

函数的嵌套调用

函数可以嵌套调用但是不能嵌套定义。

链式访问
int main()
{
	//int len = strlen("abcdef");
	//printf("len = %dn", len);

	//printf("len = %dn", strlen("abcdef"));

	printf("%d", printf("%d", printf("%d", 43)));

	return 0;
}

把一个函数的返回值作为参数调入到另外一个函数中。

函数未定义
int Add(int x, int y)
{
	return x + y;
}

int main()
{
	int a = 10;
	int b = 20;
	int sum = Add(a, b);//函数的使用
	printf("%dn", sum);
	return 0;
}

需要在使用函数前就申明函数,而不是如下。

int main()
{
	int a = 10;
	int b = 20;
	int sum = Add(a, b);//函数的使用
	printf("%dn", sum);
	return 0;
}
int Add(int x, int y)
{
	return x + y;
}

这样编译器就会报错。

函数还可以放在同一个文件的不同分文件下面,比如在test.c中在开一个add.h和add.c的文件,在add.h中放置函数的声明(int Add(int x, int y);),在add.c中放置函数的定义(return x + y;),这两个合称为加法模块,在test.c中要使用Add函数时只需要引用头文件#include "add.h"就可以了。

创建.lib文件

在函数文件中右键函数文件,点开属性,配置属性,常规,配置类型,下拉选择静态库(.lib)。然后生成,生成解决方案。

#pragma comment(lib, "add.lib")

可以用以上代码导入静态库,导入前也需要引头文件。

函数递归

函数调用自身就叫做递归,使用条件:

存在限制条件,满足这个限制条件递归就不会继续。

每次递归调用后越来越接近这个限制条件。

void print(int n)
{
	if (n > 9)
	{
		print(n/10);
	}
	printf("%d ", n % 10);
}
//函数print会在(n>9)时不断调用自己,最终输出每个数字的位数。

再比如求一个字符串长度:

int my_strlen(char* str)
{
	if (*str != '')
		return 1 + my_strlen(str+1);
	else
		return 0;
}
//这样str最终会指向,return 1最终会计算出字符串长度。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/779310.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号