1、1C 程序设计复习第一章 C 语言概述C 程序是由函数构成的,函数是 C 程序的基本单位。一个 C 程序至少且仅包含一个 main函数,也可以包含一个 main 函数和若干个其他函数。被调用的函数可以是系统提供的库函数,也可以是用户根据需要自己编制设计的函数。程序全部工作都是由各个函数分别完成的。第三章 数据类型、运算符和表达式1C 语言的三种基本类型、常量与变量。2. 字符常量与字符串常量有什么区别?3. 整型数据与字符型数据间的转换。4. 各类数值型数据间的混合运算后,所得结果的数据类型。5. 算术运算符及其表达式(+、*、/、强制类型转换、取负、自增和自减),运算顺序和结合方向。6. 赋
2、值运算符和复合的赋值运算符。7. 逗号运算符和逗号表达式。第四章 最简单的 C 程序设计1程序的三种基本结构(顺序、选择和循环)。2数据输出:格式输出 printf(格式符和附加格式符)、字符输出 putchar。3数据输入:格式输入 scanf(格式符和附加格式符)、字符输入 getchar。 。第五章 逻辑运算和判断选取控制1关系运算符、优先顺序及表达式。 2逻辑运算符、优先顺序及表达式。3条件控制 if 语句:a) if (表达式) 语句;b) if (表达式 1) 语句 1;else 语句 2;c) if (表达式 1)语句 1:else if (表达式 2) 语句 2else 语句
3、n;4条件运算符和条件表达式。a :b ?c5多分枝选择及 break 的使用:switch(表达式) case 常量表达式 1:语句 1;case 常量表达式 2:语句 2:case 常量表达式 n:语句 n;default:语句 n+12第六章 循环控制1当型结构:while (表达式) 循环体;2直到型结构:do 循环体;while (表达式);3For 语句:for(表达式 1;表达式 2;表达式 3) 循环体;初值 条件 终值4中断、继续、转向、返回语句:break;用于使程序跳出 switch 或循环。continue;结束本次循环goto 标识符:无条件转向语句return;或
4、return(表达式);函数返回调用处第七章 数组数组是同类型数据的有序集合。1一维数组的定义与引用:类型标识符 数组名常量表达式;只能逐个引用,形式 ai。一维数组初始化:在程序中使用赋值语句及输入语句,或者在程序运行前使用静态存储(static)数组及外部存储(extern)数组。2二维数组的定义:二维数组的引用:逐个引用,形式 aij。二维数组初始化:在程序中使用双重循环语句逐个赋值,或者在程序运行前使用静态存储(static)数组及外部存储(extern)数组。3字符数组的定义与引用:与一维数组相同,只能逐个引用;或作为字符串引用。字符数组初始化:逐个赋值或以字符串形式赋值。字符串处理
5、函数:puts(字符数组名);将一个字符串输出到终端,并回车换行。gets(字符数组名);从终端输入一个字符串到字符数组,回车中止。第八章 函数1函数定义的一般形式:无参数函数: 类型标识符 函数名() 说明部分;语句;注:无返回值,可不写类型标识符。有参数函数:类型标识符 函数名(形式参数列表)形式参数说明 说明部分;语句;注:类型标识符指定函数返回值的类型,无类型标识符时默认为整型数。空 函 数:类型标识符函数名() 2函数的调用一般调用形式:函数名(实际参数列表)函数调用方式:把函数调用作为一个语句,完成某种操作,无需返回值,如:printstr();函数出现在表达式中,要求有返回值参与
6、运算,如:c=2*max(a,b);3函数调用作为另一个函数的实参,如:printf(“d” ,max(a,b);说明:被调用函数必须存在。使用库函数,一般在文件开头用 #include 命令将有关函数信息包含进来。自定义函数应与主调函数在一个文件中,若自定义函数在主调函数后,主调函 数中应加以说明。函数的嵌套调用:C 语言中不能嵌套定义函数,但可以嵌套调用函数,即在一个函数中调用另一个函数。函数的递归调用:在一个函数中直接或间接调用该函数本身。3函数的参数函数的参数可以是变量,也可以是数组元素、数组名或指针变量。4内部函数和外部函数、局部变量和全局变量、动态存储变量与静态存储变量。第九章 编
7、译预处理1宏定义:用一个指定的标识符来代表一个字符串。不带参数的宏定义:#define 标识符字符串带参数的宏定义: #define 宏名(参数表) 字符串终止宏定义的作用域:#undef2文件包含处理:一个源文件将另一个源文件包含进来。形式:#include“文件名”3条件编译:对源程序中的一部分指定编译条件。第十章 指针1指针:是一个变量的地址,即分配给一个变量的内存起始地址。指针变量:是存放指针(另一变量地址)的变量。指针变量的定义形式: 类型标识符 *标识符2指针变量的引用例如:int x=5,y,z,a=1,2,3,4;int *px,*py;px=变量 int i int *p i
8、nt *p数组 int an int (*p)n int *pn函数 int f() int (*p)() int *p()6int i, len;len=sizeof(struct student);for(i=1; inum, if(i=1) head=p2=p1;else p2-next=p1; p2=p1; if(i=N) p2-next=NULL;return(head); /*返回链表头指针*/(2) 输出链表的函数:p.300 例 11.9void plink(struct student *head) /*更具通用性*/ struct student *p;p=head;whi
9、le(p!=NULL) printf(“num=%ld, score=%5.2fn“, p-num, p-score);p=p-next;return;(3) 对链表的删除操作:p.301 例 11.10struct student *del(struct student *head, long n) struct student *p1, *p2; /*n:要删除学号*/p1=head;if(p1-num=n) head=p1-next; /*删除首节点*/else do p2=p1; p1=p1-next; while(p1!=NULL if(p1-num=n) p2-next=p1-next; /*找到*/else printf(“Not be found!n“); /*未找到*/free(p1); /*释放被删除节点的存储区*/return(head); /*返回头指针*/ (4) 对链表的插入操作:p.303 例 11.11第十二章 位运算1、 按位“与”运算符(&):参与运算的两个数据,按二进制位进行“与”的运算。2、 按位“或”运算符(|):参与运算的两个数据,按二进制位进行“或”的运算。3、 按位“异或”运算符():参与运算的两个二进制位同号为 0(假),异号为 1(真)。4、 “取反”运算符():对二进制位按位取反。