1、c 程序设计复习知识点第四版LOGO - (company name)C 语言考点串讲第一章 C 语言概述本章主要针对 C 语言概述、C 语言程序的构成、C 程序的生成过程、标识符、常量、变量、类型的自动转换和强制转换七大考点进行讲解。第二章 运算符与表达式本章主要针对 C 运算符简介、运算符的结合性和优先级、强制类型转换运算符、逗号运算符和逗号表达式、 基本的算术运算符、算术表达式和运算符的优先级与结合性、自增自减运算符、赋值运算符和赋值表达式、赋值运算中的类型转换、位运算符和位运算十一大考点进行讲解。第三章 基本语句本章主要针对 C 语句分类、字符输出函数 putchar( )、字符输入函
2、数 getchar( )、printf( ) 函数、scanf( ) 函数等考点进行讲解。第四章 选择结构本章主要针对关系运算符及其优先级、关系表达式、逻辑运算符及其优先级、逻辑表达式、if 的几种形式、if 语句的嵌套、条件运算符构成的选择结构、switch 语句、语句标号、goto 语句等考点进行讲解。第五章 循环结构本章主要针对 while 语句、dowhile、for 语句、循环的嵌套、循环的比较、break 语句、continue 语句等考点进行讲解。第六章 数组本章主要针对数组、一维数组的定义、一维数组元素的引用、一维数组的初始化、二维数组的定义、二维数组的引用、二维数组的初始化、
3、通过赋初值定义二维数组的大小、字符数组、字符数组的初始化及引用、字符串和字符串结束标志等考点进行讲解。第七章 函数本章主要是针对库函数、函数的定义、形式参数和实际参数、函数的返回值、函数调用的一般形式、函数的调用方式、函数的说明、函数说明的位置等考点进行讲解。第八章 指针本章主要针对指针变量的定义、指针变量的引用、指向数组元素的指针、通过指针引用数组元素、字符串的表示形式等考点进行讲解。导读:本章主要针对 C 语言概述、 C 语言程序的构成、C 程序的生成过程、标识符、常量、变量、类型的自动转换和强制转换七大知识点进行讲解。第一章 C 语言概述 知识点一 C 语言概述 C 语言是一种结构紧凑、
4、使用方便、程序执行效率高的编程语言,它有 9 种控制语句、32 个关键字和 34 种运算符。C 语言的数据结构也非常丰富,它的多种数据类型可以实现如链表、树、栈等复杂的运算,并且用结构化控制句来实现函数的模块化。C 语言的语法不太严格,程序的设计自由度大,它可以直接访问物理地址,还可以直接对硬件操作。C语言也是一种移植性比较好的语言。 知识点二 C 语言程序的构成 (习题 2.22.7)(1) C 语言的源程序是由函数构成的,每一个函数完成相对独立的功能,其中至少包括一个主函数。 (2) C 程序总是从 main()函数开始执行 (3) C 语言规定每个语句以分号结束,分号是语句组成不可缺少的
5、部分,它在每条语句的最后出现。 (4) 程序的注释部分应括在 /* 和 */ 之间不能有空格,注释部分允许出现在程序的任何位置。 知识点三 C 程序的生成过程 C 程序是先由源文件经编译生成目标文件,然后经过连接生成可执行文件,源程序的扩展名为.c,目标文件的扩展名为.obj,可执行程序的扩展名为.exe 知识点四 标识符( 习题 3.3)在编写程序时,必须为函数、变量等命名,这个名字称为标识符。标识符可以是一个或多个字符,标识符的第一个字符必须是字母或下划线,随后的字符只能是字母、数字或下划线。要区分字母的大小写。 标识符不能与程序中具有特殊意义的关键字相同,不能与用户编制的函数名、C 语言
6、库函数相同,在程序中各种标识符尽量不要重复,以便区分。选择变量名和其他标识符时,应注意做到“见名知义” 。 知识点五 常量( 看教材 P380“语法提要”)在程序运行中,其值不能被改变的量称为常量。常量有 5 种类型:整型常量、实型常量、字符型常量、字符串常量和符号常量。 (1) 整型常量(习题 3.4)整型常量有 3 种:十进制整型常量、八进制整型常量和十六进制整型常量。 (2) 实型常量(习题 3.5)实型常量有两种型式:小数形式和指数形式。 (3) 字符常量 一个字符常量代表 ASCII 码字符集里的一个字符,在程序中用单撇号括起来,以便区分。 除了形式上的字符常量外,C 语言还有特殊的
7、字符常量转义字符常量 (4) 字符串常量 字符串常量是用双撇号括起来的一个或一串字符。 (5) 符号常量(习题 9.5)符号常量由宏定义“#define”定义的常量,在 C 程序中可用标识符代表一个常量。 知识点六 变量( 习题 3.26)变量就是其值可以改变的量。变量要有变量名,在内存中占据一定的存储单元,存储单元里存放的是该变量的值。不同类型的变量其存储单元的大小不同,变量在使用前必须定义。 (1) 整型变量 整型变量分为 4 种:基本型、短整型、长整型和无符号型。 (2) 实型变量 实型变量分为单精度类型和双精度类型。 在一般的系统中,float 型数据在内存中占 4 个字节,doubl
8、e 型数据占 8 个字节。单精度实数提供 7 位有效数字,双精度实数提供 15-16 位有效数字。实型常量不分 float 开和double 型,一个实型常量可以赋给一个 float 型或 double 型变量,但变量根据其类型截取实型常量中相应的有效数字。 (3) 字符变量 字符变量用来存放字符常量,字符变量用关键字 char 说明,每个字符变量中只能存放一个字符。 将一个字符赋给一个变量时,并不是将该字符本身存储到内存中,而是将该字符对应的 ASCII 码存储到内存单元中。 由于在内存中字符以 ASCII 码存放,它的存储形式和整数的存储形式类似,所以 C 语言中字符型数据与整型数据之间可
9、以通用,一个字符能用字符的形式输出,马能用整数的形式输出,字符数据也能进行算术运算,此时相当于对它们的 ASCII 码进行运算。 知识点七 类型的自动转换和强制转换 当同一表达式中各数据的类型不同时,编译程序会自动把它们转变成同一类型后再进行计算。 转换优先级为:char 单目运算符算术运算符 关系运算符逻辑运算符条件运算符 赋值运算符逗号运算符 说明:以上优先级别由左到右递减,初等运算符优先级最高,逗号运算符优先级最低。知识点三 强制类型转换运算符(习题 3.11)可以利用强制类型转换符将一个表达式转换成所需类型,其一般形式为: 知识点四 逗号运算符和逗号表达式(习题 3.15)用逗号运算符
10、将几个表达式连接起来称为逗号表达式。 逗号表达式的求解过程是:先求解表达式 1,然后依次求解表达式 2,直到表达式 n 的值。整个逗号表达式的值就是表达式 n 的值。需要注意的是,逗号运算符是所有运算符中级别最低的。 知识点五 基本的算术运算符 需要说明的是:两个整数相除的结果为整型,如果两个数中有一个数为实数,则结果为 double 型。 知识点六 算术表达式和运算符的优先级与结合性 算术表达式是用算术运算符和括号将运算量连执着起来的,符合 C 语言语法规则的表达式。运算对象包括函数、常量和变量等。 在计算机语言中,算术表达式的求值规律与数学中的四则运算的规律类似,其运算规则和要求如下: (
11、1) 在算术表达式中,可使用多层圆括号,但括号必须配对。运算时从内层圆括号开始,由内向外依次计算各表达式的值。 (2) 在算术表达式中,对于不同优先级的运算符,可按运算符的优先级由高到低进行运算,若表达式中运算符的优先级相同,则按运算符的结合方向进行运算。 (3) 如果一个运算符两侧的操作数类型不同,则先利用自动转换或强制类型转换,使两者具有相同类型,然后进行运算。 知识点七 自增自减运算符(习题 3.20)作用:使变量的值增 1 或减 1。 知识点八 赋值运算符和赋值表达式(习题 3.10)赋值符号“=”就是赋值运算符,作用是将一个数据赋给一个变量或将一个变量的值赋给另一个变量,由赋值运算符
12、组成的表达式称为赋值表达式。 在程序中可以多次给一个变量赋值,每赋一次值,与它相应的存储单元中的数据就被更新一次,内存中当前的数据就是最后一次所赋值的那个数据。 知识点九 复合的赋值运算符(习题 3.23)在赋值运算符之前加上其他运算符就可以构成复合赋值运算符。 知识点十 赋值运算中的类型转换 如果赋值运算符两侧的数据类型不一致,在赋值前系统将自动先把右侧表达式求得的数值按赋值号左边变量的类型进行转换,但这种转换仅限于某些数据之间,通常称为“赋值兼容” 。 常用的转换规则: (1)当实型数据赋值给整型变量时,将实型数据的小数部分截断。 (2)当整型数据赋给实型变量时,数值不变,但以浮点数形式存
13、储到实型变量中 (3)当 double 尖型数据赋值给 float 型变量时,取其前面 7 位的有效数字,存放到float 型变量的存储单元中,这时数值可能溢出。 (4)当字符型数据赋值给整型变量时,由于整型变量占两个字节,则字符只占一个字节,只需将字符数据放到整型变量低 8 位中,对该整型变量最高位进行符号扩展,其他位补零。 (5)当整型、短整型、长整型数据赋值给一个 char 类型变量时,将低 8 位原封不动地送到 char 类型变量中。 知识点十一 位运算符和位运算 在计算机中,数据都是以二进制数形式存放的,位运算就是指对存储单元中二进制位的运算。 C 语言提供了 6 种位运算符 说明:
14、 (1)位运算中除“-”以外,均为双目运算符,要求两侧各有一个运算量 (2)运算量只能是整型或字符型数据,不能为实型数据导读:本章主要针对 C 语句分类、字符输出函数 putchar( )、字符输入函数 getchar( )、printf( ) 函数、scanf( ) 函数等知识点进行讲解。第 3 章 基本语句 知识点一 C 语句分类 C 语言的语句用来向计算机系统发出指令,一个实际的源程序通常包含若干语句,这些语句用来完成一定的操作任务。 C 程序中的语句,按照它们在程序中出现的顺序依次执行,由这样的语句构成的程序结构称为顺序结构。 C 语句的分类: (1) 控制语句 (2) 函数调用语句
15、(3) 表达式语句(4)空语句 (5) 复合语句(习题 3.28)赋值语句:此外理解=和= = 输入输出概念及其实现: (1) 数据从计算机内部向外部输出设备输送的操作称为“输出” ,数据从计算机外部向输入设备送入的操作称为“输入” 。 (2) C 语言本身不提供输入输出语句,可以通过函数来实现输入和输出的操作。 (3) 在使用 C 语言库函数时,首先要用预编译命令“#include”将有关的“头文件”包含到用户源文件中。这里需要用到编译预处理命令。 知识点二 字符输出函数 putchar( ) putchar( )函数的作用是向终端输出一个字符。 它输出字符变量 a 的值,a 也可以是字符型
16、变量。若 a 是整型变量,则输出的是 ASCII码值为该变量值的那个字符。 知识点三 字符输入函数 getchar( ) getchar( )函数的作用是从终端输入一个字符,getchar( )函数没有参数,函数值是从输入设备得到的字符。 知识点四 printf( ) 函数(习题 3.30)该函数是 C 语言提供的标准输出函数,它的作用是向终端按指定格式输出若干个数据。该函数的一般形式是 (1) “格式控制”:用双引号括起来的字符串,它包括两种信息 a.格式转换说明: b.需要原样输出的字符 (2) “输出表列”是需要输出的一些数据,可以是常量变量或表达式 使用该函数时的注意事项 (1) 在格
17、式控制字符串中,格式说明与输出项从左到右在类型上必须一一对应匹配。(2) 在格式控制串中,格式说明与输出项的个数也要相等。 (3) 在格式控制串中,除了合法的格式说明外,可以包含任意的合法字符这些字符在输出时将被“原样输出” 。 (4) 如果要输出“%” ,则应该在格式控制串中用两个连续的百分号“% ”来表示 知识点五 scanf( ) 函数 该函数的一般形式是 格式说明: 该函数中的格式说明也是以%开始,以及个格式字符结束,中间可以加入附加的字符。说明: (1) 对 unsigned 型变量的数据,可以用%d、%o 、 %x 格式输入 (2) 在该函数中格式字符前可以用一个整数指定输入数据所
18、占宽度,但对于实型数则不能指定其小数位的宽度。 (3) 在格式控制串中格式说明的个数应该与输入项的个数相等,且要类型匹配。 使用该函数要注意的问题 (1) 该函数中的输入项只能是地址表达式,而不能是变量名或其他内容,也就是说输入项必须是某个存储单元的地址。 (2) 如果在“格式控制”字串中除了格式说明以外还有其他字符,则在输入数据时应输入与这些字符相同的字符。 (3) 在用“%c”格式输入字符时,空格字符和转义字符都作为有效字符输入。 (4) 在输入数据时,若实际输入的数据少于输入项个数,该函数会等待输入,直到满足条件或遇到到非法字符才结束,若实际输入数据多于输入项个数,多答卷的数据将留在缓冲
19、区备用,作为下一次输入操作的数据。导读:本章主要针对关系运算符及其优先级、关系表达式、逻辑运算符及其优先级、逻辑表达式、if 的几种形式、if 语句的嵌套、条件运算符构成的选择结构、switch 语句、语句标号、goto 语句等知识点进行讲解。第 4 章 选择结构 知识点一 关系运算符及其优先级 C 语言中的关系运算符有: 所谓“关系运算”其实就是“比较运算” ,对两个值进行比较,判断其比较后的结果是否符合指定条件,从而执行不同的程序段。 识记:结合性:自左向右 优先次序: 知识点二 关系表达式 由关系运算符连接而成的表达式(可以是算术表达式或其他表达式)称为关系表达式。当关系运算符两边的值的
20、类型不一致时,若一边是整型,一边是实型,系统将自动把整型数转化为实型数,然后再进行比较。 知识点三 逻辑运算符及其优先级 C 语言中的逻辑运算符有: “ else( ) 语句 2; else if( ) 语句 1; else( ) 语句 2; 注意:else 总是与它上面的最近的没有与 else 配对的 if 配对。 知识点七 条件运算符构成的选择结构 有如下语句: if(x=y)min=x; else min=y; 可以用 min=(x=y)?x:y; 该表达式的执行过程是: 优先级:条件运算符高于赋值运算符,但低于逻辑运算符、关系运算符和算术运算符 知识点八 switch 语句 switc
21、h 语句是 C 语言提供的多分支选择语句,用来实现多分支选择结构。 语法结构: 注意: (1)switch 是关键字,其后用花括号括起来的部分是 switch 语句体。 (2)switch 后面括号内的“表达式” ,可以是 C 语言中任意合法、表达式,但表达式两侧的括 号不能省略。 (3) case 也是关键字,与其后面的常量表达式合称 case 语句标号,常量表达式的类型必须与 switch 后面的表达式的类型相匹配,且各 case 语句标号的值各不相同,不能重复。(4) default 也是关键字,起标号的作用,代表除了以上所有 case 标号之外的那标些号,default 标号可以出现在
22、语句体的任何标号位置上,当然,也可以没有。 (5) case 语句标号后的语句 1、语句 2 等,可以是一条语句,也可以是若干条,在必要时,case 语句标号后的语句可以省略不写。 知识点九 语句标号 语句标号用标识符表示,它的命名规则与变量名相同,即由 、 、 组成,在标识符后加一个冒号,就成了一个语句标号。在 C 语言中可以在任何语句前加上语句标号。 知识点十 goto 语句 goto 语句为无条件转向语句, goto 语句的一般形式如下: goto 语句标号; goto 语句的作用: 导读:本节主要介绍 while 语句、dowhile、for 语句、循环的嵌套、循环的比较、break语
23、句、continue 语句等知识点进行讲解。第 5 章 循环结构 知识点一 while 语句 在许多问题中,需要做某些重复执行的操作,这时就会用到循环结构。在程序设计中也一样,例如,对 1100 之间的自然数进行求和计算,计算某班级所有同学的成绩总分,还有很多,几乎所有的程序都会包含循环控制结构。 循环的定义:_ 它与顺序结构和选择结构共同作为各种复杂程序的基本构造单元。 while 语句的一般形式:_ 说明: while 是 C 语言的关键字。紧跟其后的表达式可以是 C 语言中任意合法的表达式,该表达式是循环条件,由它来控制循环体是否执行。循环体可以是一条可执行语句,当多项操作需要多次重复做
24、时,可以使用复合语句。 执行过程: (1)_ (2)_ (3)_ 特点:先对表达式进行条件判断,然后执行语句 知识点二 dowhile 一般形式: 说明:do 是 C 语言关键字,必须和 while 联合使用,不能独立出现。 dowhile 循环由 do 开始,用 while 结束。while 后面的括号中的表达式,可以是 C 语言中任意合法的表达式,由它控制循环是否执行,且括号不可丢。 执行过程: _ 知识点三 for 语句 一般形式:_ 说明:for 是 C 语言的关键字,其后的括号中通常有 3 个表达式,这 3 个表达式可以是 C 语言中任意合法表达式,它们通常用于 for 循环的控制。
25、各个表达式之间用“;”隔开,且括号不可省略。按照语法规则,循环体只能是一条语句,如需要完成多项操作,可通用大括号括起来构成复合语句。 执行过程:_ 知识点四 循环的嵌套 在某一个循环体内部又包含了另一个完整的循环结构,称为循环的嵌套。 一般形式: while _ for _ do_ 知识点五 循环的比较 前面讲的几种循环都可以用来处理同一个问题,一般情况下它们可以互相代替。不过最好根据每种循环的不同特点选择最适合的。 while 和 dowhile 循环,只在 while 后面指定循环条件,循环体内应包含使循环趋于结束的语句。for 中使循环趋于结束的操作可以包含在“ 表达式 3”中。由 wh
26、ile 完成的循环,用 for 都能完成。在 for 语句“表达式 1”中可以实现循环变量的初始化,而 while 和dowhile 的循环变量初始化应在 while 和 dowhile 语句之前完成。 知识点六 break 语句 break 语句只能出现在循环体内及 switch 语句内,不能用于其它语句中。 当 break 出现在循环体中的 switch 语句体内时,其作用是:_ 当 break 出现在循环体只是 并不在 switch 语句体内时,则在执行 break 后,跳出本层循环,当然也不再去进行条件判断。 知识点七 continue 语句 作用: _ continue 和 brea
27、k 语句的区别是:_导读:本节主要针对数组、一维数组的定义、一维数组元素的引用、一维数组的初始化、二维数组的定义、二维数组的引用、二维数组的初始化、通过赋初值定义二维数组的大小、字符数组、字符数组的初始化及引用、字符串和字符串结束标志等知识点进行讲解。第 6 章 数组 知识点一 数组 数组是由属于同一个数据类型的有序数据集构成。数组中的每一个数据称为“元素” 。可以用一个统一的数组名和下标来唯一地标识数组中的元素。 知识点二 一维数组的定义 一般形式:_ 知识点三 一维数组元素的引用 一般形式:_ 说明:引用数组元素时,数组的下标可以是整型常量,也可以是整型表达式。 和变量一样,数组必须先定义
28、后使用。数组元素只能逐个引用而不能把数组当做一个整体一次引用。 知识点四 一维数组的初始化 当数组定义后,系统会为该数组在内存中开辟一串连续的存储单元,但这些存储单元中并没有确定的值。可以在定义数组时为所含的数组元素赋初值。 在指定初值时,第一个初值必定赋给下标为 0 的元素。也就是说数组元素的下标是从0 开始的。同时,不可能跳过前面的元素给后面的元素赋初值,但是允许为前面元素赋值为 0。当所赋初值个数少于所定义数组的元素个数时,将自动给后面的其他元毒害补以初值 0;当所赋初值个数多于所定义数组的元素个数时,也就是说超出了数组已经定义的范围,在编译时系统将给出出错信息。 知识点五 二维数组的定
29、义 在 C 语言中,二维数组中元素排列的顺序是:按行存放,即在内存中先顺序存放第一行的元素,再存放第二行的元。因此,二维数组元素的存储与一维数组元素存储相类似,总是占用一块连续的内存单元。 二维数据定义的一般形式: _ 知识点六 二维数组的引用 二维数组的表示形式为:_ 数组的下标可以是整型表达式。例如:_ 数组元素可以出现在表达式中,也可以被赋值。 知识点七 二维数组的初始化 可以在定义二维数组的同时给二维数组的各元素赋初值。 全部初值放在一对花括号中,每一行的初值又分别括在一对花括号中,之间用逗号隔开。当某行一对花括号内的初值个数少于该行中的元素的个数时,系统将自动地给后面的元素补初值 0
30、。同样不能跳过每个前面的元素而给后面的元素赋初值。 知识点八 通过赋初值定义二维数组的大小 对于一维数组,可以在数组定义语句中省略方括号中的数量表达式,通过所赋初值的个数来确定数组的大小;对于二维数组,只可以省略每一个方括号中的常量表达式,而不能省略第二个方括号中的常量表达式。 第一维的大小按以下规则决定: (1)当初值的个数能被第二维的常量表达式的值除尽时,所得商数就是第一维的大小。(2)当初值的个数不能被第二维的常量表达式的值除尽时则: 第一维的大小=所得商数+1; 知识点九 字符数组 字符数组就是数组中的每个元素都是字符,定义方法同普通数组的定义相同,即逐个对数组元素赋值。 知识点十 字
31、符数组的初始化及引用 对字符数组初始化,可逐个元素地赋值,即把字符逐个赋给数组元素。 如果花括号中提供的初值个数大于数组长度,则_ 。如果初值个数小于数组长度,则_ 。其余元素则:_ 。 知识点十一 字符串和字符串结束标志 C 语言中,将字符作为字符数组来处理。为了测定字符吕的实际长度,C 语言规定了一个字符串结束标志,以字符“ ”代表。也就是说在遇到这个字符的时候表示字符串结束,由它前面的字符组成字符串。 知识点十二 字符数组的输入输出 字符数组的输入与输出有两种方法: (1)_ (2)_ 知识点十三 字符串处理函数 (见书)导读:本节主要是针对库函数、函数的定义、形式参数和实际参数、函数的
32、返回值、函数调用的一般形式、函数的调用方式、函数的说明、函数说明的位置等知识点进行讲解。第 7 章 函数 知识点一 库函数 C 语言提供了丰富的库函数,这些函数包括了常用的数学函数,如求平方根的 sqrt()函数,对字符和字符串进行处理的函数,进行输入输出处理的各函数等。 调用 C 语言标准库函数时要求使用 include 命令对每一类库函数进行文件包含,即在主调函数中需要调用库函数时,应在主调函数的声明部分用_命令把该库函数的头文件名包含进来。 知识点二 函数的定义 一般形式:_ 说明:函数名和各个形式参数都是由用户命名的合法标识符,与普通变量名的定义规则相同。在同一程序中,函数名必须唯一,
33、不能出现重名的情况。形式参数名只要在同一函数中唯一即可,由于形参作用域不相同,因此形式参数名可以与其他函数中的变量名同名。C 语言规定,不能在一个函数内部再定义函数,也就是说函数不能嵌套定义。 (1) 若在函数的首部省略了函数返回值的类型名,可以把函数首部写成:_ (2)紧跟在函数名之后的圆括号中的内容是形式参数和类型说明表,在每个形参之前都要有类型名,以标识形式参数的类型。各形参的定义之间用逗号分隔若所定义的函数没有形参,函数名后的一对圆括号依然不能省略。在某些情况下,函数体可以是空的。 (3)在函数体中,除形参外,用到的其他变量必须在说明部分进行定义,这些变量只在函数被调用时才被临时分配内
34、存单元,当退出函数时,这些临时开辟的存储单元全部被释放掉,即在该函数体内部定义的变量都将不存在。因此,这些变量只在函数体内部起作用,与其他函数体内的变量并不相关。 知识点三 形式参数和实际参数 在程序中调用函数时,绝大多数情况下,主调函数和被调函数之间会发生数据传递关系,这就要用到有参函数。在定义函数时,函数名后面括号中的变量称为“ _”;在主调函数中,函数名后面括号中的参数称为“_ ” 。 说明(1)实参可以是常量、变量或表达式 (2) 在被定义的函数中必须指定形参类型 (3) 实参与形参的类型应相同或赋值相兼容 (4) C 语言规定,实参变量对形参变量的数据传递是“值传递” ,即单向传递。
35、只能由实参传给形参,而不能由形参返回来给实参。内存中,实参单元与形参单元是不同的单元 (5) 在调用函数时,给形参分配配存储单元,并将实参对应的值传递给形参。调用结束后,形参单元被释放,实参单元仍保留并维持原值。 知识点四 函数的返回值 函数的返回值就是通过函数调用使主调函数参得到一个确定的值。函数的值通过return 语句返回,return 语句的一般形式是 return 语句中的表达式的值就是所求的函数值。此表达式值的类型必须与函数首部所说明的类型一致。若类型不一致,则以函数值的类型为准,由系统自动进行转换。 知识点五 函数调用的一般形式 一般形式:_ 函数的调用可以分为调用无参函数和调用
36、有参函数两种,如果说是调用无参函数,则不用“实参表列” ,但括号不能省略。在调用函数时,若实参列表中有多个实参,各参数间用逗号隔开。实参与形参要求类型一致。 知识点六 函数的调用方式 (1)_ (2)_ (3) _ C 语言中,调用函数和被调用函数之间的数据可通过 3 种方式进行传递: (1) _ (2) _ (3)_ 知识点七 函数的说明 C 语言中,除了主函数外,对于用户定义的函数要遵循先定义后使用的规则。把函数的定义放在调用之后,应该在调用之前对函数进行说明。 函数说明的一般形式: 此处的参数名完全是虚设的,它们可以是任意的用户标识符,既不必与函数首部中的形参名一致,又可与程序中的任意用
37、户标识符同名,实际上参数名常常省略。函数说明了语句中的类型名必须与函数返回值的类型一致。 函数说明可以是一条独立的语句,对函数进行说明,能使 C 语言的编译程序在编译时进行有效的类型检查。当调用函数时,若实参的类型与形参的类型不能赋值兼容而进行非法转换,C 编译程序将会发现错误并报错;当实参的个数与形参的个数不同时,编译程序也将报错。 知识点八 函数说明的位置 一个函数在所有函数的外部,如在被用之前说明,则在说明后的所有位置上都可以对该函数进行调用。说明与定义是两个不同的概念。 知识点九 函数的嵌套调用 看书 知识点十 函数的递归调用 看书 知识点十一 数组元素作为函数实参 数组元素可以作为函
38、数的实参,与用变量作为实参一样,按照单向值传递的方式进行传递,可参照以后的例题讲解。 知识点十二 数组名可能作为函数参数 可以用数组名作为函数参数,此时实参与形参都应用数组名,此时的数组名是整个数组的首地址,在以后的章节中将详细讲解。 知识点十三 局部变量 在一个函数内部定义的变量,它们只在本函数范围内有效,即只有本函数才能使用它们,其他函数不能使用这些变量,我们将这些变量称为“局部变量” 。没函数中可以使用相同的名字的局部变量,它们代表不同的对象,在内存中占不同的单元,互不干扰。 知识点十四 全局变量 在函数之外定义的变量称为外部变量,外部变量是全局变量。全局变量可以为本文件中其他函数所共用
39、,它的有效范围从定义变量开始到本文件结束。 知识点十五 auto 变量 看书 知识点十六 regirster 变量 看书 知识点十七 静态存储类别的局部变量 看书 知识点十八 用 static 声明外部变量 有时在程序设计中希望某些外部变量只限于本文件使用,而不能被其他文个把引用,这时可以在定义外部变量时加一个 static 声明 知识点十九 extern 声明外部变量 (1) 在一个文件内声明外部变量 看书 (2) 在多文件的程序中声明外部变量 看书 知识点二十 内部函数 内部函数就是只能被本文件中的其他函数所调用的函数。在定义内部函数时,在函数名和函数类型前加 static。 一般形式为:
40、_ 内部函数又称为静态函数,只局限于所在文个把,在不同文件中可以有同名的内部函数,互不干扰。 知识点二十一 外部函数 在定义函数时,如果在函数首部的最左端冠以关键字 extern,则表示此函数是外部函数,可供其他文件调用的。 一般形式:_ C 语言规定,如果在定义函数时省略 extern,则隐含为外部函数。在需要调用此函数的文件中,用 extern 声明所用的函数是外部函数。导读:本节主要针对指针变量的定义、指针变量的引用、指向数组元素的指针、通过指针引用数组元素、字符串的表示形式等知识点进行讲解。第 8 章 指针 知识点一 指针变量的定义 定义指针变量的一般形式 知识点二 指针变量的引用 指
41、针变量中只能存放地址,将一个整型变量赋给一个指针变量是不允许的与指针相关的两个运算符是_和 _。 知识点三 指针变量作为函数参数 作用: _ 知识点四 指向数组元素的指针 C 语言规定数组名代表数组的首地址,也就是数组中第 0 号元素的地址. 知识点五 通过指针引用数组元素 C 语言规定:如果指针变量 p 已向数组中的一个元素, 则 p+1 _这里的加 1 指的是_ 知识点六 用数组名作为函数参数 做题 知识点七 指向多维数组的指针和指针变量 知识点八 字符串的表示形式 (1) 用字符数组存放一个字符串,然后输出该字符串 (2) 用字符指什指向一个字符串 知识点九 字符串指镇和函数参数 做题 知识点十 字符指针变量和字符数组的区别 知识点十一 用函数指针变量调用函数