为什么要把c语言放在文件中
㈠ C语言什么时候需要用到文件操作
由于程序每一次运行都需要输入数据,这个输入的数据如果量很大,就非常花时间,而且一不小心,如果中间已经输错了一个数据,并且按了回车,那么就不能再更改,除非中上程序运行。但这时就需要重新输入数据。这是输入文件的情况,另外程序的处理得到了结果都输出在屏幕上,如果输出输出的数据量很大,那么如果需要保存这个运行结果的话,就得把它抄下来,不利于运行结果的保存。所以这两种情况下就需要从文件中读入数据,或者把运行的结果输出到文件。还有的情况是计算机要处理的,本身就是计算机产生的某种类型的文件,这时就必须要打开文件才能够处理。
㈡ C语言中,为什么要把被调用函数放在不同的文件中
这样一个文件里的代码不会太多,有更好的可阅读性
并且,功能相同的函数放在一起,也更易于管理 。
㈢ 在C语言中“ 文件”是用来干什么的
文件是专门用来存放数据的,对于一个C程序,你可以从键盘输入数据,可以向屏幕输出数所。但如果,你想处理一个成绩表,而成绩表存在一个记事本里面,而你又不想将数据一个一个的输进去,这时你就可以用文件操作语句,打开存着成绩表的记事本,然后将成绩表中的数据用相应的语句传给C语言中的变量,然后再进行运算处理。当然,记事本中的数据格式,要与你C语言中的操作语句相匹配。
㈣ c语言 中 为什么不将全局变量的定义放在头文件中
首先要说明什么是全局变量,c语言中全局变量一般是指定义在函数体外的变量。全局变量按可访问性可分为外部变量和内部变量。
内部变量是指使用了static关键字修饰的全局变量,它的可访问范围(作用域)被限定在本源文件所在的链接文件模块中,不能被其它文件模块引用。反之没有被static关键字修饰的全局变量则是外部变量,其它文件模块可以通过extern关键字引用该全局变量并访问。
要说明的是全局变量无论是内部变量还是外部变量,的存储类别都是静态的,也就是放到静态内存区域中,它编译链接阶段就已经分配好了固定的内存。
搞清楚上面的内容,就很容易得出若把全局变量放在头文件会有哪些问题;
一 对内部变量来说,每个include该头文件的文件模块中都会单独为这个内部变量分配静态内存空间,这个空间是相对独立的,是一种空间浪费,同时还失去了全局变量访问一致性的特点,实在没有什么意义。如果这个头文件只被一个模块使用,对于这个文件模块来说应该没啥问题。
二 对外部变量来讲,这个头文件被多个文件模块include的情况下,链接过程会报错,因为符号冲突,所有include这个头文件的模块都会有这个全局符号。在这个头文件仅仅只被一个模块include的时候可以正常使用。
经上分析得出要避免全局变量定义在头文件中,因为当这个头文件被多方include的时候会产生一些不必要的麻烦,就这么多。
全局变量作用域范围较广,被错误修改后排查定位问题比较困难,若非必要尽少使用。
下面说一下比较好的方式就是全局变量只定义在实现文件(.c,.m)中,对内部变量没啥说的它只在文件模块内部使用,对外部变量可以在该模块头文件中使用extern关键字修饰一下,这样其它文件模块只要直接include该头文件就可以使用模块中的外部变量了。
㈤ c语言做课程设计时为什么每一个函数模块都要用到文件
一个函数涉及的代码是在内存中进行处理的,傻孩子。所以排序函数sort()当然不涉及到文件的操作。
文件操作,指的是对——磁盘文件,通常是硬盘,进行的操作。比如说读、写磁盘文件数据。
如果你不需要读取磁盘文件,当然就不需要,文件操作。
㈥ 为什么在C文件中包含
文件包含是指一个C语言源程序中将另一个C语言源程序包含进来,通过include预处理指令实现。
一般形式:
#include”被包含文件名”
或#include<被包含文件名>
2. 作用:将指定文件包含在当前文件中,插入至文件包含指令相应位置处。使用文件包 含指令,可以减少程序设计人员的重复劳动,提高程序开发效率。
3. 说明:
(1)被包含的文件一般指定为头文件(*.h),也可为C程序等文件。
(2)一个include指令只能指定一个被包含文件,如果要包含n个文件,则要用到n条include指令。
(3)不能包含OBJ文件。文件包含是在编译前进行处理,不是在连接时进行处理。
(4)当文件名用双引号括起来时,系统先在当前目录中寻找包含的文件,若找不到,再在系统指定的标准方式检索其它目录。而用尖括号时,系统直接按指定的标准方式检索。
一般系统提供的头文件,用尖括号。自定义的文件,用双引号。
(5)被包含文件与当前文件,在预编译后变成同一个文件,而非两个文件。
(6)文件包含可以嵌套,但必须按顺序包含。
㈦ c语言编程为什么要多文件呢
源代码确实是多文件的。不过编译好的目标代码在运行期调入内存后就无所谓文件的概念了,然而不同代码段之间的界限仍然存在。
模块化主要有以下几个优点:
1.便于复用代码。通用性强的重复的功能只要写一遍就可以了,下次要用在其它程序上时只要更改很小的部分或者可以不用更改。
2.便于多人协作。在设计软件之初就可以很清楚地分配各个开发部门的任务。模块的编写者本身只要关注他所写的东西,清楚这一部分的功能,留出接口就可以了。另外,对于整个工程的负责人而言,这样会方便浏览全局的工作进度,统筹人员安排。
3.便于修改和维护。如果能确定只是某个模块有问题,在模块内解决即可,不需要牵一发而动全身。要升级某一部分的功能,可以只针对具体的模块重新开发,节约成本。
其实不只是C语言,许多其它语言也经常使用这种方法。开发大型软件时这种方法非常有效(否则不明显,或者反而有副作用)。对于软件设计来说这不仅仅是一种风格,而是一种方法学了。
声明include包含的函数是声明外部函数,只是extern关键字可以省略。
声明后直接调用就可以了。
----
[原创回答团]
㈧ C 语言中有调用关系的所有函数都必须放在同一源程序文件中怎么理解啊
因为当需要用到另一个函数的时候,编译器会在本文件中寻找需要的函数,如果不放在一个文件里就会导致程序中断,所以有调用关系的所有函数都必须放在同一源程序文件中,比如有两个函数 A()和B(),那么如果在A函数中要调用B函数的话,A函数必须要能在本文件中找到B函数,这样才能找到该函数的地址
(8)为什么要把c语言放在文件中扩展阅读:
函数
C程序是由一组变量或是函数的外部对象组成的。 函数是一个自我包含的完成一定相关功能的执行代码段。我们可以把函数看成一个“黑盒子”,你只要将数据送进去就能得到结果,而函数内部究竟是如何工作的,外部程序是不知道的。
外部程序所知道的仅限于输入给函数什么以及函数输出什么。函数提供了编制程序的手段,使之容易读、写、理解、排除错误、修改和维护。
C程序中函数的数目实际上是不限的,如果说有什么限制的话,那就是,一个C程序中必须至少有一个函数,而且其中必须有一个并且仅有一个以main为名,这个函数称为主函数,整个程序从这个主函数开始执行。
C 语言程序鼓励和提倡人们把一个大问题划分成一个个子问题,对应于解决一个子问题编制一个函数,因此,C 语言程序一般是由大量的小函数而不是由少量大函数构成的,即所谓“小函数构成大程序”
这样的好处是让各部分相互充分独立,并且任务单一。因而这些充分独立的小模块也可以作为一种固定规格的小“构件”, 用来构成新的大程序。
C语言发展的那么多年来,用C语言开发的系统和程序浩如烟海。在发展的同时也积累了很多能直接使用的库函数。
ANSI C提供了标准C语言库函数。
C语言初学者比较喜欢的Turbo C2.0提供了400多个运行时函数,每个函数都完成特定的功能,用户可随意调用。这些函数总体分成输入输出函数、数学函数、字符串和内存函数、与BIOS和DOS有关的函数、 字符屏幕和图形功能函数、过程控制函数、目录函数等。
Windows系统所提供的Windows SDK中包含了数千个跟Windows应用程序开发相关的函数。
其他操作系统,如Linux,也同样提供了大量的函数让应用程序开发人员调用。
作为程序员应尽量熟悉目标平台库函数其功能。这样才能游刃有余地开发特定平台的应用程序。比如作为Windows应用程序的开发者,应尽量熟悉Windows SDK;作为Linux应用程序开发者,应尽量熟悉Linux系统调用和POSIX函数规范。