目前学校计算机课程python跟进到函数以及函数调用,那么就用c语言来试试看
首先理解下 实参和形参
实参:
真实传给函数的参数,叫实参。实参可以是:常量、变量、表达式、函数等。无论实参是何种类型的量,在进行函数调用时,它们都必须有确定的值,以便把这些值传送给形参。
形参:
形式参数是指函数名后括号中的变量,因为形式参数只有在函数被调用的过程中才实例化(分配内存单元),所以叫形式参数。形式参数当函数调用完成之后就自动销毁了。因此形式参数只在函数中有效。
c语言中函数的分来:
1.库函数
I0函数:print scanf getchar putchar...
字符串操作函数: strcmp strlen
宇符操作函数: toupper...
内存操作函数: memcpy memcmp memset...
时间/日期函数:time
数学函数:sqrt pwo...
其他库函数
以上有些几个还没学,真有点不好意思)
www.cplusplus.com可查询一些用法
2.自定义函数
我们可以利用自定义函数来实现两个整数数值比较大小的问题
#include <stdio.h>
int get_max(int x,int y)
{
return (x > y)?(x):(y):
}
int main()
{
int a = 10 ;
int b = 20 ;
int max = get_max (a,b);
printf ("max = %d\n",max);
return 0 ;
}
还有一个有趣的,交换数值的问题,这个与我所学的指针和取地址联合起来
#include <stdio.h>
void Swap(int x, int y)
{
int z = 0;
z = x;
x = y;
y = z;
}
int main()
{
int a = 10;
int b = 20;
printf("交换前:a = %d,b = %d", a, b);
Swap(a,b);
printf("交换后:a = %d,b = %d", a, b);
printf("%p\n", &a);
printf("%p\n", &b);
return 0;
}
当利用此代码进行数值交换时候,会发现交换前后结果相同
后来利用 调试功能,发现在定义函数时,xyab地址各不相同,无法直接进行赋值
此时直接对地址进行赋值交换,则有
#include <stdio.h>
void Swap(int *pa,int *pb)
{
int z = 0;
z = *pa;
*pa = *pb;
*pb = z;
}
int main()
{
int a = 10;
int b = 20;
printf("交换前:a = %d,b = %d", a, b);
Swap(&a,&b);
printf("交换后:a = %d,b = %d", a, b);
return 0;
}
以上就能利用地址对两个数值的交换
发一段很好玩的代码
#include <stdio.h>
#include<windows.h>
int main ()
{
for (float y = 1.5f ; y > -1.5f ; y -= 0.1f)
{
for (float x = -1.5f ; x < 1.5f ; x += .05f)
{
float a = x*x + y*y -1;
putchar (a*a*a - x*x*y*y*y < 0.0f?'x':' ');
}
Sleep(100);
putchar('\n');
}
getchar ();
return 0;
}
结果肥肠好玩
接下来这周会经历最离谱的忙碌,希望我能挺过去!
如有问题 请直接指正我 谢谢阅读和指正!