大学c语言复习提纲

  • 格式:doc
  • 大小:32.50 KB
  • 文档页数:4

本课程要求掌握的经典算法包括:求阶乘算法,排序算法、求三个数最大值或最小值算法、将三个数按从大到小顺序输出的算法、大写字母改小写字母算法,统计字符串中各类字符个数的算法、10进制转算为不同进制的算法、求素数、求最大公约数等。

参考书83页、89页、99页(2、4)、108页、109页、113页,117页C语言复习题纲第一章------第五章1、算法的概念:解决问题而采用的方法和步骤,是求解问题的有序集合2、算法的基本特征:可行性、确定性、有穷性、零到多个输入、至少一个输出3、算法的组成要素:(1)对数据对象的运算和操作基本操作运算:算术运算+ - * / %逻辑运算!&& ||关系运算> >= <= == !=基本数据类型:整型浮点型字符型数据传输:赋值=格式化输入:scanf(“格式控制符”,地址列表);格式控制符:%c、 %d 、 %o 、 %x、 %s、 %f◆若输入long型、double型应加l,如%ld、 %lo、 %lf◆格式%s输入字符串不包含空格,且对应地址表列是字符数组名。

◆默认分隔符:空格、回车、Tab键◆格式控制符间不宜加其它字符,如加入其它字符,输入时应原样输入,否则数据接收错误。

如:scanf(“%d, %d”,&a,&b);输入数据时两数据间要有逗号;scanf(“%d %d”,&a,&b); %d间有两个空格,则输入数据时至少有两个空格。

◆输入函数中%f格式不能带小数,如:sc anf(“%7.2f”,&a)是错误的。

◆%c格式输入单字符,空格字符和转义字符都作为有效字符接收。

◆%*d表示跳过它对应的输入数据。

4..格式化输出:printf(“格式控制符”,输出列表);◆格式控制符部分可加入其它字符,原样输出。

如:提示语或使输出结果清楚显示◆输出列表:可以是变量、常量、表达式、函数调用等。

◆转义字符:以斜杠(\)开始,作为一个字符◆注意:输出 long 、double型数据,用%ld、%lf◆可设定输出宽度,m和n,如:%5d、%6.2f、%.2f单字符输入/出:Getchar()函数:从键盘接收一个字符,赋给变量一般形式:变量=getchar()Putchar()函数:一般形式:putchar(变量);.字符串:Gets()函数:从键盘接收一个字符串一般形式:gets(字符数组名)Puts()函数:将字符数组中所存放的字符串,进行输出一般形式:puts(字符数组名);(2)算法的控制结构:顺序结构、选择结构、循环结构选择结构:if语句if----else if嵌套4、 C语言是完全模块化和结构化的程序设计语言5、C语言程序的构成和基本格式构成:(1) C语言的源程序是由函数构成的,每一个函数完成相对独立的功能,其中至少包括一个主函数。

函数是C语言程序的基本单位,一个程序由一个或多个函数组成,其中必须有一个main()函数(也只能有一个),程序从main()开始执行,执行完main()函数结束。

(2) C语言的函数由函数头和函数体:用花括号括起来,一般包括两部分:声明部分和执行部分。

(3) C语言规定每个语句以分号结束,分号是语句组成不可缺少的部分,它在每条语句的最后出现。

(4)程序的注释部分应括在 /* 和 */ 之间不能有空格,注释部分允许出现在程序的任何位置。

6、C程序是先由源文件经编译生成目标文件,然后经过连接生成可执行文件,源程序的扩展名为.c,目标文件的扩展名为.obj,可执行程序的扩展名为.exe7、合法的标识符只能由字母、数字和下划线组成,且第一个字符必须是字母或下划线。

第六章数组1. 掌握各种类型的数据的定义形式、在内存中的存储形式,初始化形式及对数组元素的访问。

注意:数组名是数组的首地址,是一个地址常量(不能对常量赋值)2. 数组必须先定义,后使用。

数组的长度必须事先给定,或者根据初始值的个数给定,不允许动态定义。

数组元素的下标从0开始标记。

3. 掌握对数组元素的输入输出方法。

注意,不能对数组整体进行输入输出,必须使用循环结构逐个元素进行输入输出。

4. 注意,对数组元素初始化时,可以对全部元素初始化,也可以对部分元素进行初始化。

对部分元素初始化,则其他元素的值自动设为0。

5. 掌握对一维、二维数组的定义,在内存中的储存形式,初始化的形式,掌握对一、二维数组元素的引用和输入输出方法。

注意:二维数组元素下标的取值(行下标和列下标都是从0开始编号)。

注意:常用双重循环对二维数组的元素逐个进行存取操作。

6. 掌握字符数组的定义,初始化形式。

特别注意对字符数组进行初始化有哪些形式。

7. 掌握字符数组和字符串的输入输出方法, 如puts、gets,scanf和printf函数。

注意:对字符数组元素逐个输入\输出方法和对字符串进行整体输入输出的方法。

整体输入时使用gets ()或scanf()函数的差别是:scanf()以回车或空格结束输入,而gets()以回车作为输入结束符。

所以,如果想输入带有空格的字符串,应该使用gets()函数。

8. 熟悉常用的字符串处理库函数,理解各函数的工作原理。

注意:要使用这些库函数,需要包含其相关头文件:#include <string.h>9. 本章特别注意掌握数组元素的排序算法,特别是冒泡法。

第七章函数1. 函数就是对实现某一功能的函数进行封装,使其成为一个函数封装,可以通过参数和返回值与其它函数进行通信。

2. C语言程序有一个主函数和若干个其他函数组成。

由主函数可以调用其他函数,其他函数也可以互相调用。

调用格式:函数名(实参);3. 被调用的函数要先声明后调用,但若是定义位于调用前面,可省略声明。

为了统一或标准化起见,一般将自定义的所有函数都在程序前面予以声明。

4. 掌握有参函数与无参函数的定义方法。

能够根据题目要求,将实现某种功能的一段程序转换成函数的形式加以定义。

注:Return 语句5. 掌握实参和形参的概念,理解形参为函数内定义的参数,为局部变量,只在函数执行时才有意义。

函数执行完毕后,即释放该参数。

6. 理解参数传递中值传递和地址传递的原理和本质。

值传递是单向传递,只能从实参向形参传递,而不能有形参传回实参。

实参和形参占有不同的内存单元,即使同名也互不影响。

7. 掌握函数的调用的方式:函数语句,函数表达式和函数参数的形式。

嵌套调用与递归调用8. 掌握数组作函数参数的应用,主要有两种形式:(1)数组元素作为实参使用,该方式与其它类型的普通变量作实参并没有区别,在发生函数调用时,把数组元素的值传递给形参,实现单向值传递;(2)把数组名作为函数的实参和形参使用,要求形参和对应的实参都是必须是类型相同的数组(或者是指相同类型数组的指针变量),并且必须由明确的数组定义。

该方式实现的是地址传递,即把实参的地址传递给形参。

第八章指针1. 明确指针就是内存的地址,所谓指针变量就是存放变量的首地址的变量称为指针变量。

2. 掌握指针变量的定义、初始化方法。

定义的指针变量一定要初始化,否则它可能只想不确定的存储单元,对其进行操作可能出现运行出错。

3. 掌握通过指向变量的指针对变量进行存取的方法。

4. 掌握指向数组的指针的定义和初始化方法。

掌握引用数组元素的指针法和下标法。

例如:int a[10],*p=a;其中p=a等价于p=&a[0];这对于数组元素a[i],有a[i]=p[i]=*(a+i)=*(p+i).对于二维数组:a[3][4],对于组数元素a[i][j],*p,p=a;有a[i][j]=*(a[i]+j) <=> *(*(a+i)+j) ==*(p[i]+j)==*(*(p+i)+j)5. . 能够理解有关应用指针变量的程序。

第九章结构体1. 掌握使用结构体变量来处理“记录”类数据及使用结构体变量类数组来处理多个“记录”类数据。

2. 掌握在函数中使用结构体数组的方法。

3.结构体及结构体变量的定义定义结构体类型及定义其变量(定义位置可以在函数内或函数外):struct 结构体类型名{类型名成员名;类型名成员名;类型名成员名;……};struct 结构体类型名变量名;4..结构体变量所占存储空间大小为其成员所占空间的总和。

struct student{ char name[20];int age;float score;};struct student s1,s2;变量s1,s2所占空间=20+2+4=26字节5. 结构体类型必须先声明(给出一个模板),然后才能定义结构体变量或数组(生成实体,分配存储空间)。

掌握结构体变量和数组定义的几种形式。

4. 如果两个函数都用到一种结构体类型,则对结构体类型的声明要在这两个函数之前。

否则如果结构体类型声明在一个函数内部,则另一函数中就不能识别这种类型。

5. 掌握访问结构体变量的成员的访问方法。

如果指针pStr已指向结构体变量stPerson,则以下三种形式等价:stPerson.成员,(*pStr).成员,pStr->成员。

5. 注意对结构变量和数组元素不能整体输入,要访问到成员,对各成员分别输入输出。

第十章文件1. 掌握文件的基本概念及分类二进制文件与数据文件2. 掌握以文件系统方式读写文件的步骤为:(1). 定义文件指针,(2). 打开文件,(3). 读写文件,(4). 关闭文件。

3. 掌握fopen函数和fclose函数的用法。

4. 掌握文件操作方式及含义。