Day09 C语言基础 函数

"这篇博客介绍了C语言中数据类型的大小,并展示了在64位和32位操作系统下的差异。博主通过示例讲解了和"math.h"库中的函数,如sqrt()、fabs()等。此外,还探讨了如何定义和调用函数,以及使用if判断实现简单计算器功能。最后,博主分享了对函数复用性和模块化的理解。"
摘要由CSDN通过智能技术生成

1.<stdio.h>

标准输入输出库

常用printf(),scanf()

我们先输出各个数据类型的大小

 这是64位操作系统的数据类型大小

我们再来看32位操作系统的数据类型大小

 

 这些数字都需要记一记,很有意义,对以后选择数据类型可以有一个参照

scanf()可以用键盘输入数字进行运算

2.math.h

#include<stdio.h>
#include<math.h>

int main()
{
	
	float b = 300.4;
	int a = -200;
	printf("%f\n", sqrt(b));
	printf("%d\n", fabs(a));
	printf("%f\n", ceil(b));
	printf("%f\n", floor(b));
	printf("%f\n", pow(2, 3));
	
	return 0;
}

sqrt函数是求平方根

fabs是求绝对值(浮点数)

abs是求整数的绝对值

ceil是对数字向上取整

floor是对数字向下取整

pow(x, y)是算出x的y次幂

3. 定义函数的方法

返回值类型 函数名(形参类型 形参名)

{

函数体;

return (返回值类型的数) (函数的定义)

}

后面加分号,是对函数声明

如果函数写在main函数下面需要再main函数前对函数声明,写在main函数前则不用

今天我试了一下,只有一个函数的时候可以不用声明也可以运行,大于一个函数不声明则会报错

在main函数内调用函数,如果没有返回值,直接调用它用分号结束,如果函数有返回值就要用一个变量来接收函数返回值再进行输出

今天定义了一个计算器函数,还是很简单的

int main()
{
	int a, b, d;
	char c, e;
	char yorn = 'y';
	while(yorn == 'y')
	{
		printf("请输入你的操作(用空格隔开):\n");
		scanf("%d %c %d", &a, &c, &b);	
		if(c == '+')
		{
			printf("%d", add(a, b));
		}
		else if(c == '-')
		{
			printf("%d", subtract(a, b));
		}
		else if(c == '*')
		{
			printf("%d", multiply(a, b));
		}
		else if(c == '/')
		{
		if(b == 0)
			{
				printf("您的输入有误\n");
			}else
			{
				printf("%.4f", division((float)a, (float)b));
			}
		}
		else if(c == '%')
		{
			printf("%d", remaind(a, b));
		}
		else{
			printf("您的输入有误"); 
		} 
		printf("是否继续?(y/n):\n");
		getchar();
		scanf("%c", &yorn);
			
	}
	

	
	return 0;
}

int add(int a, int b)
{
	return a + b; 
}

int subtract(int a, int b)
{
	return a - b;
}

int multiply(int a, int b)
{
	return a * b;
}

float division(float a, float b)
{
	return a / b;
}

int remaind(int a, int b)
{
	return a % b;
}

我的思路是这样的,让用户输入数字以及+ - * / %,我做if判断,调用对应的函数,最后输出结果

在输入的时候进入死循环,最后进行判断,输入y则继续进行输入,输入n则结束程序

 总结:

今天学到了函数的作用,我觉得函数是可以减少代码量的。当你的程序需要频繁做一个算法的时候,就调用函数,然后进行运算,我想以后应该也可以把函数单独写一个文件,当需要这个函数的时候直接调用函数的地址,然后进行运算,方便了之后使用

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值