1、C语言任何时候都需要库函数和头文件。C语言本身是没有什么作用的,它靠的就是函数库来执行语句的,C语言就是由函数构成的。头文件更是不能少了,但是只有#include“stdio.h”这个头文件在整个程序里只有printf和scanf这两种输出输入语句时才可以省略#include“stdio.h”这个头文件不写,如果程序还有其他输入输出语句出现时(比如putchar等输入语句)就一定要写#include“stdio.h”这个头文件,不能省略。
创新互联公司于2013年创立,先为甘南等服务建站,甘南等地企业,进行企业商务咨询服务。为甘南企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
2、例如“内置函数”像printf、strcpy这类的系统库函数吧,在编译的过程中,编译器会根据包含的头文件查找相应的库进行连接编译,如果没有包含头文件的话,系统里面有很多库文件,编译器就无法找到对应的文件进行编译。也有的编译器会在用户忘记包含头文件的情况下进行自动查找,但是这一个过程会相当慢。
9.11 库函数简介
C语言的语句十分简单,如果要使用C语言的语句直接计算sin或cos函数,就需要编写颇为复杂的程序。因为C语言的语句中没有提供直接计算sin或cos函数的语句。又如为了显示一段文字,我们在C语言中也找不到显示语句,只能使用库函数printf。
C语言的库函数并不是C语言本身的一部分,它是由编译程序根据一般用户的需要编制并提供用户使用的一组程序。C的库函数极大地方便了用户,同时也补充了C语言本身的不足。事实上,在编写C语言程序时,应当尽可能多地使用库函数,这样既可以提高程序的运行效率,又可以提高编程的质量。
首先介绍几个基本概念:
函数库:函数库是由系统建立的具有一定功能的函数的集合。库中存放函数的名称和对应的目标代码,以及连接过程中所需的重定位信息。用户也可以根据自己的需要建立自己的用户函数库。
库函数:存放在函数库中的函数。库函数具有明确的功能、入口调用参数和返回值。
连接程序:将编译程序生成的目标文件连接在一起生成一个可执行文件。
头文件:有时也称为包含文件。C语言库函数与用户程序之间进行信息通信时要使用的数据和变量,在使用某一库函数时,都要在程序中嵌入(用#include)该函数对应的头文件。
由于C语言编译系统应提供的函数库目前尚无国际标准。不同版本的C语言具有不同的库函数,用户使用时应查阅有关版本的C的库函数参考手册。我们以Turbo C为例简介一下C的库函数,并附录中给出了Turbo C的部分常用库函数。
Tubro C库函数分为九大类:
(1)I/O 函数。包括各种控制台I/O、缓冲型文件I/O和UNIX式非缓冲型文件I/O操作。
需要的包含文件:stdio.h
例如: getchar,putchar,printf,scanf,fopen,fclose,fgetc,fgets,fprintf,fsacnf,fputc,fputs,fseek,fread,fwrite等。
(2)字符串、内存和字符函数。包括对字符串进行各种操作和对字符进行操作的函数。
需要的包含文件:string.h、mem.h、ctype.h或string.h
例如:用于检查字符的函数:isalnum,isalpha,isdigit,islower,isspace等。用于字符串操作函数:strcat,strchr,strcmp,strcpy,strlen,strstr等。
(3)数学函数。包括各种常用的三角函数、双曲线函数、指数和对数函数等。
需要的包含文件:math.h
例如:sin,cos,exp(e的x次方),log,sqrt(开平方),pow(x的y次方)等。
(4)时间、日期和与系统有关的函数。对时间、日期的操作和设置计算机系统状态等。
需要的包含文件:time.h
例如:time返回系统的时间;asctime返回以字符串形式表示的日期和时间。
(5)动态存储分配。包括"申请分配"和"释放"内存空间的函数。
需要的包含文件:alloc.h或stdlib.h
例如:calloc,free,malloc,realloc等。
(6)目录管理。包括磁盘目录建立、查询、改变等操作的函数。
(7)过程控制。包括最基本的过程控制函数。
(8)字符屏幕和图形功能。包括各种绘制点、线、圆、方和填色等的函数。
(9)其它函数。
在使用库函数时应清楚的了解以下四个方面的内容:
①函数的功能及所能完成的操作
②参数的数目和顺序,以及每个参数的意义及类型
③返回值的意义及类型
④需要使用的包含文件
这是要正确使用库函数的必要条件。
正如楼上所说 c语言只是工具
你说的 c语言库少,应该是片面理解了
从c语言官方标准来说 c89 c99 这都是 20世纪的东西了(1999年),都是基本库,到现在都没有更新了
如果这样理解 你没有错
但是 有很多开源或者收费的库,可以实现很多的功能
那日常生活来说 暴风影音
openssl 实现的网络数据加密
ffmpeg库 实现的 视频解码
还有 你看到的界面 都是使用的 开源,或者是收费的 界面库
所以语言没有强弱之别,只有程序员的功力深浅
补充:我不是做软件开发的,错误之处见谅