初识函数

这篇博客详细介绍了C语言中的标准输入输出库,包括printf和scanf函数的使用方法,如打印整数、浮点数、字符和字符串,以及其他转换。同时,文章还讲解了数学函数如平方根、绝对值、取整和幂运算,并展示了如何定义和使用函数。通过实例代码,读者可以深入理解这些概念和函数的应用。

标准输入输出库

1.printf

1.1 打印整数

%d(%i) 有符号十进制整数显示

%o 无符号八进制整数显示

%x或X 无符号十六进制整数显示

%u 无符号十进制整数显示

长度修饰符:h (short) l (long) ll (long long)

1.2 打印浮点数

%e或E 以指数形式显示,精确度6位有效数字

%f 小数形式显示,精确度6位有效数字

%g或G 根据数值绝对值大小,自动确定是采用f还是e或G形式显示

1.3 打印字符或字符串

%c 打印单个字符(字符用单引号阔起来)

%s 打印字符串(字符串用双引号阔起来)

1.4其他转换

%p 显示一个指针的值或变量的地址值

%% 显示一个%符号

2.scanf(同printf)

3.数学函数math.h

sqrt(x):x的平方根

fsbs(x):x的绝对值

ceil(x):对x向上取整

floor(x):对x向下取整

pow(x,y):x的y次幂

定义函数方法

1、指定函数名字

2、指定函数返回值类型

3、指定函数参数名字和类型

4、指定函数完成什么操作

类型:

1. 无返回无参数

#include <stdio.h>

void printf_1star(void)
{
	printf("*");
}

int main()
{
	printf_1star(); 
	
	return 0;
}

2. 无返回有参数

#include <stdio.h>

void printf_nstar(int a)
{
	int i;
	for(i=0;i<a;i++)
		printf("*");
}

int main()
{
	int c;
	printf("一行打印多少个'*':");
	scanf("%d",&c);
	printf_nstar(c);
	return 0;
}

3.有返回有参数

#include <stdio.h>

/*
求平均身高
*/ 
float get_avg(int a)
{
	float hig,avg=0;
	int i;
	for(i=0;i<a;i++)
		{
			printf("请输入第%d个人的身高:",i+1);
			scanf("%f",&hig);
			avg+=hig;
		}
		avg=avg/a;
	return avg;
}

int main()
{
	int a;
	float b;
	printf("求平均身高\n请输入多少人:");
	scanf("%d",&a);
	b=get_avg(a);
	printf("平均身高为:%.1f",b);
	return 0;
}
基于可靠性评估序贯蒙特卡洛模拟法的配电网可靠性评估研究(Matlab代码实现)内容概要:本文围绕“基于可靠性评估序贯蒙特卡洛模拟法的配电网可靠性评估研究”,介绍了利用Matlab代码实现配电网可靠性的仿真分析方法。重点采用序贯蒙特卡洛模拟法对配电网进行长时间段的状态抽样与统计,通过模拟系统元件的故障与修复过程,评估配电网的关键可靠性指标,如系统停电频率、停电持续时间、负荷点可靠性等。该方法能够有效处理复杂网络结构与设备时序特性,提升评估精度,适用于含分布式电源、电动汽车等新型负荷接入的现代配电网。文中提供了完整的Matlab实现代码与案例分析,便于复现和扩展应用。; 适合人群:具备电力系统基础知识和Matlab编程能力的高校研究生、科研人员及电力行业技术人员,尤其适合从事配电网规划、运行与可靠性分析相关工作的人员; 使用场景及目标:①掌握序贯蒙特卡洛模拟法在电力系统可靠性评估中的基本原理与实现流程;②学习如何通过Matlab构建配电网仿真模型并进行状态转移模拟;③应用于含新能源接入的复杂配电网可靠性定量评估与优化设计; 阅读建议:建议结合文中提供的Matlab代码逐段调试运行,理解状态抽样、故障判断、修复逻辑及指标统计的具体实现方式,同时可扩展至不同网络结构或加入更多不确定性因素进行深化研究。
### C语言函数的基础知识和用法 C语言中的函数是程序的基本构建块,用于完成特定任务。通过函数的使用,可以提高代码的可读性、可维护性和复用性。以下是关于C语言函数的基础知识和用法的详细介绍。 #### 1. 函数声明 函数声明是一个空壳,只包含函数的名称、返回类型以及参数列表,但不包含具体的实现[^1]。例如: ```c int add(int x, int y); // 声明一个名为add的函数,返回类型为int ``` #### 2. 函数定义 函数定义不仅包含函数的声明部分,还包含具体的实现逻辑[^1]。例如: ```c int add(int x, int y) { return (x + y); // 实现加法操作 } ``` #### 3. 函数调用 函数调用是指在程序中通过函数名和实参来调用已定义的函数。例如: ```c int result = add(5, 3); // 调用add函数,并将结果赋值给result变量 ``` #### 4. 函数缺省参数 C语言本身并不直接支持函数缺省参数,但可以通过宏定义或条件判断等方式模拟缺省参数的功能[^2]。例如: ```c int sub(int x, int y) { if (y == 0) y = 5; // 如果未提供y,则默认为5 return (x - y); } ``` #### 5. 宏定义函数 宏定义可以用来定义简单的函数,但需要注意括号的使用以避免潜在的错误[^3]。例如: ```c #define SQUARE(x) ((x) * (x)) // 定义一个计算平方的宏 ``` #### 6. 字符串拷贝与内存拷贝 在处理字符串或内存块时,可以使用`strcpy_s`和`memcpy`等函数[^4][^5]。例如: ```c char src[] = "Hello, World!"; char dst[50]; strcpy_s(dst, sizeof(dst), src); // 安全地复制字符串 ``` ```c int srcArray[] = {1, 2, 3, 4, 5}; int dstArray[5]; memcpy(dstArray, srcArray, sizeof(srcArray)); // 复制内存块 ``` ### 注意事项 - 在定义函数时,确保返回类型和参数列表与声明一致。 - 使用宏定义时,务必为参数和整个表达式添加括号,以防止意外的优先级问题。 - 对于字符串拷贝,建议使用带有安全检查的函数如`strcpy_s`,以避免缓冲区溢出。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值