(考研复试)C语言笔记资料
考研计算机复试笔试(数据结构C语言简答题篇)

考研计算机复试笔试(数据结构C语⾔简答题篇)
1.⽐较顺序存储结构和链式存储结构的优缺点,什么情况下链表⽐顺序表好?
顺序存储时相邻元素的存储单元的地址也相连,可以随机存取。
优点是存储密度⼤,空间利⽤率⾼;缺点是插⼊或删除时不⽅便。
链式存储时相邻元素可以随意存放,只能顺序存取。
优点是插⼊或删除元素⽅便,使⽤灵活;缺点是存储利⽤率低
2.简述单链表(单向动态链表)的优缺点?
操作灵活,增加、删除元素时只需修改指针,从堆中分配空间,⾃由度⼤但难以管理,只能顺序存取,不⽀持随机访问。
3.算法时间复杂度与问题规模关系吗?
算法时间复杂度与问题规模和输⼊实例中的元素取值等相关,但在最坏情况下,时间复杂度只与问题的求解规模相关。
4.常⽤的存储表⽰⽅式有哪⼏种?
1.顺序存储⽅式;
2.链式存储⽅式;
3.索引存储⽅式;
4.散列存储⽅式
5.说明线性表、栈、队列的异同?
都是线性结构,都是逻辑结构概念,都可以⽤顺序存储或链式存储
栈和队列是受限的线性表
6.简述逻辑结构和存储结构的关系?
7.确定循环队列是空还是满的⽅式有哪些?
1.计数器;
2.设布尔变量;
3.空出⼀个元素
8.基本概念
数据项(不可分割的最⼩单位)-->数据元素(数据的基本单位)-->数据对象
9.数据元素之间的关系
1.集合;
2.线性结构;
3.树形结构;
4.图状/⽹状结构
10.。
首师大考研C语言简答题总结

C语言大题总结1、冯.诺伊曼模型的基本组成部分。
输入设备、输出设备、存储器(内存储器、外存储器)、运算器、控制器2、请写出结构化程序的含义和基本思想。
以模块设计为中心,将待开发的软件系统划分为若干相互独立的模块,完成每一个模块的功能独立而明确,为设计大的软件打下了基础。
结构化程序设计的基本思想是自顶向下,逐步求精。
3、一个算法应该具有以下五个重要的特征:1.有穷性:算法的有穷性是指算法必须能在执行有限个步骤之后终止2.确切性:算法的每一步骤必须有确切的定义;3.输入项:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定出了初始条件;4.输出项:一个算法有一个或多个输出,以反映对输入数据加工后的结果。
没有输出的算法是毫无意义的;5.可行性:算法中执行的任何计算步都是可以被分解为基本的可执行的操作步,即每个计算步都可以在有限时间内完成。
(也称之为有效性)4、请列举三种以上的排序算法,并从稳定性、算法复杂度进行比较。
1.稳定度:就是说排序过程中,出现错误排序(从小到大排列时,某次交换是8排到了7前面,就作为一次错误排序)的次数越少,稳定性越好。
2.计算的复杂度:可用时间复杂度来衡量,对于一个n元素的数组,最好的排序复杂度自然是O(n)但是做不到,退而求其次,O(nlogn)也不错,最差的是O(n2).5、什么是算法?什么是算法复杂度?算法是指在解决问题时,按照某种机械步骤一定可以得到问题结果的处理过程。
算法的复杂度指的是算法在运行过程中所需要的资源(时间、空间)多少。
所需资源越多,表明算法的复杂度越高。
6、算法分析的目的是什么?是为了建立衡量算法优劣的标准,用以比较同一类问题的不同算法。
为了对算法的某些特定输入,估算该算法所需的内存空间和运行时间;7、算法设计的常用技术是什么?①分治法;②回溯法;③贪心法;④动态规划法⑤分治限界法;⑥穷举法;⑦递推法;⑧递推法8、什么是递归算法?递归算法的特点?递归算法:是一个模块(函数、过程)除了可调用其它模块(函数、过程)外,还可以直接或间接地调用自身的算法。
学习C语言详细笔记(完整版)

C语言视频教程第一讲:(1-13)C语言概述一、为什么学习C语言1)C的起源和发展2)C的特点3)C的应用领域4)C的重要性二、怎样学习C语言三、学习目标四、常见问题答疑(1)学习JAVA为什么建议先学C语言(2)没学过计算机专业课程能够学懂C语言(3)英语和数学不好能学好C语言么?五、课程计划六、举例子:一元二次方程一、为什么学习C语言1)C的起源和发展(ppt)在第三代语言中,以1980年为分水岭,分为结构化和面向对象语言。
Fortran语言主要用于科学计算。
Basic语言是vb的前生,pascal语言一般是用于教学。
C语言是最重要的,其他的语言一般很少用了。
结构化的代表语言是c语言。
结构化语言的数据和操作是分离的,导致在写大项目的时候,会出现各种各样莫名其妙的问题。
在面向对象的语言中c++是最复杂的语言。
由于c++语言太复杂,sun公司对c++进行了改装,产生了java语言。
而c#是由微软开发的,和java相似,几乎一模一样。
在高级语言的执行速度上,c是最快的,c++其次,而java和c#是最后的。
Java和c#流行,主要的一个原因是可以跨平台。
C语言的发展和过程:2)C语言的特点:·优点:代码量小,速度快,功能强大。
金山公司最主要是靠wps办公软件来发展的。
Wps是c语言开发的,其安装包比Office少了10多倍。
三大操作系统:windows,unix,linuxWindows内核是c语言写的,而外壳是c++写的。
Java永远不可能写操作系统。
因为java运行速度太慢了。
而linux和unix都是纯c写的。
操作系统控制了硬件,如果说操作系统的运行速度慢,那么当我们在运行软件的时候,运行速度会更慢。
为什么使用c语言写操作系统呢,首先是因为c的运行速度快,然后是因为c可以直接控制硬件,而其他语言不可以。
没有指针的语言是不能直接访问硬件的。
·缺点:危险性高,开发周期长,可移植性弱。
c语言程序设计考研大纲

c语言程序设计考研大纲
C语言程序设计是考研计算机科学与技术专业的重要课程之一,以下是典型的C语言程序设计考研大纲:
1. C语言基础知识
- C语言的起源与发展
- C语言的特点与优势
- C语言的语法规则和基本数据类型
- C语言的运算符和表达式
- C语言的控制结构(顺序结构、选择结构、循环结构)
- C语言的数组和字符串
2. 函数与指针
- 函数的定义和调用
- 函数的参数传递与返回值
- 函数的递归调用
- 指针的基本概念和用法
- 指针与数组的关系
- 指针的运算和指针与字符串的关系
3. 结构体与联合体
- 结构体的定义和使用
- 结构体成员的引用和赋值
- 结构体内存对齐和字节顺序
- 联合体的定义和使用
4. 动态内存管理
- 内存的静态分配和动态分配
- 动态内存分配函数(malloc、calloc、realloc、free)
- 内存泄漏和内存溢出的问题和解决方法
5. 文件操作
- 文件的打开与关闭
- 文件的读取与写入
- 文件的定位与指针操作
- 文件的错误处理和异常处理
6. 高级程序设计
- 预处理器指令(宏定义、条件编译、文件包含)
- 多文件的程序设计与模块化开发
- 编译与调试工具的使用
- C语言的标准库函数和扩展库的使用
以上只是一个典型的C语言程序设计考研大纲的简要概括,
具体的内容和考察重点可能会因不同院校的要求而有所差异,建议结合具体的考研教材和相关资料进行更详细的学习和复习。
C语言读书笔记

第一章概述+ s8 j+ t( q" C# z" C1.C语言的特点% b9 j1 p0 l$ ^# T/ }5 C1 d①语言简洁、紧凑,使用方便、灵活。
共有32个关键字,9种控制语句。
②运算符丰富,公有34种运算符。
③数据结构丰富,数据类型有:整型、实型、字符型、数组、指针、结构体、共用体等。
④具有结构化的控制语句(如if…else、while、do…while、switch、for)⑤语法限制不太严格,程序设计自由度大。
. t- O, P1 i- J! h" X: P x1 T⑥允许直接访问物理地址,能进行位(bit)操作,可以直接对硬件操作。
⑦生成目标代码质量高,程序执行效率高。
; {& C/ S! \( t⑧可移植性好。
2.C语言的用途( w# K( ^9 j- b, IC虽不擅长科学计算和管理领域,但对操作系统和系统实用程序以及对硬件进行操作方面,C有明显的优势。
现在很多大型应用软件也用C编写。
9 g2 ?2 \1 S3 d第二章数据类型、运算符与表达式1.C的数据类型C的数据类型包括:整型、字符型、实型或浮点型(单精度和双精度)、枚举类型、数组类型、结构体类型、共用体类型、指针类型和空类型。
, e* a! R+ d: w% B7 J2.常量与变量常量其值不可改变,符号常量名通常用大写。
变量其值可以改变,变量名只能由字母、数字和下划线组成,且第一个字符必须为字母或下划线。
否则为不合法的变量名。
变量在编译时为其分配相应存储单元。
0 ` S8 k9 u/ O @3.整型数据整型常量的表示方法:十进制不用说了,八进制以0开头,如0123,十六进制以0x开头,如0x1e。
整型变量分为:基本型(int)、短整型(short int)、长整型(long int)和无符号型。
不同机器上各类数据所占内存字节数不同,一般int型为2个字节,long型为4个字节。
% {8 _ f! a8 ~6 O3 l4.实型数据实型常量表示形式:十进制形式由数字和小数点组成(必须有小数点),如:0.12、.123、123.、0.0等。
计算机专业研究生复试-C语言程序设计面试简答题

C语言程序设计1.简述C语⾔采取了哪些措施提⾔执⾔效率●使⽤指针:有些程序⽤其他语⽤也可以实现,但C能够更有效地实现;有些程序⽤法⽤其它语⽤实现,如直接访问硬件,但C却可以。
正因为指针可以拥有类似于汇编的寻址⽤式,所以可以使程序更⽤效。
●使⽤宏函数:宏函数仅仅作为预先写好的代码嵌⽤到当前程序,不会产⽤函数调⽤,所以仅仅是占⽤了空间,⽤使程序可以⽤效运⽤。
在频繁调⽤同⽤个宏函数的时候,该现象尤其突出。
函数和宏函数的区别就在于,宏函数占⽤了⽤量的空间,⽤函数占⽤了时间。
●使⽤位操作:位操作可以减少除法和取模的运算。
在计算机程序中数据的位是可以操作的最⽤数据单位,理论上可以⽤"位运算"来完成所有的运算和操作。
灵活的位操作可以有效地提⽤程序运⽤的效率。
●将汇编指令嵌⽤到C 语⽤程序中,汇编语⽤是效率最⽤的计算机语⽤,因此在C语⽤程序中嵌⽤汇编,从⽤充分利⽤⽤级语⽤和汇编语⽤各⽤的特点。
●系统调用:在C语⽤程序中可以调⽤操作系统级的API,从⽤提⽤程序的运⽤效率。
●条件编译:C语⽤源程序中加上条件编译,让编译器只对满⽤条件的代码进⽤编译,将不满⽤条件的代码舍弃,可以减少编译及执行程序代码量。
●循环嵌套中将较长循环设为内置循环,较短循环设为外置循环,以减少cpu跨切循环层的次数,提⽤程序的运⽤效率。
(操作系统页⽤置换相关,减少页⽤置换次数)●其它诸如寄存器变量、联合体、编译器优化等手段提⽤执⽤效率。
2.if…else和switch区别总结:都是条件选中语句。
但switch语句只能取代if语句的一部分功能。
●比较的范围不同:if 语句可做各种关系比较(只要是boolean 表达式都可以用if 判断)switch语句只能做等式比较,即只能对基本类型进行数值比较。
(switch只能做几个数据类型的等式比较,实现非等式效率低,)switch之后括号内的表达式只能是整型(byte、short、char和int)、枚举型或字符型表达式,不能是长整型或其他任何类型。
c语言结构体考研复试知识点

c语言结构体考研复试知识点一、知识概述“C语言结构体”①基本定义:结构体就像一个特殊的盒子,这个盒子里面可以放不同类型的数据,比如可以同时放整数、小数、字符这些东西。
在C语言里,我们定义一个结构体类型,然后就能用这个类型创建很多实例,每个实例都是一个包含我们规定内容的小盒子。
②重要程度:在C语言学习中那是相当重要的,特别是在你要处理比较复杂的数据组合的时候。
很多实际项目,像管理一个学校学生信息(姓名、年龄、成绩等),用结构体就特别方便。
③前置知识:首先你得对C语言的基本数据类型(像int、float、char)有个清楚的了解,还得知道怎么声明变量、什么是赋值这些特别基础的操作。
④应用价值:实际应用场景可多了,例如写个小的学生管理系统,结构体可以用来存储学生的各项信息。
再比如在游戏开发里,可以用结构体存储游戏角色的属性呀,像血量、等级、攻击力啥的。
二、知识体系①知识图谱:结构体在C语言的知识体系里面就像是一个桥梁,连接着各种基础数据类型,它让我们能构建更复杂的数据结构,它处在基础数据之上,是向更高级编程的过渡。
②关联知识:和指针联系密切,很多时候结构体和指针搭配使用能做出很灵活的功能。
也和数组有一定联系,我们可以有结构体数组来管理多个类似结构体对象。
③重难点分析:- 掌握难度:对于初学者可能有点绕,尤其是刚开始接触怎么访问结构体内部成员的时候。
比如结构体嵌套结构体,就像盒子里套盒子,找东西就有点晕。
- 关键点:要好好理解结构体的定义、声明变量、访问成员这些操作。
说实话,自己动手多写点关于结构体的代码就比较容易掌握了。
④考点分析:- 在考试中的重要性:非常重要,很多高校考研复试都特别喜欢考结构体相关的题。
- 考查方式:可能让你定义结构体,然后对结构体成员进行操作,像修改值、计算某些值之类的;也可能会有结构体和函数之间的交互考点。
三、详细讲解(按理论概念类)①概念辨析:结构体是一种用户自定义的数据类型,它能够将多个不同类型的数据组合在一起。
c语言重点笔记

c语言重点笔记C语言重点笔记一、基础语法1.注释:用于解释代码,不会被编译器执行。
单行注释以“//”开头,多行注释用“/* */”包围。
2.变量:用于存储数据。
定义变量时需要指定类型和名称,如int num;赋值时使用等号,如num=10;也可以在定义时进行赋值,如int num=10;3.数据类型:C语言提供了基本的数据类型,包括整型、浮点型、字符型等。
4.运算符:C语言提供了各种运算符,包括算术运算符、关系运算符、逻辑运算符等。
5.控制语句:C语言提供了各种控制语句,包括条件语句、循环语句等。
二、函数1.函数定义:函数是一段可重复使用的代码块。
定义函数需要指定返回值类型、函数名和参数列表。
如int add(int a, int b) { return a + b; }2.函数调用:调用函数时需要使用函数名和参数列表,并根据返回值类型进行接收。
如int result = add(1, 2);3.递归函数:递归是一种特殊的函数调用方式,在函数内部调用自身。
需要注意避免死循环。
三、数组1.数组定义:数组是一组相同类型的数据。
定义数组时需要指定类型和长度,如int arr[5];2.数组初始化:可以在定义时进行初始化,如int arr[5] = {1, 2, 3, 4, 5};3.数组访问:使用下标访问数组元素,下标从0开始,如arr[0]表示数组的第一个元素。
4.多维数组:多维数组是由一维数组组成的。
二维数组可以看作是一个矩阵,定义时需要指定行数和列数。
四、指针1.指针定义:指针是一个变量,用于存储另一个变量的地址。
定义指针时需要指定类型和名称,如int *p;2.指针运算:可以对指针进行加减运算,表示移动指针位置。
3.指针与数组:可以使用指针访问数组元素,如int *p = arr; p[0]表示arr[0]。
4.空指针:空指针是没有被初始化的指针。
五、结构体1.结构体定义:结构体是一种自定义数据类型,可以包含多个不同类型的成员变量。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(考研复试)C语言笔记1:用高级语言编写的程序叫做源程序,然后用编译程序吧源程序翻译成二进制的目标程序,然后将该目标程序与系统函数库以及其他目标程序连接,形成可执行程序。
2:算法五个特点:确定性,有穷性,输入,输出,可行性。
3:程序流程图、N-S盒图、伪代码4:int 无论有符号无符号,都是16位Short 无论是有符号还是无符号都是16位Long 无论是有符号还是无符号都是32位Float 32位 double 64位,long double 128位。
一个整型常量后面加u就是无符号,加l就是长整型5:\t,\b退格,\r移到本行开头6:‘0’48,‘A’65,‘a’97,差值327:级别char<int<unsigned<long<double8:(int)x+y 只是int化 x;9:i+++j (i++)+j10.1:float 32位,24位表示小数部分(其中包括了符号位),8位表示指数部分。
11:字符给整形赋值,如果是无符号字符型,赋值给整形就是占据整形低8位,高8位补0,如果是有符号字符型,如果是负号就补1,正好补0;12:int short long 给char 就是把低8位给char13:整形给long,同char给int一样,14:putchar() Getchar()Puts(),gets()Printf(“%md”,d) %d,%c,%f,%ld,%o,%x,%u,%s%d的原意是,按十进制整形数据输出M表示输出字段的宽度,数字靠右拜访。
如果数字太大,就输出数字,不管m.Printf(“%m.ns”,d)输出占m列,靠右端,只取字符串中的前n个字符,如果n大于m,则不管mPrintf(“%-m.ns”,d)输出占m列,靠左端Printf(“%m.nf”,d)%f输出实数,包括单精度和双精度,只能输出六位小数,输出n位小数Printf(“%m.ne”,d)N指的是输出小数的位数,Scanf输入整形,分割可以用回车或者tab或者空格但是不能用逗号Scanf(“%3d%3d”,&a,&b)输入123456.系统自动把123赋值给a,456赋值给b;同理,如果系统输入abc三个字符,但是ch只能容纳一个,就吧a给ch,bc给后面的。
Scanf(“*%3d”)表示读入三位整数,但是不赋值。
,Scanf的字符串中,除了格式说明符以外还有其他的字符,输入的时候要在对应位输入这些字符。
Scanf(“%c%c%c”,&c1&c2&c3) 输入的abc,不应该是有空格的、Scanf(“%s%s%s”,str1,str2,str3);Scanf输入多个字符串的时候,用空格分隔15:大小于的优先级高于等于。
16:优先级由低到高:赋值运算符,与和或,大小于,算术运算,非。
17:break是跳出循环,continue是跳出本次循环,18:int a[3][4]={{1},{5},{9}},每行自补019:strcat(s1,s2)把s2连接到s1。
Strcpy(s1,s2)把s2复试到s1中,覆盖s1.注意这个复制的时候‘\0’也复制进去Strncpy(s1,s2,n)把s2的前n个字符复试到s1中Strlwr 大写转小写 strupr 小写转大写20:数组做形参的时候,大小可以不指定,其实本质上还是把首地址给参数传递了21:多维数组做函数参数,可以且只能省略第一维的大小。
22:register变量,只有局部变量和形式参数可以作为寄存器变量,寄存器数目有限的,局部静态变量不能,局部静态变量不能为寄存器变量23:外部变量跨文件使用的方法是,在文件1中函数外定义外部变量 int A;在文件2中函数外声明 extern A 24:实际上,编译器遇到extern的时候,现在本文件找外部变量的定义,如果找到,就在本文件中扩展作用于,如果找不到,就在连接时从其他文件中找外部变量的定义,然后作用域就是跨文件的。
25:在文件中函数外部定义的变量,如果是一般的定义,int A,其他文件可以通过extern来引用这个变量,但是如果定义 static int A,则其他文件无法通过extern来引用。
26:如果外部变量不在文件开头定义,则有效范围只在定义处到文件结束,如果定义之前的函数要引用外部变量,就要用extern声明。
,如果外部变量定义在函数之前,就没有必要extern了、通常人们喜欢吧变量和函数的extern 声明放在一个单独的文件中,即头文件。
声明:extern int A,B定义:int A=13,B=8;27:局部变量:自动,静态局部变量,寄存器。
全局变量:静态外部变量,外部变量动态存储:自动,寄存器,形参静态存储:静态局部,静态外部,外部变量静态存储区:静态局部变量,静态外部变量,外部变量、动态存储区:自动,形参寄存区存储区:寄存器。
28:声明与定义,声明就是 int a,。
声明有两种,一种是int a是分配存储空间的,叫定义性声明(简称定义),一种是extern a 是不分配存储空间的,叫引用性声明,所以,声明包含定义,定义是分配存储空间的声明。
外部变量的定义只能有一次,它的位置在所有函数之外,而同一文件中的外部变量的声明可以有很多次,它的位置可以任意。
系统根据外部变量的定义来分配存储空间,对外部变量的初始化只能在定义时进行,外部变量的声明,其作用是声明该变量是一个已在后面已定义的外部变量,仅仅是为了扩展该变量的作用范围。
Static 也是一个声明的符号,但是必须加上变量类型。
29:define 后面不要加;30:(*a)++不等于*a++,*a++等价于*(a++)31:数组名a代表数组首元素地址,是一个指针常量,在运行期间固定不变,所以a是常量,a++无法实现。
但是,实参数组代表一个固定的地址,可是形参不是一个固定的地址值,而是一个指针变量,可以再被赋值。
27:二维数组的指针中,取值的只有,*(a[1]+2)*(*(a+1)+2),a[1][2]32:char a[]; A=”I love”错误char *a; a=”I LOVE”对即,数组可以再定义的时候赋值,不能再赋值语句中赋值。
同样,这里的数组名也是不能改变的。
但是用指针定义的数组就可以。
33:int (*p)(int int )指向函数的指针Int *p (int int )返回值的指针的函数int (*p)[4],表示一个指向4个整型数组的指针int *p[4],表示一个含有4个整型指针的数组34:对于指向函数的指针,p++等无意义35:指向指针的指针。
Char *name={“”,””,””,””};Char **p;P=name+I;Printf(*p)36:p1指向a[1],p2指向a[3],p2-p1=2,但是p1+p2无意义。
37:struct student{int num;Char c;}stu[3]={{1,’c’},{2,’c’},{3,’c’}}38:(*p).num等价于 p->num39:结构体在定义的时候,不能student I,j,k;应该Struct student I,j,k;40:void *malloc(int size)41:共用体所占内存等于最长成员的长度。
42:枚举类型:Enum weekday{sum,mon,tue,wed,thu,fti,stu}Enum weekday I,j,k;定义时候自动赋值0-6;printf(“%d”,sum) 输出0也可以强制赋值Enum weekday{sum=7,mon,tue,wed,thu,fti,stu}则mon自动为8,tue自动为9但是一个整数不能在定义外直接赋值枚举,i=7;是错的,应该要i=(enum weekday)2,相当于i=tue;43:typedef struct {int I,int j,int k}NUMNUM sum;即可,不用structTypedef int NUM[100];意思是 NUM表示一个长度为100的整形数组,到时候NUM n,就表示,n为一个长度为100的整型数组。
Typedef int *NUM;意思是 NUM表示一个整形指针,到时候NUM n,就表示,n为一个整型指针。
NUM a[10]表示 a为一个整形指针数组。
Typedef int (*NUM)();意思是 NUM表示一个指向函数指针,到时候NUM n,就表示,n为一个指向函数指针。
44:位与,可以清零,可以取中间某位,45:异或:特定位翻转(即与11111111异或),保留原值(即与00000000异或),交换两个值不用临时变量A=a^b;b=b^a;a=a^b; 46:右移特殊,如果为无符号,就左边补0,如果有,就正数补0,负数补1;47:位段:Struct ak{unsigned a:2;(必须是unsigned)Unsigned b:3;Unsigned c:4;Int o;Unsigned d:5;Unsigned :0;Unsigned e:6;Int I;}Struct ak data;一个abc占9位,那个i从第三个字节开始算,d占5位,但是Unsigned :0;表示下一个位段从下一个单元开始放,e占6位,从下一个单元开始放i;所以data一共占用8个字节如果赋值data.a=9;就会自动把8的低2位给data.a,a里面就是01,再Printf(“%d”, data.a)输出148:输入一个字符串的时候,用回车结束,但是这个回车也会被接受,要用一个getchar来收下回车符,比如Scanf(“%s”,filename)Ch=getchar();49:fp=fopen(“a1”,”r”)打开失败则返回NULL fclose(fp);成功返回0,失败返回EOFfputc(ch,fp)把字符ch写到fp中,失败返回EOF ch=fgetc(fp)从指定文件读入一个字符,失败返回EOF feof(fp)判断文件是否结束,fread(buffer,size,count,fp)从buffer数组中读入count个数字进fp文件中,size表示数组中每个元素占字节数。
fwrite(buffer,size,count,fp)fprintf(fp,”%d”,d)把整型变量d输出到fp文件中fprintf(fp,”%d”,&d),从磁盘文件中读入一个整形putw(10,fp)把整数10输出到fp中i=getw(fp)fgets(str,n,fp)从fp文件中读n-1个字符,放入str中fputs(str,fp)把str放到fp中rewind(fp),是fp回到文件开头fseek(fp,100,1)从fp文件当前位置开始,往后移100个字节。