好文档 - 专业文书写作范文服务资料分享网站

2017全国计算机等级考试二级C语言知识点超全整(打印版)

天下 分享 时间: 加入收藏 我要投稿 点赞

选择题考点秘籍—二级C 语言

(3)“右移”运算

右移(>>)运算符的使用方法与左移运算符相同,只是移位方向相反。右移时,右端(低位)移出的二进制数舍弃,左端(高位)移入的二进制数分两种情况:对于无符号整数和正整数,高位补0;对于负整数,高位补1。

(4)“按位与”运算

按位与(&)运算符的作用是:把参加运算的两个运算数按对应的二进制位分别进行 “与”运算,当两个相应的位都为1 时,该位 的结果为1;否则为0。

(5)“按位异或”运算

按位异或(^)的运算规则是:参与运算的两个运算数中相对应的二进制位上,若数相同,则该位的结果为0;若数不同,该位的结果为1。

(6)“按位或”运算

按位或(|)的运算规则是:参加运算的两个运算数中,只要两个相应的二进制位中一个为1,则该位的运算结果即为1;只有当两个相应位的数都为0 时,该位的运算结果才为0。

(7)位数不同的运算数之间的运算规则 ①先将两个运算数右端对齐;②再将位数短的一个运算数往高位扩充(无符号数和正整数左侧补0,负数最左侧补1),然后对位数相等的这两个运算数按位进行运算。

第3 章选择结构

考点1 关系运算符和关系表达式 1.关系运算符

关系运算符实际上是“比较运算”,即进行两个数的比较,判断比较的结果是否符合指定的条件。C语言提供了6种关系运算符:小于(<);小 .......于或等于(<=);大于(>);大于或等于(>=); 等于(==);不等于(!=)。使用关系运算符时应注意两点:① 由两个字符组成的运算符之间不允许有空格;② 关系运算符是双目运算符,具有自左向右的结合性。以上运算符中,前4 种关系运算符 (<、<=、>、>=)的优先级相同,后两种(= =、!=)的优先级相同,且前4 种的优先级高于后两种。 2.关系表达式

由关系运算符构成的表达式,称为关系表达式。关系运算符两边的运算对象可以是C 语言中任意合法的表达式。关系运算符的值为“逻辑值”,只有两种可能值:整数0 或者整数1。

考点2 逻辑运算符和逻辑表达式 1.逻辑运算符

C语言提供了3逻辑运算符:逻辑与 .种......“&&”;逻辑或“||”;逻辑非“!”。其中,“&&” 和“||”为双目运算符,“!”为单目运算符,出现在运算对象的左边。逻辑运算符具有从左到右的结合性。前面运算符的优先级次序是:“!”最高; “&&”次之;“||”最低。 2.逻辑表达式

由逻辑运算符和运算对象组成的表达式称为逻辑表达式。逻辑表达式的运算结果为真 (1)或者为假(0)。

考点3 if 语句及其构成的选择结构 1.if 语句

(1)不含else 子句的if 语句 if(表达式) 语句

语句执行过程为:首先计算紧跟在if 后面一对圆括号中的表达式的值。根据计算结果有两种情况:①如果表达式的值为非零(“真”),则执行其后的if 子句,然后去执行if 语句后的下一条语句;②如果表达式的值为零(“假”),则跳过 if 子句,直接执行if 语句后的下一条语句。

(2)含else 子句的if 语句 if(表达式) 语句1 else 语句2

if和else是C语言的关键字。“语句1” 称为if子句,“语句2”称为else子句,这些子句只允许为一条语句,若需要多条语句时,则应该使用复合语句。语句的执行过程为:首先计算紧跟在if后面一对圆括号内表达式的值。计算结果有两种情况:① 如果表达式的值为非零,执行if子语,然后跳过else子句,去执行

if 语句后的下一条语句;② 如果表达式的值为零,跳过if 子句,去执行else 子句,执行完之后接着去执行if 语句后的下一条语句。 2.嵌套的if 语句

(1)在if 子句中嵌套有else 子句的if 语句 if (表达式1) if(表达式2) 语句1 else 语句2 else 语句3

语句的执行过程如下:

首先计算紧跟在if 后面一对圆括号内表达式

- 19 -

第二部分二级C 语言程序设计

的值,计算结果有两种情况:① 当表达式1 的值为非0 时,执行内嵌的if- else 语句;② 当表达式1 的值为0 时,执行语句3。

(2)在if 子句中嵌套不含else 子句的if 语句 if (表达式1)

{ if(表达式2) 语句1} else 语句2

(3)在else 子句中嵌套if 语句。 ① 内嵌的if 语句带有else: if(表达式1) 语句1 else if(表达式2) 语句2 else 语句3

② 内嵌的if 语句不带有else: if(表达式1)语句1 else

if(表达式2) 语句2

3.条件表达式构成的选择结构 (1)条件运算符

条件运算符由“?”和“:”两个运算符组成。 (2)由条件运算符构成的条件表达式表达式1表达式2 : 表达式3 (3)条件表达式的运算功能

条件表达式的运算过程如下:当“表达式 1”的值为非零时,求出“表达式2”的值,此时“表达式2”的值就是整个条件表达式的值;当“表达式1”的值为零时,则求“表达式3” 的值,这时便把“表达式3”的值作为整个条件表达式的值。

(4)条件运算符的优先级

条件运算符先于赋值运算符,但低于关系运算符和算术运算符。

考点4 switch 语句与break 语句 1.switch 语句格式

switch(表达式)

{case 常量表达式1: 语句1 case 常量表达式2: 语句2 …

case 常量表达式n: 语句n default: 语句n+1}

使用switch 语句时应注意7点..:① switch 是C 语言的关键字...,switch 后面用花括号括起来的部分称为switch语句体;②紧跟在switch

后一对圆括号中的表达式可以是整型表达式 和字符型表达式等。表达式两边的一对括号不省略是关键字.能...;③ case也...,与其后面的常量表达式合称case语句标号。常量表达式的类 型必须与switch 后圆括号中的表达式类型相同,各case 语句标号值应该互不相同;④ default 也是关键字...,起标号的作用,代表所有 case 关键词后面标号以外的所有标号。default 标号可以出现在语句体中任何标识位置上。在 switch 语句体中也可以没有default 标号;⑤ case 语句后的语句1、语句2 等,可以是一条语句,也可以是若干语句;⑥ 必要时,case 语句后的语句可以省略不写;⑦在关键字case和常量表达式之间一定要有空格。 2.switch 语句的执行过程

switch 语句执行过程为:①首先计算紧跟其后一对括号中的表达式的值;②然后在switch 语句体内寻找与该值吻合的case 标号;③如果有与该值相等的标号,则执行该标号后面的语 句,包括在其后的所有.....case 和default 中的语句,直到switch语句体结束;④如果没有与该值相 等的标号,并且存在default 标号,则从default 标号后的语句开始执行,直到switch 语句结束; ⑤如果没有与该值相等的标号,同时又没有 default标号,则跳过switch 语句体,去执行switch 语句之后的语句。

3.在switch 语句体中使用break 语句

break 为C 语言关键字,break 语句又称间断语句。break 语句可以放在case 标号之后的任何位置,一般情况是在case 之后的语句最后加上break 语句。程序执行时,每当执行到break 语句,就会立即跳出switch 语句体。switch 语句通常总是与break 语句联合使用,使得switch 语句真正起到分支的作用。

第4 章循环结构

考点1 while 循环结构

由while 语句构成的循环称为“当循环”。 (1)循环结构的形式 【格式】while(表达式)

循环体

使用while 时应注意4个方面....:①while 是 C 语言的关键字;②while 后一对圆括号中的表 达式可以是C 语言中任意合法的表达式,但不能为空,由它来控制循环体是否执行。当表达

- 20 -

选择题考点秘籍—二级C 语言

式的值为零时,表示条件为假;表达式为非零时,(2) for循环的执行过程 表示条件为真;③循环体只能是一条执行语句,① 计算表达式1。② 计算表达式2。若其若循环体内有多个语句,应该使用复合语句;④值为非0,转步骤③;若其值为0,转步骤 如果第一次计算时表达式的值就为0,则循环语⑤。③ 执行一次for 循环体。④ 计算表达式3, 句一次也不被执行,流程直接跳过 转向步骤②。⑤ 结束循环。 while 语句,执行下一条语句。 考点4 嵌套循环语句 (2)while 循环的执行过程 1.循环嵌套 ①计算while 后圆括号中表达式的值。当值在一个循环体内又完整包含了另一个循环,为非0 时,执行步骤②;当值为0 时,执行步骤称为循环嵌套。循环的嵌套可以多层,但每一层④;②执行循环体一次;③转去执行步骤①;循环在逻辑上必须是完整的。 ④退出while 循环。 2.continue 语句 考点2 do-while 循环结构 continue 语句的作用是结束本次循环,即

跳过本次循环体中continue 语句后面的语句,(1) do…while循环结构的形式

立刻进行下一次的循环条件判断,所以可以理【格式】do

解为仅结束本次循环。 循环体 ..3.break 语句 while(表达式);

用break 语句可以使程序流程跳出switch 语…dowhile 语句先执行语句,后判断表达式

句体,也可用break 语句在循环结构中终止的值。故do…while 语句又称“直到型”循环结

本层循环体,从而提前结束本层循环。 ..构。由于是先执行后判断,因此do…while 语句的

第5 章函数

循环语句至少被执行一次。使用do…while 循 .......考点1 库函数 环结构时应注意4个方面....:① do 是C 语言的关键1.库函数的概念 字,必须和while 联合使用;② do…while 循

(1)include 命令行

环由do 开始,至while 结束;③ while 后一对圆调用C 语言标准库函数时要求包含 括号中的表达式,可以是C 语言中任意合法的表

include 命令行,对一类库函数,用户在源程

达式,该表达式决定是否继续循环;④ 在do 和

序include 命令行中应该包含头文件名。

while 之间的循环体只能是一条可执行语句;如果include 命令行必须以“#”号开头,系统循环体内需要多个语句,应该使用复合语句。 提供的头文件以.h 作为文件的后缀,文件名用 (2) do…while循环体的执行过程 一对双引号(\)或一对尖括号<>括起来。 ①执行do 后面循环体中的语句;②计算 (2)标准库函数的调用 while后一对圆括号中表达式的值。当值为非0 【格式】函数名(参数表) 时,转去执行步骤①;当值为0 时,执行步骤③; 在C语言中,调用库函数可用以下③退出do…while 循环。 两种形...式.:出现在表达式中;作为独立的语句

完成某种操作。 考点3 for 循环结构

for 语句构成的循环结构通常称为for 循环。 2.函数定义的语法 (1) for循环结构的形式 【格式】函数返回值的类型名函数名(类型名for(表达式1;表达式2;表达式3)循环体 形式参数1,类型名形式参数2,?) “表达式1”一般为赋值表达式,“表达式2”{ 说明部分 一般为关系表达式或逻辑表达式,用于执行循语句部分} 环的条件判断,“表达式3”一般为赋值表达式或①函数名和形式参数都是由用户命名的标识自增、自减表达式,用于修改循环变量 符,在同一程序中,函数名必须惟一,形式参数的值。使用for 时应注意两个方面:① for 语句名只要在同一函数中惟一即可,与其他函数中的变....

中的表达式可以部分或全部省略,但两个“;” 量可以同名。②不能在函数的内部再定义函数。 不可省略;② for 后一对圆括号中的表达式可③若在函数的首部省略了函数返回值的类型名, 以是任意有效的C 语言表达式。

- 21 -

第二部分二级C 语言程序设计

可把函数首部写成:函数名(类型名形式参数1, 类型名形式参数2,?)。则默认函数返回值的类型为int 类型。④除了返回值类型为int 类型的函数外,函数必须先定义(或说明)后调用。⑤若函数只是用于完成某些操作,没有函数值返回,则必须把函数定义成void 类型。 3.函数的返回值

【格式】return 表达式;

或return(表达式);

①return 语句中的表达式的值就是所求的函数值,此表达式值的类型必须与函数首部所说明的类型一致。若类型不一致,则以函数值的类型为准,由系统自动进行转换;②return 语句中也可以含有表达式,但此时必须将函数定义为void 类型。这时return 语句的作用只是使流程返回到调用函数,并没有确定的函数值;③函数内可以没有return 语句,但此时也必须定义函数为void 类型,程序的流程就一直执行到函数末尾“}”,然后返回调用函数,也没有确定的函数值带回。 考点2 函数的调用

1.函数的两种调用形式

【格式】函数名(实际参数表)

① 实际参数的个数多于一个时,各实参之间用逗号隔开。实参的个数必须与所调用函数中的形参个数相同,类型一一对应匹配。若函数无形参,调用形式为:函数名();②函数名后的一对圆括号不可少;③ 一般情况下,调用 函数可用两种方式....:调用的函数用于求值,即返回值是数值时,调用的函数可作为表达式出 现在允许表达式出现的任何地方;函数可仅进行某些操作而不返回函数值,这时调用的函数可作为一条独立的语句。 2.调用函数时的语法要求

函数调用时有4个语法要求:① 调用函数....

时,函数名必须与所调用的函数名字完全一致;② 实际参数的个数、类型必须与形式参数的个数、类型一致。如果类型不匹配,C 编译程序按赋值兼容的规则进行转换;③ 函数必须先定义,后调用(函数的返回值类型为int 或char 时除外);④函数可以直接或间接地自己调用自己,称为递归调用。 3.函数的说明

(1)函数说明的形式

在C 语言中,除了主函数外,用户定义的函数都要遵循“先定义,后使用”的使用规则。凡是未在调用前定义的函数,C 编译程序都默认函数的返回值为int 类型。

对于返回值为其他类型的函数,若把函数的定义放在调用之后,应该在调用之前对函数进行说明。

【格式1】类型名函数名(参数类型1,参数类型2,?)

【格式2】类型名函数名(参数类型1, 参数名1,参数类型2 参数名2,?)

(2)函数说明的位置

当在所有函数的外部、被调用之前说明函数时,在对函数进行说明的语句后面所有位置上都可以对该函数进行调用。

函数说明也可以放在调用函数内的说明部分,如在main 函数内部进行说明,则只能在main 函数内部才能识别该函数。

4.调用函数和被调用函数之间的数据传递

C 语言中,调用函数和被调用函数之间的 数据可以通过3种方式进行传递:实际参数和....

形式参数之间进行数据传递;通过return 语句 把函数值返回调用函数;通过全局变量。通常不提倡使用这种方式。在C 语言中,数据只能从实参单向传递给形参,称为“按值传递”。 ....

也就是说,当简单变量作为实参时,用户不可 能在函数中改变对应实参的值。 考点3 参数传递

1.传给main 函数的参数

main 函数通常可用两个参数。

其中,argc 和agrv 是两个参数名。①参数 argc 必须是整型;②参数argv 是一个指向字符型的指针数组的指针,这个字符型指针数组的每个指针都指向一个字符串。因此参数argv 还可以直接定义成基类型为字符型的指针数组。 2.通过实参向函数传递函数名指向指针的变量 (1)指向函数指针变量的定义

在C 语言中函数名代表该函数的入口地址,因此可以定义一种指向函数的指针来存放这种地址。

【格式】数据类型(*标识符)(参数1,参数2,?)

(2)函数名或指向函数的指针变量作为实参 函数名或指向函数的指针变量可以作为

- 22 -

选择题考点秘籍—二级C 语言

实参传递给函数。这时,对应的形参应当是类型相同的指针变量。 考点4 函数的递归调用

C 语言中的函数可以递归调用(即可以直接或间接地自己调用自己,前者称为简单递归,后者称为间接递归)。一个问题要采用递归方法来解决时,必须符合3个条件....:① 可以把 要解决的问题转化为一个新的问题,而这个新 的问题的解决仍与原来的解法相同,只是所处理的对象有规律地递增或递减;② 可以应用这个转化过程使问题得到解决;③ 必定要有一个明确的结束递归的条件。在调用函数f 的过程中,又要调用f 函数,这是直接调用本函数。考点5 局部、全局变量和存储分类

1.局部变量及其作用域和生存期 (1)局部变量

【定义】局部变量是在函数内部或复合语句内部定义的变量。

【作用域】局部变量只能在定义它的函数 (或复合语句)中使用,离开了定义,它的函数(或复合语句)就不能使用。

局部变量有4种存储类型......:自动型;寄存器型;静态型;外部参照型。 (2)局部变量的生存期

① 自动(auto)型局部变量是分配在内存的堆栈段,内存的堆栈在程序中的运行过程中是重复使用的。② 寄存器局部变量也是自动类局部变量。它与auto 变量的区别在于,寄存器型变量是分配在CPU 通用寄存器中的,而不是像一般变量那样占用内存单元。③ 静态局部型变量是分配在内存的数据段中的它们在程序开始运行时就分配了固定的存储单元,在程序运行过程中不释放,直到程序运行结束才释放它所占的存储空间。

2.全局变量及其作用域和生存期 (1)全局变量的定义

【定义】全局变量在函数外部定义的变量,全局变量也称为外部变量。

【作用域】全局变量是在函数外部任意位置上定义的变量,它的作用域是从变量定义位 ...

置开始,到整个源文件结束为止。 (2)全局变量的生存期

全局变量的生存期是整个程序的运行期间。

(3)静态全局变量

静态全局变量是用static 说明符说明的全局变量,静态全局变量只限于本编译单位使用,不能被其他编译单位所引用。 3.外部函数与静态函数

在C 语言中可以用extern 和static 关键字来说明函数。

(1)外部函数

外部函数是用extern 说明符说明函数返回值的函数,extern 说明可以省略,一般的函数都隐含说明为extern。 (2)静态函数

静态函数是用static 说明符说明函数返回值的函数。

第6 章地址与指针

考点1 变量的地址和指针 1.地址和指针的定义 (1)内存地址

计算机的内存是以字节为单位的一片连续的存储空间,每一个字节都有一个编号,这个编号就称为内存地址。一般情况下,在程序中只需指出变量名,无须知道每个变量在内存中的具体地址,每个变量与具体地址的联系由C 编译系统来完成。程序中对变量进行存取操作,实际上也就是对某个地址的存储单元进行操作。这种直接按变量的地址存取变量值的方式称为直接存取方式。

(2)指针变量

在C 语言中,可以定义一种特殊的变量,这种变量只是用来存放内存地址的,这种用来存放地址的变量称为指针变量。如将变量a 的内存地址保存在变量x 中,这时访问变量a,可以先找到存放地址的x,从中读出a 的地址再去访问a。

2.指针变量的定义和指针变量基类型 (1)指针变量的定义

【格式】类型名*指针变量名1,*指针变量名2,?;

(2)指针变量的基本类型

一个指针变量中存放的是一个存储单元的地址值。这里“一个存储单元”中的“一” 所代表的字节数是不同的:short int 类型整数,它代表2 个字节;float 类型,它代表4 个字节。

对于基型不同的指针变量,其内容(地址

- 23 -

2017全国计算机等级考试二级C语言知识点超全整(打印版)

选择题考点秘籍—二级C语言(3)“右移”运算右移(>>)运算符的使用方法与左移运算符相同,只是移位方向相反。右移时,右端(低位)移出的二进制数舍弃,左端(高位)移入的二进制数分两种情况:对于无符号整数和正整数,高位补0;对于负整数,高位补1。(4)“按位与”运算按位与(&)运算符的作用是:把参加运算的两个运算数
推荐度:
点击下载文档文档为doc格式
007li8jfd485bn78arf2570pk9t7uz00b4a
领取福利

微信扫码领取福利

微信扫码分享