函数分类
标准库函数
c 语言的标准库函数中有很多提前写好了放进去的函数,而我们只需要在敲代码的时候,在开头写上对应的头文件,就可以直接调用这些函数,非常的方便,例如:
#include <stdio.h>
int main(){
printf(“我爱编程!\n”);
return 0;
}
这其中的printf
就是打印输出函数,而包含它的头文件就是<stdio.h>
。有了这些库函数,可以提高我们编程的效率,减少我们的工作量。
然而标准库函数有很多,那我们要不要背下来呢?当然是不需要的,因为不是每一个库函数我们都会用到,常用的也就那几个,不常用的我们可以借助官方文档查阅即可。在敲代码的过程中,不断的使用,不断地查阅,熟能生巧,自然会熟记于心。
另外,最重要的一点是,若是你记忆的东西稍有偏差,那么损失的代价将不可估量;而我们查阅文档,就可以得到一个非常正确的答案,相比犯错误的损失,查阅文档浪费的时间就不值一提了。
因此,作为一个程序员,要养成经常查阅文档的良好习惯,这对我们的收益是非常大的。我给大家推荐一个官方网站:cpulspuls,这是 c 语言国际委员会编写的文档,专门查阅 c/c++ 相关的内容,十分全面且权威也是最为准确的文档。建议大家经常查阅,有百利而无一害。
第三方库函数
c 语言的标准库函数是非常少的,因为作为最早一批的高级编程语言,当时的条件有限,c 语言使用的地方也有限,所以导致了库函数并不丰富,和现在流行的 java 的库函数比起来,简直就是小巫见大巫。
所以很多除官方以外的大佬自己写了些库函数,来丰富 c 语言的函数库,这些称之为第三方库函数,但是由于这是第三方的,所以使用起来必须得在特定的条件下,例如:
#include<stdio.h>
int main(){
int num=0;
scanf("%d",&num);//①
scanf_s("%d",&num);//②
return 0;
}
-
很多人在 vs 上使用
-
1.
scanf()
函数是标准 c 中提供的标准输入函数,用以用户输入数据。 -
2.
scanf_s()
函数是 Microsoft 公司 vs 开发工具提供的一个功能相同的安全标准输入函数,在调用该函数时,必须提供一个数字以表明最多读取多少位字符。 -
scanf()
在读取数据时不检查边界,所以可能会造成内存访问越界,而使用scanf_s()就可避免这个问题。所以说这是vs这个编译器出了问题,而不是你代码出了问题。而scanf_s()就是微软自己写的第三方库函数,来解决这个问题。
scanf
函数时,肯定会遇到报错的问题,这是因为:
自定义函数
什么是自定义函数,从字面意上来看就是,我们程序员自己写的一些函数,那么自己如何来自定义函数呢?格式如下:
dataType functionName( dataType1 param1, dataType2 param2 ... ){
//body
}
//中文解释就是:返回值类型 函数名(参数){功能/内容};
自定义函数可以没有返回值;也可以没有参数;还可以既没有返回值也没有参数;具体如下:
//无返回值,一般情况使用void
void max(int n,int m){
if(n<m){
printf("%d<%d\n",n,m);
}
else if(n>m){
printf("%d>%d\n",n,m);
}
else{
printf("%d=%d\n",n,m);
}
}
//无参数
int print(){
printf("我爱编程!\n");
return 0;
}
//无返回值,无参数
void print(){
printf("我爱编程!\n");
}