C语言考点Word文档格式.docx
《C语言考点Word文档格式.docx》由会员分享,可在线阅读,更多相关《C语言考点Word文档格式.docx(19页珍藏版)》请在冰豆网上搜索。
![C语言考点Word文档格式.docx](https://file1.bdocx.com/fileroot1/2023-1/29/33c325b6-42e8-412c-93ee-d8a1237e2e7f/33c325b6-42e8-412c-93ee-d8a1237e2e7f1.gif)
除了形式上的字符常量外,C语言还有特殊的字符常量——转义字符常量
(4)字符串常量
字符串常量是用双撇号括起来的一个或一串字符。
(5)符号常量
符号常量由宏定义“#define”定义的常量,在C程序中可用标识符代表一个常量。
[考点六]变量
变量就是其值可以改变的量。
变量要有变量名,在内存中占据一定的存储单元,存储单元里存放的是该变量的值。
不同类型的变量其存储单元的大小不同,变量在使用前必须定义。
(1)整型变量
整型变量分为4种:
基本型、短整型、长整型和无符号型。
(2)实型变量
实型变量分为单精度类型和双精度类型。
在一般的系统中,float型数据在内存中占4个字节,double型数据占8个字节。
单精度实数提供7位有效数字,双精度实数提供15-16位有效数字。
实型常量不分float开和double型,一个实型常量可以赋给一个float型或double型变量,但变量根据其类型截取实型常量中相应的有效数字。
(3)字符变量
字符变量用来存放字符常量,字符变量用关键字char说明,每个字符变量中只能存放一个字符。
将一个字符赋给一个变量时,并不是将该字符本身存储到内存中,而是将该字符对应的ASCII码存储到内存单元中。
由于在内存中字符以ASCII码存放,它的存储形式和整数的存储形式类似,所以C语言中字符型数据与整型数据之间可以通用,一个字符能用字符的形式输出,马能用整数的形式输出,字符数据也能进行算术运算,此时相当于对它们的ASCII码进行运算。
[考点七]类型的自动转换和强制转换
当同一表达式中各数据的类型不同时,编译程序会自动把它们转变成同一类型后再进行计算。
转换优先级为:
char<
int<
float<
double即左边级别“低”的类型向右边转换。
具体地说,若在表达式中优先级最高的数据是double型,则此表达式中的其他数据均被转换成double型,且计算结果也是double型;
在做赋值运算时,若赋值号左右两边的类型不同,则赋值号右边的类型向左边的类型转换;
当右边的类型高于左边的类型时,则在转换时对右边的数据进行截取。
强制转换的形式是:
(类型)(表达式);
第2章运算符与表达式
[考点一]C运算符简介
[考点二]运算符的结合性和优先级
(1)在C语言的运算符中,所有的单目运算符、条件运算符、赋值运算符及其扩展运算符结合方向都是从右向左,其余运算符的结合方向是从左向右。
(2)各类运算符优先级别的比较
初等运算符>
单目运算符>
算术运算符>
关系运算符>
逻辑运算符>
条件运算符>
赋值运算符>
逗号运算符
说明:
以上优先级别由左到右递减,初等运算符优先级最高,逗号运算符优先级最低。
[考点三]强制类型转换运算符
可以利用强制类型转换符将一个表达式转换成所需类型,其一般形式为:
[考点四]逗号运算符和逗号表达式
用逗号运算符将几个表达式连接起来称为逗号表达式。
逗号表达式的求解过程是:
先求解表达式1,然后依次求解表达式2,直到表达式n的值。
整个逗号表达式的值就是表达式n的值。
需要注意的是,逗号运算符是所有运算符中级别最低的。
[考点五]基本的算术运算符
需要说明的是:
两个整数相除的结果为整型,如果两个数中有一个数为实数,则结果为double型。
[考点六]算术表达式和运算符的优先级与结合性
算术表达式是用算术运算符和括号将运算量连执着起来的,符合C语言语法规则的表达式。
运算对象包括函数、常量和变量等。
在计算机语言中,算术表达式的求值规律与数学中的四则运算的规律类似,其运算规则和要求如下:
(1)在算术表达式中,可使用多层圆括号,但括号必须配对。
运算时从内层圆括号开始,由内向外依次计算各表达式的值。
(2)在算术表达式中,对于不同优先级的运算符,可按运算符的优先级由高到低进行运算,若表达式中运算符的优先级相同,则按运算符的结合方向进行运算。
(3)如果一个运算符两侧的操作数类型不同,则先利用自动转换或强制类型转换,使两者具有相同类型,然后进行运算。
[考点七]自增自减运算符
作用:
使变量的值增1或减1。
[考点八]赋值运算符和赋值表达式
赋值符号“=”就是赋值运算符,作用是将一个数据赋给一个变量或将一个变量的值赋给另一个变量,由赋值运算符组成的表达式称为赋值表达式。
在程序中可以多次给一个变量赋值,每赋一次值,与它相应的存储单元中的数据就被更新一次,内存中当前的数据就是最后一次所赋值的那个数据。
[考点九]复合的赋值运算符
在赋值运算符之前加上其他运算符就可以构成复合赋值运算符。
[考点十]赋值运算中的类型转换
如果赋值运算符两侧的数据类型不一致,在赋值前系统将自动先把右侧表达式求得的数值按赋值号左边变量的类型进行转换,但这种转换仅限于某些数据之间,通常称为“赋值兼容”。
常用的转换规则:
(1)当实型数据赋值给整型变量时,将实型数据的小数部分截断。
(2)当整型数据赋给实型变量时,数值不变,但以浮点数形式存储到实型变量中
(3)当double尖型数据赋值给float型变量时,取其前面7位的有效数字,存放到float型变
量的存储单元中,这时数值可能溢出。
(4)当字符型数据赋值给整型变量时,由于整型变量占两个字节,则字符只占一个字节,只
需将字符数据放到整型变量低8位中,对该整型变量最高位进行符号扩展,其他位补零。
(5)当整型、短整型、长整型数据赋值给一个char类型变量时,将低8位原封不动地送到char
类型变量中。
[考点十一]位运算符和位运算
在计算机中,数据都是以二进制数形式存放的,位运算就是指对存储单元中二进制位的运算。
C语言提供了6种位运算符
说明:
(1)位运算中除“-”以外,均为双目运算符,要求两侧各有一个运算量
(2)运算量只能是整型或字符型数据,不能为实型数据
第3章基本语句
[考点一]C语句分类
C语言的语句用来向计算机系统发出指令,一个实际的源程序通常包含若干语句,这些语句用来完成一定的操作任务。
C程序中的语句,按照它们在程序中出现的顺序依次执行,由这样的语句构成的程序结构称为顺序结构。
C语句的分类:
(1)控制语句
(2)其他类型语句
(3)空语句
(4)复合语句
赋值语句:
此外理解=和==
输入输出概念及其实现:
(1)数据从计算机内部向外部输出设备输送的操作称为“输出”,数据从计算机外部向输入设备送入的操作称为“输入”。
(2)C语言本身不提供输入输出语句,可以通过函数来实现输入和输出的操作。
(3)在使用C语言库函数时,首先要用预编译命令“#include”将有关的“头文件”包含到用户源文件中。
这里需要用到编译预处理命令。
[考点二]字符输出函数putchar()
putchar()函数的作用是向终端输出一个字符。
它输出字符变量a的值,a也可以是字符型变量。
若a是整型变量,则输出的是ASCII码值为该变量值的那个字符。
[考点三]字符输入函数getchar()
getchar()函数的作用是从终端输入一个字符,getchar()函数没有参数,函数值是从输入设备得到的字符。
[考点四]printf()函数
该函数是C语言提供的标准输出函数,它的作用是向终端按指定格式输出若干个数据。
该函数的一般形式是
(1)“格式控制”:
用双引号括起来的字符串,它包括两种信息
a.格式转换说明:
b.需要原样输出的字符
(2)“输出表列”是需要输出的一些数据,可以是常量变量或表达式
识记格式字符:
d
o
x
u
c
s
f
e
g
使用该函数时的注意事项
(1)在格式控制字符串中,格式说明与输出项从左到右在类型上必须一一对应匹配。
(2)在格式控制串中,格式说明与输出项的个数也要相等。
(3)在格式控制串中,除了合法的格式说明外,可以包含任意的合法字符这些字符在输出时将被“原样输出”。
(4)如果要输出“%”,则应该在格式控制串中用两个连续的百分号“%%”来表示
[考点五]scanf()函数
格式说明:
该函数中的格式说明也是以%开始,以及个格式字符结束,中间可以加入附加的字符。
(1)对unsigned型变量的数据,可以用%d、%o、%x格式输入
(2)在该函数中格式字符前可以用一个整数指定输入数据所占宽度,但对于实型数则不能指定其小数位的宽度。
(3)在格式控制串中格式说明的个数应该与输入项的个数相等,且要类型匹配。
使用该函数要注意的问题
(1)该函数中的输入项只能是地址表达式,而不能是变量名或其他内容,也就是说输入项必须是某个存储单元的地址。
(2)如果在“格式控制”字串中除了格式说明以外还有其他字符,则在输入数据时应输入与这些字符相同的字符。
(3)在用“%c”格式输入字符时,空格字符和转义字符都作为有效字符输入。
(4)在输入数据时,若实际输入的数据少于输入项个数,该函数会等待输入,直到满足条件或遇到到非法字符才结束,若实际输入数据多于输入项个数,多答卷的数据将留在缓冲区备用,作为下一次输入操作的数据。
第4章选择结构
[考点一]关系运算符及其优先级
C语言中的关系运算符有:
所谓“关系运算”其实就是“比较运算”,对两个值进行比较,判断其比较后的结果是否符合指定条件,从而执行不同的程序段。
识记:
结合性:
自左向右
优先次序:
[考点二]关系表达式
由关系运算符连接而成的表达式(可以是算术表达式或其他表达式)称为关系表达式。
当关系运算符两边的值的类型不一致时,若一边是整型,一边是实型,系统将自动把整型数转化为实型数,然后再进行比较。
[考点三]逻辑运算符及其优先级
C语言中的逻辑运算符有:
“&
&
”和“||”是双目运算符,要求要有两个操作数,而“!
”是单目运算符,只要求有一个操作数即可。
以上逻辑运算符的优先级是:
“!
”级别最高,其次是“&
”,“||”级别最低,逻辑运算符中的“&
”和“||”低于关系运算符,“!
”高于算术运算符。
!
>
”>
“||”>
赋值运算符。
[考点四]逻辑表达式
逻辑表达式由逻辑运算符和运算对象组成,其中,参与逻辑运算的对象可以是一个具体的值,还可以是C语言中任意合法的表达式,逻辑表达式的运算结果为1或0。
识记逻辑运算表
[考点五]if的几种形式
if语句的作用:
if语句的几种形式:
第一种形式:
第二种形式:
第三种形式:
[考点六]if语句的嵌套
在if语句中又包含一个或多个if语句结构,称为if语句的嵌套,一般形式如下:
if()
if()语句1;
else()语句2;
else
注意:
else总是与它上面的最近的没有与else配对的if配对。
[考点七]条件运算符构成的选择结构
有如下语句:
if(x<
y)min=x;
elsemin=y;
可以用min=(x<
y)?
x:
y来替换
该表达式的执行过程是:
优先级:
条件运算符高于赋值运算符,但低于逻辑运算符、关系运算符和算术运算符
[考点八]switch语句
switch语句是C语言提供的多分支选择语句,用来实现多分支选择结构。
语法结构:
(1)switch是关键字,其后用花括号括起来的部分是switch语句体。
(2)switch后面括号内的“表达式”,可以是C语言中任意合法、表达式,但表达式两侧的括
号不能省略。
(3)case也是关键字,与其后面的常量表达式合称case语句标号,常量表达式的类型必须与switch后面的表达式的类型相匹配,且各case语句标号的值各不相同,不能重复。
(4)default也是关键字,起标号的作用,代表除了以上所有case标号之外的那标些号,default标号可以出现在语句体的任何标号位置上,当然,也可以没有。
(5)case语句标号后的语句1、语句2等,可以是一条语句,也可以是若干条,在必要时,case语句标号后的语句可以省略不写。
[考点八]语句标号
语句标号用标识符表示,它的命名规则与变量名相同,即由、、组成,在标识符后加一个冒号,就成了一个语句标号。
在C语言中可以在任何语句前加上语句标号。
[考点八]goto语句
goto语句为无条件转向语句,goto语句的一般形式如下:
goto语句标号;
goto语句的作用:
第5章循环结构
[考点一]while语句
在许多问题中,需要做某些重复执行的操作,这时就会用到循环结构。
在程序设计中也一样,例如,对1~100之间的自然数进行求和计算,计算某班级所有同学的成绩总分,还有很多,几乎所有的程序都会包含循环控制结构。
循环的定义:
它与顺序结构和选择结构共同作为各种复杂程序的基本构造单元。
while语句的一般形式:
while是C语言的关键字。
紧跟其后的表达式可以是C语言中任意合法的表达式,该表达式是循环条件,由它来控制循环体是否执行。
循环体可以是一条可执行语句,当多项操作需要多次重复做时,可以使用复合语句。
执行过程:
(1)
(2)
(3)
特点:
先对表达式进行条件判断,然后执行语句
[考点二]do…while
一般形式:
do是C语言关键字,必须和while联合使用,不能独立出现。
do…while循环由do开始,用while结束。
while后面的括号中的表达式,可以是C语言中任意合法的表达式,由它控制循环是否执行,且括号不可丢。
[考点三]for语句
for是C语言的关键字,其后的括号中通常有3个表达式,这3个表达式可以是C语言中任意合法表达式,它们通常用于for循环的控制。
各个表达式之间用“;
”隔开,且括号不可省略。
按照语法规则,循环体只能是一条语句,如需要完成多项操作,可通用大括号括起来构成复合语句。
[考点四]循环的嵌套
在某一个循环体内部又包含了另一个完整的循环结构,称为循环的嵌套。
whilefordo
[考点五]循环的比较
前面讲的几种循环都可以用来处理同一个问题,一般情况下它们可以互相代替。
不过最好根据每种循环的不同特点选择最适合的。
while和do…while循环,只在while后面指定循环条件,循环体内应包含使循环趋于结束的语句。
for中使循环趋于结束的操作可以包含在“表达式3”中。
由while完成的循环,用for都能完成。
在for语句“表达式1”中可以实现循环变量的初始化,而while和do…while的循环变量初始化应在while和do…while语句之前完成。
[考点六]break语句
break语句只能出现在循环体内及switch语句内,不能用于其它语句中。
当break出现在循环体中的switch语句体内时,其作用是:
当break出现在循环体只是并不在switch语句体内时,则在执行break后,跳出本层循环,当然也不再去进行条件判断。
[考点七]continue语句
作用:
continue和break语句的区别是:
第6章数组
[考点一]数组
数组是由属于同一个数据类型的有序数据集构成。
数组中的每一个数据称为“元素”。
可以用一个统一的数组名和下标来唯一地标识数组中的元素。
[考点二]一维数组的定义
[考点三]一维数组元素的引用
引用数组元素时,数组的下标可以是整型常量,也可以是整型表达式。
和变量一样,数组必须先定义后使用。
数组元素只能逐个引用而不能把数组当做一个整体一次引用。
[考点四]一维数组的初始化
当数组定义后,系统会为该数组在内存中开辟一串连续的存储单元,但这些存储单元中并没有确定的值。
可以在定义数组时为所含的数组元素赋初值。
在指定初值时,第一个初值必定赋给下标为0的元素。
也就是说数组元素的下标是从0开始的。
同时,不可能跳过前面的元素给后面的元素赋初值,但是允许为前面元素赋值为0。
当所赋初值个数少于所定义数组的元素个数时,将自动给后面的其他元毒害补以初值0;
当所赋初值个数多于所定义数组的元素个数时,也就是说超出了数组已经定义的范围,在编译时系统将给出出错信息。
[考点五]二维数组的定义
在C语言中,二维数组中元素排列的顺序是:
按行存放,即在内存中先顺序存放第一行的元素,再存放第二行的元。
因此,二维数组元素的存储与一维数组元素存储相类似,总是占用一块连续的内存单元。
二维数据定义的一般形式:
[考点六]二维数组的引用
二维数组的表示形式为:
数组的下标可以是整型表达式。
例如:
数组元素可以出现在表达式中,也可以被赋值。
[考点七]二维数组的初始化
可以在定义二维数组的同时给二维数组的各元素赋初值。
全部初值放在一对花括号中,每一行的初值又分别括在一对花括号中,之间用逗号隔开。
当某行一对花括号内的初值个数少于该行中的元素的个数时,系统将自动地给后面的元素补初值0。
同样不能跳过每个前面的元素而给后面的元素赋初值。
[考点八]通过赋初值定义二维数组的大小
对于一维数组,可以在数组定义语句中省略方括号中的数量表达式,通过所赋初值的个数来确定数组的大小;
对于二维数组,只可以省略每一个方括号中的常量表达式,而不能省略第二个方括号中的常量表达式。
第一维的大小按以下规则决定:
(1)当初值的个数能被第二维的常量表达式的值除尽时,所得商数就是第一维的大小。
(2)当初值的个数不能被第二维的常量表达式的值除尽时则:
第一维的大小=所得商数+1;
[考点九]字符数组
字符数组就是数组中的每个元素都是字符,定义方法同普通数组的定义相同,即逐个对数组元素赋值。
[考点十]字符数组的初始化及引用
对字符数组初始化,可逐个元素地赋值,即把字符逐个赋给数组元素。
如果花括号中提供的初值个数大于数组长度,则。
如果初值个数小于数组
长度,则。
其余元素则:
。
[考点十一]字符串和字符串结束标志
C语言中,将字符作为字符数组来处理。
为了测定字符吕的实际长度,C语言规定了一个字符串结束标志,以字符“”代表。
也就是说在遇到这个字符的时候表示字符串结束,由
它前面的字符组成字符串。
[考点十二]字符数组的输入输出
字符数组的输入与输出有两种方法:
(1)
(2)
[考点十三]字符串处理函数
(见书)
第7章函数
[考点一]库函数
C语言提供了丰富的库函数,这些函数包括了常用的数学函数,如求平方根的sqrt()函数,对字符和字符串进行处理的函数,进行输入输出处理的各函数等。
调用C语言标准库函数时要求使用include命令对每一类库函数进行文件包含,即在主调函数中需要调用库函数时,应在主调函数的声明部分用命令把该库函数的头文件名包含进来。
在C语言中,库函数的调用可以以两种形式出现
(1)
(2)
[考点二]函数的定义
函数名和各个形式参数都是由用户命名的合法标识符,与普通变量名的定义规则相同。
在同一程序中,函数名必须唯一,不能出现重名的情况。
形式参数名只要在同一函数中唯一即可,由于形参作用域不相同,因此形式参数名可以与其他函数中的变量名同名。
C语言规定,不能在一个函数内部再定义函数,也就是说函数不能嵌套定义。
(1)若在函数的首部省略了函数返回值的类型名,可以把函数首部写成:
(2)紧跟在函数名之后的圆括号中的内容是形式参数和类型说明表,在每个形参之前都要有
类型名,以标识形式参数的类型。
各形参的定义之间用逗号分隔
若所定义的函数没有形参,函数名后的一对圆括号依然不能省略。
在某些情况下,函数体
可以是空的。
(3)在函数体中,除形参外,用到的其他变量必须在说明部分进行定义,这些变量只在函数
被调用时才被临时分配内存单元,当退出函数时,这些临时开辟的存储单元全部被释放掉,即在该函数体内部定义的变量都将不存在。
因此,这些变量只在函数体内部起作用,与其他函数体内的变量并不相关。
[考点三]形式参数和实际参数
在程序中调用函数时,绝大多数情况下,主调函数和被调函数之间会发生数据传递关系,这就要用到有参函数。
在定义函数时,函数名后面括号中的变量称为“”;
在主调函数中,函数名后面括号中的参数称为“”。
说明
(1)实参可以是常量、变量或表达式
(2)在被定义的函数中必须指定形参类型
(3)实参与形参的类型应相同或赋值相兼容
(4)C语言规定,实参变量对形参变量的数据传递是“值传递”,即单向传递。
只能由实参传给形参,而不能由形参返回来给实参