c语言和高数的函数,C语言中的函数与数学上的函数很类似

函数,是C语言编程中一个很重要的概念,重要到个人认为可以与指针并驾齐驱。好多教材、老师、学习资源都会专门挑出一章来讲函数。我今天也来说说函数,只不过我是从数学课上的函数来引申到C语言中的函数。

先来说说数学课上老师讲的函数概念。我上初中那会儿开始接触数学的函数,最经典的就是二次方程式了,如下:

f(x) = xx + 2x + 1

好多人还记得这个方程式吧!x是参数,xx + 2x + 1是函数式,当x为不同的值时,f(x)具备不同的结果。我们会求当:

x=1时,f(1) = 1*1 + 2*1 + 1 = 4

x=2时,f(2) = 2*2 + 2*2 + 1 = 9

x=3时,f(3) = 3*3 + 2*3 + 1 = 16

…………………………….

f(x)的函数式万万千千,有一次函数,有二次函数,有三次函数,有N次函数,数也数不清。好了,帮各位回忆了下初中数学课程后,我们再来看看C语言编程中的“函数”与数学课上的“函数”有什么区别呢?以f(x) = xx + 2x + 1为例,我可以将其变为C语言中的“函数”,如下:

int f(int x)

{

int result = 0;

result = x*x + 2*x +1;

return result;

}

Look,在这个C语言中的函数中,函数名叫f,参数叫x,里面有一条执行语句:xx + 2x +1;最后变量result就是xx + 2x +1计算出的值。我们将这个C语言函数与数学的f(x) = xx + 2x + 1做个类比:

数学函数f(x) = xx + 2x + 1 C语言函数int f(int x)

函数名: f f

运算参数:x x

运算式子:xx + 2x + 1 语句xx + 2x +1;

运算结果:f(x) result

是不是很相似?所以我觉得C语言中的“函数”概念,应该是借鉴了数学中“函数”的概念了吧。

不过C语言函数蕴含的信息却要比数学函数更多,比如:

1. C语言函数需要为形参指定类型,如int,long等。而数学函数的参数,你想用整型、浮点型还是什么随便你;

2. C语言函数可以没有返回值。数学函数只要有参数代入,都会有一个结果值;

3. C语言一个函数中可以按顺序计算一个表达式、然后再printf些信息、再计算一个表达式等等多个逻辑操作,而每个数学函数只有按照函数式计算一个逻辑。

最后,我们可以得出结论,C语言“函数”与数学“函数”有相似的概念,但是处理的信息却比数学函数多得多。

本文为原创,欢迎转发。

欢迎关注作者微博与微信号:C语言编程技术分享

您好!对于您的需求,我可以为您提供一个示例的 struct 函数,它可以输入10个学生的班级、学号、姓名、C语言成绩、高数成绩和英语成绩。以下是示例代码: ```c #include <stdio.h> struct Student { int class; int id; char name[50]; float cScore; float mathScore; float englishScore; }; void inputStudents(struct Student students[], int numStudents) { for (int i = 0; i < numStudents; i++) { struct Student student; printf("请输入第 %d 个学生的信息:\n", i + 1); printf("班级:"); scanf("%d", &student.class); printf("学号:"); scanf("%d", &student.id); printf("姓名:"); scanf("%s", student.name); printf("C语言成绩:"); scanf("%f", &student.cScore); printf("高数成绩:"); scanf("%f", &student.mathScore); printf("英语成绩:"); scanf("%f", &student.englishScore); students[i] = student; } } int main() { struct Student students[10]; inputStudents(students, 10); // 打印学生信息 printf("\n学生信息如下:\n"); for (int i = 0; i < 10; i++) { printf("学生 %d\n", i + 1); printf("班级:%d\n", students[i].class); printf("学号:%d\n", students[i].id); printf("姓名:%s\n", students[i].name); printf("C语言成绩:%.2f\n", students[i].cScore); printf("高数成绩:%.2f\n", students[i].mathScore); printf("英语成绩:%.2f\n", students[i].englishScore); printf("\n"); } return 0; } ``` 您可以在此基础上进行修改和扩展,以满足您的具体需求。请注意,此示例仅提供了一个简单的输入和打印学生信息的功能,您可能需要根据实际情况进行进一步的处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值