C语言基础知识点总结

重庆市二级C语言基础知识点总结

第一部分 C语言基础知识

      C程序的基本结构

1.       (1)一个C程序由一个或者多个函数构成,有且仅有一个主函数main()。

(2)一个函数由函数的首部和函数体组成。

(3)函数是从主函数(main())开始执行,回到主函数(main())结束;(与main()函数在程序中定义的位置无关)

(4)一个程序的编译是从第一个函数(语句)开始,到最后一个函数(语句)结束;

(5)算法的特性:有穷性,确定性,有一个或者0个输入,有一个或者多个输出;有效性

(6)算法(程序)的几个结构:选择结构,顺序结构,循环结构

2.       用户标识符,由数字,字母,下划线构成,第一个不能是数字(一般会出选择题让你判断哪个标识符定义正确),字母要区分大小写。不能与32个关键字相同。例:P24 第2题P122、2,模拟题第一题

3.       注释符://注释一行;/*和*/注释多行,注释不可以嵌套书写。注释没有任何语法功能。

C语言的基本数据类型

1.           数据类型:分为:基本类型(整型,实型,字符型,枚举型),指针类型,构造类型(结构体类型,数组类型,共用体类型),空类型(空类型合法哦,不要忘记了这个特殊哦)。

        基本数据类型


一般只需要记int类型是2个字节,float是4个字节,double是8个字节

注意int的最大表示范围是-32768――+32767,当超过这个范围的时候,即以%d输出+32768时结果为-32768

长整型(long)表示方法是在数字后面加L,如果一个变量a=3,那么表示的是一个整型的3,如果是a=3L,那么就是长整型的3;当分别以%o,%ld,%x (8进制,长整型,16进制)输出的时候,结果没有前面的00X,和后面的L

   例:int a=075,b=ox14;long int c=5L;

        printf(“%o,%x,%ld”,a b c);  结果为75145)

P22第5、11、9题等

2.         转义字符:\n       \t    \\    \’    \”    \ddd(1-3位八进制所代表的字符) \xhh(1-2位十六进制所代表的字符)  这个书上习题特别多,P25 第19题,P120第3题,P138第16题P147第14题P152第2题等

3.         sizeof()和strlen():sizeof()测试字符串的存储长度;strlen()测试字符串长度,只计算遇到的第一个\0前面的字符个数。

例:strlen(“abc\089”)=3    strlen(“abc\012”)=4

   注意这个例题:char a[30]=“abc\0b”;  

sizeof(a)=30 ;      sizeof(“abc\0b”)=6;

strlen(a)=3          strlen(“abc\0b”)=3 ;

4.         运算符和表达式:记忆书上附录里的运算符优先级(一定要记住常用的)

1)算术运算符和算术表达式:注意自增++,自减--,自反-

++,--,当++,--,在变量后面的时候表示在本次运算的时候会改变,在下次引用或者参与运算的时候才会自变;当++,--,在变量的前面的时候则是在本次运算就发生自变(顺便掌握++,--结合性是右结合,若i+++j等价于(i++)+j;

2)关系运算符:>,<,<=,>=,= =,!= ,==和!=优先级最低。

注意=与==的区别:=是赋值的意思,表达式的值是对变量赋的值,==是关系运算符,关系运算表达式的值为0或者1(关系运算的结果本应是逻辑值,但C语言中没有逻辑数据类型,因此用整型数据来表示关系运算的结果)。

3)逻辑运算符:&& ,||,!在这几个中优先级!大于 && 大于 ||,优先级是体现在结合性上而不是运算的先后性上。例如

a=b=c=1;d=++a||++b&&++c

在这个里面&&最高那就是加粗部分先看成一个整体,运算顺序还是从++a开始,即做完这个运算后,可以依次判断出后边的运算式子没有必要计算了,所以d=1,a=2,b=1,c=1

4)赋值运算符:简单赋值运算符“=”其左边必须是变量。一般形式:变量名=表达式

复合赋值运算符:+=-=*=/=%=<<=>>=&=^=|=注意当等号后面接的是表达式的时候要把表达式看成一个整体即x *=y+8等价于x=x*(y+8),y+8是一个整体

5)条件运算符:由两个符号“?”和“:”构成,

一般形式:表达式1?表达式2:表达式3

先计算表达式1的值,如果值为真(非0),则将表达式2的值作为条件表达式的值,否则将表达式3的值作为条件表达式的值。

6)逗号运算符和逗号表达式

一般形式:表达式1,表达式2,……,表达式n

求值时从左至右依次计算,最后计算表达式n的值,并将表达式n的值作为逗号表达式的值。

例:#include<stdio.h>

void main()

{     int a;

       printf(“%d\n”,(a=3*8,a*4,a+5));

}该程序的输出结果为29,变量a的值为24,注意此处考察了逗号表达式、逗号和赋值符号的优先级。=优先级高于,的优先级。

7)位运算符和位表达式(参考教材P17-18)

位运算符有 | (或)即只要有一个1就是1,  &(与)要全部为1才为1   ^(异或)要不相同才为1 ;注意的是当向左移动n位就是乘以2的n次方;向右移动n位就是除以2的n次方。

8)强制类型转换运算符

强制类型转换的一般形式:(类型名)表达式

表达式(double)(x+y),是将x+y的值转换为double类型后得到的值,变量x,y和表达式x+y都保持原来的数据类型。

C程序的输出

printf()函数的一般形式为:printf(“格式控制字符串”,输出表列);

格式控制包括两种信息:(1)格式说明:由%和格式字符组成。如%d、%f等。作用是将输出的数据转换为指定的格式输出。格式说明总是由%字符开始。(2)普通字符:即需要原样输出的字符。如逗号、空格和换行符。所以在写程序输出结果时,这种字符要原样写出来。

putchar()函数的作用是向终端输出一个字符。一般形式:putchar(c),输出字符变量c的值,c可以是字符型变量或整型变量。

%d,%md,%m.nd, %e,以及相应的几种格式是什么意思

C程序的输入

scanf()函数的一般形式为:scanf(“格式控制字符串”,变量地址表);

这里的格式控制与printf()中的一样。变量地址表是由若干个地址组成的表列,可以是变量的地址,或字符串的首地址。

getchar()函数的作用是从终端输入一个字符。gechar函数没有参数一般形式:getchar()

常用数学类标准库函数的简单应用:

abs()、fabs()、fmod()、sin()、cos()、tan()、exp()、pow()、log()、log10()、sqrt()。参考教材

第二部分 C程序的基本控制结构

分支结构

1.         if语句与程序的单分支结构

形式:if(表达式)

                        语句

功能:若表达式的值为真,则执行语句。

注意,当函数作为if里面的表达式的时候即if(printf(“*”))的时候,则是以函数的返回值判断if的真假,printf输出以1个字符则返回为1,所以这个if是真的;

2.         if……else语句与程序的双分支结构

形式:if(表达式)

                       语句1

else

语句2

功能:若表达式的值为真,则执行语句1,否则执行语句2

3.         复合语句及其在程序中的使用

复合语句是用一对花括号“{}”将若干条C语句括起来形成的语句序列。复合语句的基本形式如下所示:

    {     语句1;

       …

          语句i;

          …

          语句n;

}

注意:

C语言的复合语句右括号“}”后不需要用分号“;”结尾,如果在程序中有如下形式的语句格式出现,则应认为是复合语句后面跟了一个空语句:

    {  语句序列;};       /* 最后的分号是空语句 */

4.         if语句的嵌套与程序的多分支结构

C语法规定else 必须与最近的if相匹配。

5.         switch语句与程序的多分支结构

形式:

switch(表达式)

{     case 常量表达式1:语句组1;

case 常量表达式2:语句组2;

………

case 常量表达式n:语句组n;

default:语句组n+1;

}

a) 常量表达式必须为整型、字符型或者枚举型,且值必须互不相同

b)case后可包含多个可执行语句,且不必加{ }

c) 多个case可共用一组执行语句

d)当表达式的值和某个case后面的语句相匹配时,则执行相应case后面的语句,并继续执行之后的语句。若不希望继续执行之后的语句,则使用break语句跳出switch语句。参考P40,11题

循环结构(执行过程参考课件)

1.         while型循环

形式: while(表达式)

语句

注意在while()后面没有;号,当函数或者赋值表达式放在while的()中时与if的判断方法一样,判断函数的返回值或表达式值的逻辑值;若表达式的值为真(非0),则执行语句(循环体),否则结束循环;

2.         do….while型循环

形式:do

语句

while(表达式)

先执行语句(循环体)一次,再判断表达式的值是否为真(非0),若为真,则继续循环否则终止循环。同while()型循环相比,while()是先判断条件后执行语句,而do…while则是先执行语句后判断条件,无论如何都会先执行一次。

3.         for型循环

形式:for(表达式1;表达式2;表达式3)

例:for(i=1;i<100;i++)                   

               s=s+i;(注意for括号的后面没有;号)

         当有两个for语句即嵌套的for循环的时候  

例:for(i=1;i<4;i++)                   

               for(j=0;j<5;j++) 

s=s+i ; 

这个时候是先做i=1;然后判断i;然后做加粗的部分,即是把加粗部分看成一个整体做完之后才会回到i++;所以s=s+i ;这个语句做了20次。

不论是笔试的编程还是上机题,都会考到循环。所以一定要认真复习控制结构这一部分内容。如下面的一段程序,输出结果是什么?我们学习一定要把每一个知识点牢固掌握。书上的练习特别多,大家要学会举一反三。

#include<stdio.h>

void main()

{

       int a[5]={1,2,3,4,5};

       int i,j;

       for(i=0;i<5;i++)

       {    

              for(j=i;j<5;j++)

                     printf("%d ",a[j]);

              if(j==5)

                     for(j=0;j<i;j++)

                            printf("%d ",a[j]);

                     printf("\n");

       }                         

}

4.         空语句及其在程序中的使用

所谓的空语句就是说没有执行代码,只有一个语句结束的标志:分号

例如模拟题选择第15题

5.         循环的嵌套(只要求到3层)这类题,书上有很多的习题,主要是掌握程序的执行过程。参考课件,书上的习题多做练习

6.         总结if,for,whlie,后面如果没有{}的时候,即是只有一个简单的语句的时候,if,for,whlie的作用效力范围是到与之最近的分号结束;当有{  }的时候即是把{  }看成一个整体,控制范围是整个{  }里面的所有语句。

其他简单控制结构(重点)

1.         break(参考课件)

功能:在循环语句和switch语句中,终止并跳出循环体或开关体

break只能终止并跳出最近一层的结构

break不能用于循环语句和switch语句之外的任何其它语句之中

2.         continue(参考课件)

功能:结束本次循环,跳过循环体中尚未执行的语句,进行下一次是否执行循环体的判断

仅用于循环语句中

控制结构应用举例(重点)

1.         累加、累乘、最大公约数、最小公倍数、阶乘、素数等简单问题求解方法

参考书上P36-38

2.         穷举思想及程序实现

3.         迭代思想及程序实现(其中包括:一元高阶方程求根的二分迭代解法)。

第三部分 函数与程序结构

函数的定义与调用

1.   (1)定义:(看课件、C语言教材)

无参函数的定义:

[类型标识符或void] 函数名()

{

说明语句;

执行语句;

}

有参函数定义:

[类型标识符或void] 函数名(类型 形参1,类型 形参2,…)

{

说明语句;

执行语句;

}

当主函数里面带参数的形式,main(int argc,char *argv[])中argc是表示参数的个数,argv这个数组储存的是具体的参数个数。例,

void main(int argc,char *argv[])

       {   char  **p ;

while(--argc)

{  *p=argv[argc];

puts(*p);

}

若输入为 china Beijing flie     则结果为:flie  Beijing ;

(2)声明 经常考填空题,无论是上机还是笔试

(3)调用 常考题,容易考填空和写输出结果题,注意在调用的时候,函数名(实参列表)括号里面一定是实参,要特别注意哦,参考书上的习题认真练习。

(4)返回值(包括基本类型、空类型)参考课件及相关教材

2.   函数调用时的值参数传递,一定要注意,做这种题,要先弄清楚形参和实参。

(1)分清形参和实参的区别:

²  形参是在定义或声明中,实参是在引用当中;当函数名前有int ,float, char等类型名时是定义或者声明,但是要排除省略类型名的情况;一般引用出现在主函数中,

²  形参是不确定的值,因此不能为常量,实参是确定的值所以可以为常量

      (2)当实参是一个变量的时候,实参向形参传递,只是个简单的值传递不会改变实参的值;当是实参是地址传递的时候就要改变

  例:(1) int sub(int x,int y)

{   int c=x;x=y;y=c;}

  void main()

{  int a=3,b=2;sub(a,b);

printf(“%d,%d”,a,b);}  结果是 3,2

(2) int sub(int* x,int *y)

{int c=*x;*x=*y;*y=c;}

void main()

{int a=3,b=2;sub(&a,&b);

printf(“%d,%d”,a,b);}  结果是 2,3

书上这类题特别多,认真练习!

注意形参和实参必须赋值兼容,也就是说形参和实参维数必须一样;注意区别void和return;(参考教材和课件)

3.   嵌套调用

常考阅读程序题,理解书上P75的图

4.   递归调用 理解概念,会做模拟题选择第18题类似题目

5.   简单问题的递归函数设计(例:阶乘、Fibonacci数列、整型数据的数字拆分处理等)

书上有很多关于数字拆分、阶乘的题目,一定要掌握。

变量的作用域和生存期

1.   作用域(全局变量的定义和使用、局部变量的定义和使用)

要严格区分全局变量和局部变量,分清楚各自的作用范围

2.   生存期(存储类别符extern和static对全局变量的作用;存储类别符auto和static对局部变量的作用)

特别注意static和extern

编译预处理

1.   宏定义预处理命令的概念和简单应用(包括带参和不带参宏定义);

1)宏替换的时候只是简单的字符替换,不要加任何东西,宏名中不能包含空格;

例:#define xx(m)  m*m

 …… int i=5;

i=i+xx(4+5);

    结果为 i=5+4+5*4+5=34;

(2)宏替换是在预编译的时候进行,所以不占用程序运行时间;宏名是无类型的;

2.   文件包含预处理命令的使用方法;

文件包含命令的一般形式为:

#include “文件名” 或者#include <文件名>,注意这两种表示形式是有区别的。

第四部分 指针与函数

指针变量的定义和引用

1.   指针变量的定义、初始化、赋值和引用;

基本概念参考书上,注意指针变量的初始化和赋值。例int a,*p=&a,这是定义了一个指针变量并进行了初始化,特别注意这个时候的初始化用的是*p=&a,这里面的*代表的是指针类型,而不是取值。例 int a,*p;p=&a,定义完变量之后再引用的话就不要加*了。我们的*有两种含义,一种是定义变量的时候,是我们的指针标志,除了定义之外,我们的*代表取指针变量所指地址中的内容,与&为互逆运算。

2.   C语言中的地址运算;

&: 取变量的地址。单目运算符、优先级为2、右结合性。例:i=5; pi=&i;

    *:取指针变量所指地址中的内容,与&为互逆运算。单目运算符、优先级为 2、右结合性

指针变量作函数的参数

1.   函数调用时的地址参数传递;

P91第13、14、15、16等,这类例题特别多,要特别注意

2.   指针变量与指针指向变量的区别;

(1)存放变量地址(指针)的变量称为指针变量。

例:int *i_pointer;

    则变量i_pointer就是指针变量,它的值是某个整型变量的地址,即i_pointer可指向一个整型变量。到底指向哪一个整型变量,应由i_pointer中赋予的变量地址来决定。

(2)若一个指针或指针变量指向某个变量,可通过该指针访问这个变量,这种访问称为间接访问。如将i的地址(指针)赋给i_pointer,即 i_pointer=&i,   则i_pointer所指向的变量就是i,用* i_pointer表示,此时与i(直接访问)等价。

函数的指针

1.   指向函数的指针变量的定义;

用于存储函数指针的变量称为指向函数的指针变量,定义方法为:

                  类型说明符  (*指针变量名)(形式参数列表)

     例:int (*p)(int,int); 表示定义了一个指针变量p,能够指向的函数特征是由两个整型形式参数,返回值是整型数据

2.   用指向函数的指针变量来调用函数;

调用方法(*p)(实参表)

3.   指向函数的指针变量作函数参数;

     P90,第11题

4.   返回指针值的函数;

     P94 第1题

区别函数指针和指针函数的技巧:

1.   函数指针和指针函数都是偏正短语。函数指针的中心词是指针,保存函数的地址。而指针函数的中心词是函数,是一个返回值是指针的函数。在判断时,按照优先级的结合性来判断:

2.   如:int *p()因为()的优先级高,先与p结合,所以p()是一个函数,函数作为中心词,又因为前有*,所以是一个返回值是指针的函数。

3.   int (*p)()因为*先与p结合,所以整体是一个指针,指针是中心词,又因为后面有(),所以是一个函数指针,保存函数的地址。

如执行语句p=&a;

1.   &*p的含义是什么?&和*两个运算符的优先级别相同,但按自右而左方向结合,因此先进行*p的运算,它就是变量a,再执行&运算。因此,&*p与&a相同,即变量a的地址。

2.   *&a的含义是什么?先进行&a运算,得a的地址,再进行*运算,即&a所指向的变量,也就是变量a。*&a和*p的作用是一样的,他们都等价于变量a,即*&a与a等价。

3.   (*p)++相当于a++。注意括号是必要的,如果没有括号,就成为了*p++,而++和*为同一优先级别,而结合方向为自右而左,因此它相当于*(p++)。由于++在p的右侧,是“后加”,因此先对p的原值进行*运算,得到a的值,然后使p的值改变,这样p不再指向a了。

第五部分 数组及简单应用

数组

1.         一维数组的输入输出,当数组是int(整型的时候)

一个有n个元素的一维数组:

输入:  for(i=0;i<n;i++)  

          scanf(“%d”,&a[i]);

输出:  for(i=0;i<n;i++)

          printf(“%d”,a[i]);注意int类型要以%d的格式

2.         一个有n行m列的二维数组:

输入:for(i=0; i<n; i++)(这里i控制行,j控制列)

                   for(j=0;j<m;j++)

                       scanf(“%d”,&a[i][j]);

输出:for(i=0; i<n; i++)

         for(j=0; j<m; j++)

             printf(“%d”,a[i][j]);(注意在输入的时候才有&符号,输出的时候没有)

3.         对一个有n个元素的数组的遍历(既是说从第一个成员访问到最后一个成员)有以下两种方式:

(1)    for(i=0;i<n;i++)                         (2)for(i=0;a[i]!=’\0’;i++)      

       a[i];     (都是指从a[0]访问到a[n-1])        a[i]; 

4.         char a[10]; while(a[i])和while(a[i]!=’\0’)都是表示当a数组不结束的情况下继续循环,一般就是指访问整个数组

5.         自编函数实现求字符串的长度:

          int  fun(char  *a)               int fun(char  *s)

             {  int  k;                    {   char *p;

p=s

                whlie(a[k])                       whlie(*p)

                   k++;                          p++;

                retrun(k-1);  }                    retrun(p-s);    }

6.         维数的判断,当*,[]前面有int ,char,float等常见的类型名的时候表示是在定义,一个 * 或者[]表示升一维,当表达式前面没有int ,char,float的时候则是在引用(或称为使用)一个*或者[ ]表示降一维;

数组的简单应用(本部分内容参考书上程序)

1.   数组元素值的随机生成法(标准库函数srand. rand. 和time 的使用方法);

2.   常用排序方法(冒泡排序法和选择排序法);

3.   常用查找法(直接查找法和二分查找法);

第六部分 字符数据、字符串(字符数组)数据及其简单应用

C语言字符串表示方法

1.   字符串(字符数组)的定义和初始化方法;

2.   字符串数据的输入方法(scanf函数和gets函数的使用);

一个字符数组即 char a[10];对这个的输入有两种方式

(1)for(i=0;i<n;i++)

       scanf(“%c”,&a[i]);

(2)gets(a); scanf(“%s”,a)(注意这两种方式的括号里面的只能是一个数组名)

3.   字符串数据的输出方法(printf函数和puts函数的使用);

输出也对应有两种方式:

(1) for(i=0;i<n;i++)  

         printf(“%c”, a[i]);

(2)puts(a);printf(“%s”,a);注意这两种方式的括号里面的只能是一个数组名

字符串的常用处理方法(本部分内容参考书上程序)

1.   字符类别的判断方法和大小写字母的转换方法;

2.   字符串中有效数字字符的统计方法;

3.   字符串的复制方法;

4.   字符串的连接方法;

5.   字符串中字符的查找、插入和删除方法;

6.   字符串中子字符串的查找、插入和删除方法;

特别注意字符串的反转、一个字符串在另一个字符串中出现的次数等问题

7.   常用字符和字符串处理标准库函数

包括:isalpha 、 isdigit、 isalnum、 isspace、 isupper、 islower、toupper、tolower、 strlen、 strcpy、strcat、 strcmp、 strchr、 strstr、 atoi、 atoll、 atof 等。

第七部分 指针与数组

一维数组与指针的关系及简单应用

1.   用指向一维数组的指针变量表示数组元素地址和数组元素值的方法;

(1)指针变量可指向数组起始位置,即指向a[0],也可指向任意数组元素a[i]。

int a[10],*p=a;或 int a[10],*p=&a[0];(初始化方式)

int a[10],*p=a+3;或 int a[10],*p=&a[3];(初始化方式)

若p指向数组元素的起始位置,则p+i等价于a+i,即a[i]的地址;p[i]和*(p+i)等价于*(a+i),即a[i]

(2)*(p++)与*(++p)作用不同。

若p的初值为a,则*(p++)等价于a[0]、p++; *(++p)等价于p++、a[1];(*p)++表示p所指向的元素值加1。

若p当前指向a数组中的第i个元素,则*(p--)相当于a[i--];*(++p)相当于a[++i]; *(--p)相当于a[--i]。

2.   一维数组简单应用的指针变量表示和处理方法(常用的排序和查找方法);

参考书上例题和习题

二维数组与指针的关系及简单应用

1.   用指向二维数组的指针变量表示数组元素地址和数组元素值的方法;

注意:int a[3][3],**p=a则, a[0]等价于*p表示的是这个2维数组的第一行或者说是这个2维数组的首元素的地址;a[i]等价与*(p+i)都表示是数组的第i行或者是第i行的首元素的地址;所以要引用这个a数组的元素应该用a[i][j]或者**p

2.   指向若干元素构成数组的指针变量定义方法和简单使用;

指针数组与命令行参数

1.   指针数组的定义、初始化和简单应用;

2.   命令行参数的概念和简单应用;

第八部分 构造类型和文件

结构体数据类型的基本概念

结构体变量的长度是各个成员长度的和;当结构体指针和数组的时候注意分清 . 和->的区别;

结构体数据类型的简单应用

1.   用于存储分配的标准库函数(包括:malloc、realloc、free);

2.   单链表的概念和创建;

3.   单链表的遍历(结点值的依次输出)方法;

4.   单链表中节点的插入方法;

5.   单链表中节点的删除方法;

共用体数据类型

共用体变量的长度是由成员中的最长的成员决定;

注意书上P137第7题。一定要记住书上P105第8题的公式,如果x.c[0]=0x39;      x.c[1]=0x38;也就是说把后面的赋值写成我们的十六进制形式,一定要把十六进制转换为十进制带入计算。则x.i=x.c[1]*256+x.c[0]=56*256+57=14393

共用体类型与结构体类型的区别;

枚举类型

参考书上P102介绍,P105第9题

文件

1.   C语言中可以认识两种文件存储类型(1)文本文件(2)二进制文件;

2.   文件打开与关闭的概念和方法(fopen函数和fclose函数的使用方法);

if((fp=fopen(“文件名”r”))==NULL);当等于NULL的时候就不能打开;注意文件打开之后必须关闭,即是fclose(fp);这两个必然是成对出现;

3.   文件内部记录指针(读写指针)的概念和文件尾的判别方法(EOF和feof函数的使用);

文件在什么情况下结束

(1)fp==EOF的时候结束fp!=EOF的时候不结束。

(2)当feof(fp)返回值为0时不结束,返回非零时就是结束;

4.   文件中单个字符的读写操作(fgetc函数和fputc函数的使用);

5.   文件中字符串读写操作(fgets函数和fputs函数的使用);

6.   文件中的格式化读写操作(fscanf函数和fprintf函数的使用);

7.   文件中数据块读写操作(fread函数和fwrite函数的使用);

8.   文件内部记录指针(读写指针)的移动和定位(fseek函数和ftell函数的使用);

4-8了解各函数的功能即可

w,r,a分别表示对文本文件的读,写,追加;fputs(ch,fp)指将ch变量输出到文件fp中;ch=fgets(fp)指的是从文件中得到一个字符赋给变量ch;fread或fwrite(buffer,size,num,fp)中,buffer指的是文件读出/写入的数据的地址,是一个数组名或者指针;size,指读出或者写入每个数的字节数;num指读出和写入多少个数;fp指文件指针。

文件的简单应用

1.   文件的随机读写(文件处理标准函数的综合应用);

2.   文件内容按制定要求进行合并的方法;

3.   文件内容拷贝的处理方法;

4.         文件内容比较的处理方法; 

相关推荐