《国家二级C语言考点复习.ppt》由会员分享,可在线阅读,更多相关《国家二级C语言考点复习.ppt(78页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、全国计算机二级全国计算机二级C语言程序设计语言程序设计考点复习考点复习 全国计算机二级考试全国计算机二级考试 考试方式考试方式2013年3月开始实行全无纸化考试,题型及分值分布如下:一、选择题(40分,每小题1分)公共基础知识(10分)C语言程序设计(30分)二、程序填空题。(18分,3处填空)三、程序修改题。(18分,23处改错)四、程序设计题。(24分,一个自定义函数体)第1章C语言程序设计基本概念一、一、C语言程序的结构语言程序的结构1.程序的构成,程序的构成,main函数和其他函数。函数和其他函数。2.头文件,数据说明,函数的开始和结束标志以及程序中的注释。头文件,数据说明,函数的开始
2、和结束标志以及程序中的注释。3.源程序的书写格式。源程序的书写格式。4.C语言的风格。语言的风格。大纲要求重点:大纲要求重点:考点考点1C语言程序语言程序考点点拨考点点拨:重点记忆程序的构成和书写重点记忆程序的构成和书写 程序是可以连续执行的指令的集合。目前当用的程序程序语言主要程序是可以连续执行的指令的集合。目前当用的程序程序语言主要是是“高级语言高级语言”,如,如Visual Basic、C+、Java和和C。其中。其中C语言具有语言具有高级语言和低级语高级语言和低级语言的双重优点。言的双重优点。C语言程序由函数构成。一个语言程序由函数构成。一个C语言源程序有且仅有一个语言源程序有且仅有一
3、个main函数和函数和零个或多个其他函数。无论零个或多个其他函数。无论main函数的位置如何,它是程序执行的入口和函数的位置如何,它是程序执行的入口和出口中。出口中。C语言程序书写自由,一行内可以写一条或多条语句,一条语句也可语言程序书写自由,一行内可以写一条或多条语句,一条语句也可以写在多行。以写在多行。C语言的注释有两种形式,分别为行尾注释语言的注释有两种形式,分别为行尾注释“/”和块和块式注释式注释“/*/”。注释只是给人看,对编译和运行不起作用。注释只是给人看,对编译和运行不起作用。真题举例:真题举例:(11)以下叙述正确的是()(2010.3)A)C语言程序是由过程和函数组成的B)C
4、语言函数可以嵌套调用,例如:fun(fun(x)C)C语言函数不可以单独编译D)C语言中除了main函数,其他函数不可以作为单独文件形式存在B考点点拨考点点拨:C程序的编译连接和后缀程序的编译连接和后缀 C源程序文件源程序文件(后缀为后缀为.c)必须翻译为二进制必须翻译为二进制目标文件目标文件(后缀为后缀为.obj),此过程称为此过程称为“编译编译”,负责此工作的程序称为,负责此工作的程序称为“编译器编译器”或或“编译程序编译程序”;然后由连接程序把该二进制文件与;然后由连接程序把该二进制文件与C语言的各种库函数连接起来,生成语言的各种库函数连接起来,生成可执行文件可执行文件(后缀为后缀为.e
5、xe),此过程称为,此过程称为“连接连接”;最后执行该可执行文件,;最后执行该可执行文件,实现程序功能。实现程序功能。考点考点2C语言程序编译连接过程语言程序编译连接过程真题举例:真题举例:(13)以下叙述中错误的是()(2010.9)A)C程序在运行过程中所有计算都以二进制方式进行B)C程序在运行过程中所有计算都以十进制方式进行C)所有C程序都需要编译链接无误后才能运行D)C程序中整型变量只能存放整数,实型变量只能存放浮点数B考点点拨考点点拨:算法的五个特性算法的五个特性 算法是为解决某个特定问题而采取的确定且有限的步骤。算法的五个算法是为解决某个特定问题而采取的确定且有限的步骤。算法的五个
6、特性是:特性是:有穷性、确定性、有效性、零个或多个输入、一个或多个输出有穷性、确定性、有效性、零个或多个输入、一个或多个输出。算法的表示方法有算法的表示方法有自然语言自然语言、流程图流程图、伪代码伪代码和和程序设计语言程序设计语言。考点考点3算法的特性算法的特性真题举例:真题举例:13、以下关于算法叙述错误的是()。(2012.3)A算法可以用伪代码、流程图等多种形式来描述B一个正确的算法必须有输入C一个正确的算法必须有输出D用流程图可以描述的算法可以用任何一种计算机高级语言编写成程序代码B考点点拨考点点拨:记住程序设计的任务记住程序设计的任务 程序设计指设计、编程、调试程序的方法和过程。程序
7、设计通常分为程序设计指设计、编程、调试程序的方法和过程。程序设计通常分为问题建模问题建模、算法设计算法设计、编写代码编写代码和和编译调试编译调试四个阶段。四个阶段。考点考点4程序设计的任务程序设计的任务真题举例:真题举例:11、针对简单程序设计,以下叙述的实施步骤正确的是()。(2012.3)A确定算法和数据结构、编码、调试、整理文档B编码、确定算法和数据结构、调试、整理文档C整理文档、确定算法和数据结构、编码、调试D确定算法和数据结构、调试、编码、整理文档A考点点拨考点点拨:记忆结构化程序的三种结构组成记忆结构化程序的三种结构组成 结构化程序设计通常采用自顶向下、逐步细化、模块化设计、结构化
8、结构化程序设计通常采用自顶向下、逐步细化、模块化设计、结构化编码的方法。结构化程序由三种基本结构组成:顺序结构、选择结构、循编码的方法。结构化程序由三种基本结构组成:顺序结构、选择结构、循环结构。环结构。考点考点5结构化程序和模块结构结构化程序和模块结构真题举例:真题举例:(11)以下关于结构化程序设计的叙述中正确的是()。(2010.9)A)一个结构化程序必须同时由顺序、分支、循环三种结构组成B)结构化程序使用goto语句会很便捷C)在C语言中,程序的模块化是利用函数实现的D)由三种基本结构构成的程序只能解决小规模的问题C第2章数据类型、运算符和表达式二、数据类型及其运算二、数据类型及其运算
9、 1.C的数据类型的数据类型(基本类型,构造类型,指针类型,无值类型基本类型,构造类型,指针类型,无值类型)及其定义方法。及其定义方法。2.C运算符的种类、运算优先级和结合性。运算符的种类、运算优先级和结合性。3.不同类型数据间的转换与运算。不同类型数据间的转换与运算。4.C表达式类型表达式类型(赋值表达式,算术表达式,关系表达式,逻辑表达式,条件表达式,赋值表达式,算术表达式,关系表达式,逻辑表达式,条件表达式,逗号表达式逗号表达式)和求值规则。和求值规则。大纲要求重点:大纲要求重点:考点点拨考点点拨:标识符的命名规则标识符的命名规则 标识符的命名规则有:标识符的命名规则有:(1)由字母、数
10、字、下划线三类字符组成由字母、数字、下划线三类字符组成;(2)必必须以字母或下划线打头须以字母或下划线打头;(3)区分大小写区分大小写;(4)不能和关键字相同不能和关键字相同;(5)尽量见尽量见名知义名知义考点考点1标识符及命名规则标识符及命名规则真题举例:真题举例:(13)以下C语言用户标示符中,不合法的是()(2010.3)A)_1B)AaBcC)a_bD)abD考点点拨考点点拨:记十进制、八进制、十六进制整型常量的表示记十进制、八进制、十六进制整型常量的表示 C语言中整型常量的表示方法有:语言中整型常量的表示方法有:十进制十进制(以非零数字打头以非零数字打头)、八进制、八进制(以以数字数
11、字0打头后跟八进制数符打头后跟八进制数符)、十六进制、十六进制(以以0X或或0 x打头后跟十六进制数符打头后跟十六进制数符)。C语言中整型数据有三大类:语言中整型数据有三大类:短整型短整型(short,2B)、基本整型、基本整型(int,4B)、长整型长整型(long,4B),此为有符号类型,可表示正、负数;在三个关键字前加此为有符号类型,可表示正、负数;在三个关键字前加上上unsigned 则为无符号类型,所占字节数不变,但只能表示正数。则为无符号类型,所占字节数不变,但只能表示正数。整型数据在内存中以整型数据在内存中以二进制补码二进制补码存放,若超出其表示范围,会产生溢出。存放,若超出其表
12、示范围,会产生溢出。考点考点2整型常量、变量的表示及取值范围整型常量、变量的表示及取值范围考点点拨考点点拨:记实型常量的表示记实型常量的表示 实型常量的表示方法有两种:实型常量的表示方法有两种:小数形式和指数形式小数形式和指数形式。实型数据主要使用两种类型:实型数据主要使用两种类型:单精度单精度(float,4B)、双精度、双精度(double,8B ),注意不同类型的有效数字位数区别。,注意不同类型的有效数字位数区别。实型数据在内存中以实型数据在内存中以指数形式指数形式存放,实型常量存放,实型常量默认为默认为double型,可以型,可以在常量后加在常量后加f或或F将其按将其按float型处理
13、。型处理。考点考点3实型常量、变量的表示及取值范围实型常量、变量的表示及取值范围考点点拨考点点拨:记字符常量及转义字符常量的定义记字符常量及转义字符常量的定义 普通字符常量是用一对单引号括起来的一个字符表示的常量。字符常普通字符常量是用一对单引号括起来的一个字符表示的常量。字符常量的值是该字符的量的值是该字符的ASCII码值,如码值,如A的值是的值是65,0字符的值是字符的值是48等,等,在内存中占在内存中占1B空间。空间。转义字符常量指在单引号内由反斜线打头,后跟特定字符表示的常量。转义字符常量指在单引号内由反斜线打头,后跟特定字符表示的常量。需要记的转义字符有三类:需要记的转义字符有三类:
14、(1)控制字符:控制字符:n、r、b、t (2)特殊字符:特殊字符:、”(3)转义进制:转义进制:bbb(13位八进制数符位八进制数符)、xhh(12位十六进位十六进制数符制数符)字符串常量是用一对双引号括起来的零个或多个字符序列,其中包含字符串常量是用一对双引号括起来的零个或多个字符序列,其中包含的字符可以是普通字符或转义字符,系统自动在字符串末尾增加一个不可的字符可以是普通字符或转义字符,系统自动在字符串末尾增加一个不可显示字符显示字符0(空字符空字符)作为字符串结束标记,字符串所占的内存空间为作为字符串结束标记,字符串所占的内存空间为所含字符数所含字符数+1。考点考点4字符型常量、变量及
15、转义字符常量字符型常量、变量及转义字符常量真题举例:真题举例:(15)以下选项中能表示合法常量的是()(2010.9)A)整数:1,200B)实数:1.5E2.0C)字符斜杠:D)字符串:“007”(13)以下选项中不能用作C程序合法常量的是()(2011.3)A)1,234B)123C)123D)x7G(14)以下选项中可用作C程序合法实数的是A()(2011.3)A).1e0B)3.0e0.2C)E9D)9.12EDAA考点点拨考点点拨:记字符数据的运算方法记字符数据的运算方法 C语言规定,将所有的字符型数据都作为整型来处理。因此,字符常量语言规定,将所有的字符型数据都作为整型来处理。因此
16、,字符常量和转义字符常量可以参与任何整数运算。如和转义字符常量可以参与任何整数运算。如A+32得得a,5-0得得5。常考英文字母大、小写之间的转换,数字字符与整数值之间的相互转。常考英文字母大、小写之间的转换,数字字符与整数值之间的相互转换。字符数据还可以进行关系运算和逻辑运算。换。字符数据还可以进行关系运算和逻辑运算。考点考点5字符数据的运算字符数据的运算真题举例:真题举例:(21)以下不能输出字符A的语句是(注:字符A的ASCIl码值为65,字符a的ASCIl码值为97)()(2011.9)A)printf(cn,a-32);B)printf(dn,A);C)printf(“cn”,65)
17、;D)print-f(cn,B-1);B考点点拨考点点拨:记字符变量的定义及赋值记字符变量的定义及赋值 C语言中用关键字语言中用关键字char定义字符型变量,在内存中分配定义字符型变量,在内存中分配1B空间,用来存空间,用来存放字符常量的放字符常量的ASCII码值。该值可以作为整型数据来参与运算。码值。该值可以作为整型数据来参与运算。考点考点6字符型变量字符型变量真题举例:真题举例:(22)有以下定义语句,编译时会出现编译错误的是()。(2009.9)A)chara=a;B)chara=n;C)chara=aa;D)chara=x2d;C考点点拨考点点拨:运算符的分类、常用运算符的优先级和结合
18、性运算符的分类、常用运算符的优先级和结合性 运算符按功能分有运算符按功能分有13类,按所需操作数目分可分为:单目运算符类,按所需操作数目分可分为:单目运算符(右结合,右结合,优先级优先级2)、双目运算符、双目运算符(除赋值为右结合外,其余为左结合除赋值为右结合外,其余为左结合)、三目运算符、三目运算符(条件运算符,右结合条件运算符,右结合)。各运算符的优先级和结合性见教材。各运算符的优先级和结合性见教材。考点考点7运算符的种类、优先级和结合性运算符的种类、优先级和结合性考点点拨考点点拨:系统自动转换成同一类型的方向和结果的类型系统自动转换成同一类型的方向和结果的类型 不同数据类型混合运算时系统
19、自动转换的规则见下图,其中水平箭头为不同数据类型混合运算时系统自动转换的规则见下图,其中水平箭头为必然转换,垂直箭头为从低向高方向转换。运算结果类型为转换后的类型。必然转换,垂直箭头为从低向高方向转换。运算结果类型为转换后的类型。考点考点8不同类型数据间的混合运算不同类型数据间的混合运算doubledoublefloatfloatunsigned longunsigned longlonglongintintchar,shortchar,short高高低低真题举例:真题举例:(14)若有定义语句:inta=10;doubleb=3.14;,则表达式A+a+b值的类型是()。(2011.9)A)
20、charB)intC)doubleD)floatC考点点拨考点点拨:重点记算术运算符各自的运算特点重点记算术运算符各自的运算特点 基本算术运算符基本算术运算符+、-、*、/、%均为双目运算符。其中均为双目运算符。其中%(求余数求余数)运算符运算符要求两侧的操作数必须为整型;要求两侧的操作数必须为整型;/(除除)运算符两侧若均为整数,则结果为除运算符两侧若均为整数,则结果为除以后的整数部分,否则为实型。以后的整数部分,否则为实型。考点考点9算术运算符与表达式算术运算符与表达式真题举例:真题举例:(14)有以下定义:inta;longb;doublex,y;则以下选项中正确的表达式是()。(201
21、0.9)A)a%(int)(x-y)B)a=x!=y;C)(a*y)%bD)y=x+y=xA考点点拨考点点拨:重点记赋值表达式及复合赋值表达式的特点重点记赋值表达式及复合赋值表达式的特点 赋值表达式左侧必须是简单变量,不能是常量或表达式赋值表达式左侧必须是简单变量,不能是常量或表达式(包括赋值表达式包括赋值表达式),右边可以是常量、变量或表达式,右边可以是常量、变量或表达式(包括赋值表达式包括赋值表达式)。赋值运算符及复合。赋值运算符及复合赋值运算符右结合,优先级倒数第二级。当赋值表达式右边表达式值的类型赋值运算符右结合,优先级倒数第二级。当赋值表达式右边表达式值的类型与左边变量的类型不一致时
22、,系统会自动将该值转换成左边变量的类型后再与左边变量的类型不一致时,系统会自动将该值转换成左边变量的类型后再赋值。转换规则则教材赋值。转换规则则教材P62。考点考点10赋值运算符与表达式赋值运算符与表达式真题举例:真题举例:(16)表达式a+=a-=a=9的值是()(2010.9)A)9B)_9C)18D)0(15)若有定义语句:inta=3,b=2,c=1;,以下选项中错误的赋值表达式是()(2011.3)A)a=(b=4)=3;B)a=b=c+1;C)a=(b=4)+c;D)a=1+(b=c=4);(15)若有定义语句:intx=12,y=8,z;,在其后执行语句z=0.9+x/y;,则z
23、的值为()。(2011.9)A)1.9B)1C)2D)2.4DAB考点点拨考点点拨:理解前置运算和后置运算的不同意义理解前置运算和后置运算的不同意义 自增自增(+)、自减、自减(-)均为单目运算符,右结合,操作数可以是整型变量均为单目运算符,右结合,操作数可以是整型变量或实型变量,但不能是常量或表达式。前置运算或实型变量,但不能是常量或表达式。前置运算(如如+i、-i)是先增减后运是先增减后运算,后置运算算,后置运算(如如i+、i-)是先运算后增减。是先运算后增减。考点考点11自增、自减运算及表达式自增、自减运算及表达式真题举例:真题举例:(18)有以下程序main()intx=011;pri
24、ntf(%dn,+x);程序运行后的输出结果是()(2011.3)A)12B)11C)10D)9C考点点拨考点点拨:记逗号运算符的优先级、结合性及求值规则记逗号运算符的优先级、结合性及求值规则 逗号表达式是用逗号运算符逗号表达式是用逗号运算符(,)将两个或两个以上的表达式顺序连接起将两个或两个以上的表达式顺序连接起来的表达式,左结合,逗号运算符优先级最低。从左到右顺序求解各表达式,来的表达式,左结合,逗号运算符优先级最低。从左到右顺序求解各表达式,也称为顺序求值表达式,结果为最右边表达式的值。注意区分逗号分隔符和也称为顺序求值表达式,结果为最右边表达式的值。注意区分逗号分隔符和逗号运算符。逗号
25、运算符。考点考点12逗号运算及表达式逗号运算及表达式真题举例:真题举例:(6)执行以下程序后的输出结果是。(2007.4)main()inta=10;a=(3*5,a+4);printf(“a=%dn”,a);a=14考点点拨考点点拨:理解强制类型转换、自动类型转换理解强制类型转换、自动类型转换 (1)强制类型转换。格式为:强制类型转换。格式为:(类型类型)(表达式表达式),将表达式值的类型强制转,将表达式值的类型强制转换成指定的类型,对表达式中原有变量的类型无影响。换成指定的类型,对表达式中原有变量的类型无影响。(2)自动类型转换。自动类型转换。a.赋值运算中的自动转换。赋值运算中的自动转换
26、。b.混合运算中的自动转换。混合运算中的自动转换。考点考点13类型转换类型转换真题举例:真题举例:(14)表达式:(int)(double)9/2)-(9)%2的值是()。(2009.9)A)0B)3C)4D)5B考点点拨考点点拨:掌握关系运算符及表达式的求值掌握关系运算符及表达式的求值 关系运算符有:关系运算符有:=k2)&(k2=k2k1)后,k1和k2的值分别为()。(2011.9)A)0和1B)0和20C)10和1D)10和20AB考点点拨考点点拨:理解条件表达式的求值方法理解条件表达式的求值方法 条件运算符条件运算符(?:)是是C语言里唯一的三目运算符,优先级倒数第三,右语言里唯一的
27、三目运算符,优先级倒数第三,右结合。其一般形式是:结合。其一般形式是:表达式表达式1?表达式表达式2:表达式表达式3。先求解表达式。先求解表达式1,取,取其逻辑值,若为真,求解表达其逻辑值,若为真,求解表达2作为整个表达式的值;若为假,求解表达式作为整个表达式的值;若为假,求解表达式3的值作为整个表达式的值。各表达式可以为任意类型的合法表达式。的值作为整个表达式的值。各表达式可以为任意类型的合法表达式。考点考点16条件运算符及表达式条件运算符及表达式真题举例:真题举例:19、有如下嵌套的if语句if(ab)if(ac)k=a;elsek=c;elseif(bc)k=b;elsek=c;以下选项
28、中与上述if语句等价的语句是()。(2010.3)A、k=(ab)?a:b;k=(bc)?b:c;B、k=(ab)?(bc)?a:b):(bc)?b:c);C、k=(ab)?(ac)?a:c):(bc)?b:c);D、k=(ab)?a:b;k=(ac)?a;cC考点点拨考点点拨:理解位运算符及其求值规则和优先级顺序理解位运算符及其求值规则和优先级顺序 位运算符有:位运算符有:(同优先级同优先级)&|(按优先级从高到低排列按优先级从高到低排列)。位运算的操作数必须是整型或字符型,计算时先将操作数转换成二进制,位运算的操作数必须是整型或字符型,计算时先将操作数转换成二进制,然后再低位对齐按运算规则
29、进行计算。然后再低位对齐按运算规则进行计算。考点考点17位运算符及表达式位运算符及表达式真题举例:真题举例:(39)有以下程序#includemain()inta=2,b=2,c=2;printf(”%dn”,a|b&c);程序运行后的结果是()。(2010.3)A)0B)1C)2D)3C第3章顺序结构三、基本语句三、基本语句1.表达式语句,空语句,复合语句。表达式语句,空语句,复合语句。2.输入输出函数的调用,正确输入数据并正确设计输出格式。输入输出函数的调用,正确输入数据并正确设计输出格式。大纲要求重点:大纲要求重点:考点点拨考点点拨:理解理解C语句的概念及分类语句的概念及分类C语句是函数
30、体里的基本构成单位。语句的作用是向计算机系统发语句是函数体里的基本构成单位。语句的作用是向计算机系统发出操作指令,要求执行相应的操作。一个出操作指令,要求执行相应的操作。一个C语句经过编译后产生若干条机器语句经过编译后产生若干条机器指令。指令。C语句可以分成语句可以分成5大类:大类:(1)控制语句控制语句;(2)函数调用语句函数调用语句;(3)表达式表达式语句语句;(4)空语句空语句;(5)复合语句复合语句;考点考点1C语句的分类语句的分类考点点拨考点点拨:掌握字符数据的输入输出函数的用法掌握字符数据的输入输出函数的用法 putchar函数用于向显示器输出一个字符。一般格式是:函数用于向显示器
31、输出一个字符。一般格式是:putchar(c);其其中中c可以是字符型或整型常量、变量或表达式,结果是向显示器输出其值对可以是字符型或整型常量、变量或表达式,结果是向显示器输出其值对应的应的ASCII码字符。码字符。getchar函数用于从键盘输入缓冲区读取一个字符。一般格式是:函数用于从键盘输入缓冲区读取一个字符。一般格式是:getchar()。一般用法:。一般用法:ch=getchar();将从键盘输入的一个字符值赋给变量将从键盘输入的一个字符值赋给变量ch。从。从键盘输入的空格、回车等控制字符也作为有效字符读取。键盘输入的空格、回车等控制字符也作为有效字符读取。考点考点2putchar函
32、数和函数和getchar函数函数真题举例:真题举例:(10)下列程序运行时,若输入1abcedf2df输出结果为。#includemain()chara=0,ch;while(ch=getchar()!=n)if(a%2!=0&(ch=a&ch=z)ch=ch-a+A;a+;putchar(ch);printf(“n”);1AbCdEf2dF考点点拨考点点拨:掌握格式化输出、输入函数的用法及注意事项掌握格式化输出、输入函数的用法及注意事项 printf(“格式控制字符串格式控制字符串”,输出表列输出表列);scanf(“格式控制字符串格式控制字符串”,输入地址表列输入地址表列);l“格式控制字
33、符串格式控制字符串”中允许有两类字符:中允许有两类字符:u普通字符。在普通字符。在printf函数中会原样输出,在函数中会原样输出,在scanf函数中要求原样输入。函数中要求原样输入。u格式字符。由格式字符。由“%+格式字符格式字符”,用于指定输出、输入项的格式。,用于指定输出、输入项的格式。常用格常用格式字符有:式字符有:整数类型整数类型十进制有符号类型:十进制有符号类型:%d%md%-md%ld%mld%-mld十进制无符号类型:十进制无符号类型:%u八进制无符号类型:八进制无符号类型:%o十六进制无符号类型:十六进制无符号类型:%x%X实数类型实数类型小数格式:小数格式:%f%.nf%m
34、.nf%-m.nf指数格式:指数格式:%e%E简洁格式:简洁格式:%g%G (根据输出数据大小自动选择小数或指数格根据输出数据大小自动选择小数或指数格式,且不输出无意义的零式,且不输出无意义的零)字符类型字符类型字符格式:字符格式:%c%mc字符串格式:字符串格式:%s%.ns%m.ns 考点考点3printf函数和函数和scanf函数函数考点点拨考点点拨:掌握格式化输出、输入函数的用法及注意事项掌握格式化输出、输入函数的用法及注意事项lprintf函数中的函数中的“输出表列输出表列”可以没有。若有,可以是常量、变量或可以没有。若有,可以是常量、变量或表达式,将其值按对应的格式输出;若有多项,
35、以逗号分开。表达式,将其值按对应的格式输出;若有多项,以逗号分开。lscanf函数中的函数中的“地址表列地址表列”必须为变量的地址,多个地址之间以逗必须为变量的地址,多个地址之间以逗号分开。号分开。真题举例:真题举例:(15)程序段:intx=12;doubley=3.141593;printf(“%d%8.6f”,x,y);的输出结果是()。(2009.3)A)123.141593B)123.141593C)12,3.141593D)123.1415930(16)若有定义语句:doublex,y,*px,*py;执行了px=&x;py=&y;之后,正确的输入语句是()。(2009.3)A)s
36、canf(“%f%f”,x,y);B)scanf(“%f%f”,&x,&y);C)scanf(“%lf%le”,px,py);D)scanf(“%lf%lf”,x,y);CA考点考点3printf函数和函数和scanf函数函数第4章选择结构四、选择结构程序设计四、选择结构程序设计1.用用if语句实现选择结构。语句实现选择结构。2.用用switch语句实现多分支选择结构。语句实现多分支选择结构。3.选择结构的嵌套。选择结构的嵌套。大纲要求重点:大纲要求重点:考点点拨考点点拨:掌握三种掌握三种if语句的执行过程语句的执行过程 if语句的功能是判断所给的条件,选择执行其中一个操作。语句的功能是判断所
37、给的条件,选择执行其中一个操作。if语句的一般形语句的一般形式式 if(表达式表达式)语句语句1 else 语句语句2 常用三种形式是单分支、双分支和多分支。常用三种形式是单分支、双分支和多分支。l 表达式可以是任意类型的表达式,取其值的逻辑值表达式可以是任意类型的表达式,取其值的逻辑值(非零为真,零为假非零为真,零为假)l if或或else只能控制其后的一条语句,该语句可以是五大类语句中的任意只能控制其后的一条语句,该语句可以是五大类语句中的任意一种。一种。考点考点1if语句的三种形式及执行过程语句的三种形式及执行过程真题举例:真题举例:(18)有以下程序#includemain()inta
38、=1,b=0;if(!a)b+;elseif(a=0)if(a)b+=2;elseb+=3;printf(”%dn”,b);程序运行后的输出结果是()。(2010.9)A)0B)1C)2D)3(18)有以下程序#includemain()intx;scanf(“%d”,&x);if(x=3);elseif(x!=10)printf(“%dn”,x);程序运行时,输入的值在哪个范围才会有输出结果()。(2009.3)A)不等于10的整数B)大于3且不等10的整数C)大于3或等于10的整数D)小于3的整数CA考点点拨考点点拨:掌握嵌套掌握嵌套if语句的执行,及语句的执行,及else与与if的配对的
39、配对 嵌套嵌套if指一般格式中指一般格式中if或或else的控制语句又是的控制语句又是if语句。注意语句。注意if可以单独使用,可以单独使用,而而else必须和必须和if配对使用,且配对使用,且else总是和它上面的最近的未曾配对的总是和它上面的最近的未曾配对的if进行配进行配对,从而在配对的对,从而在配对的if后的条件为假时执行该后的条件为假时执行该else之后的语句。之后的语句。考点考点2嵌套的嵌套的if语句语句真题举例:真题举例:(27)有以下程序#includemain()intx=1,y=0;if(!x)y+;elseif(x=0)if(x)y+=2;elsey+=3;printf(
40、%dn,y);程序运行后的输出结果是()。(2011.3)A)3B)2C)1D)0D考点点拨考点点拨:switch语句的格式及其执行、跳转的过程语句的格式及其执行、跳转的过程 switch语句又称开关语句,一般用于实现多分支选择。语句又称开关语句,一般用于实现多分支选择。注意:注意:uswitch后的表达式值的类型一般为整型或字符型后的表达式值的类型一般为整型或字符型ucase子句后的常量必须为简单的整型或字符型常量子句后的常量必须为简单的整型或字符型常量u当执行完一个分支的执行语句后没有遇到当执行完一个分支的执行语句后没有遇到break,将继续执行下一分支的,将继续执行下一分支的执行语句执行
41、语句uswitch语句可以嵌套,语句可以嵌套,break在在switch中的作用是跳出所在的中的作用是跳出所在的switch语句语句考点考点3switch语句的形式及用法语句的形式及用法真题举例:真题举例:18、以下选项中与if(a=1)a=b;elsea+;语句功能不同的switch语句是:()(2010.3)A、switch(a)B、switch(a=1)case1:a=b;break;case0:a=b;break;default:a+;case1:a+;C、switch(a)D、switch(a=1)default:a+;break;case1:a=b;break;case1:a=b;
42、case0:a+;B第5章循环结构五、循环结构程序设计五、循环结构程序设计1.for循环结构。循环结构。2.while和和do-while循环结构。循环结构。3.continue语句和语句和break语句。语句。4.循环的嵌套。循环的嵌套。大纲要求重点:大纲要求重点:考点点拨考点点拨:理解理解while循环的执行过程及应用循环的执行过程及应用 while语句构成的循环称为语句构成的循环称为“当型当型”循环,其一般形式是:循环,其一般形式是:while(表达式表达式)语句语句 表达式可以是表达式可以是C语言中任意类型的合法表达式,取其值的逻辑值。语句也语言中任意类型的合法表达式,取其值的逻辑值。
43、语句也可以是五大类语句任意之一,但只能控制其后的一条语句。循环体有可能一可以是五大类语句任意之一,但只能控制其后的一条语句。循环体有可能一次也不执行。次也不执行。考点考点1while语句的形式及执行过程语句的形式及执行过程真题举例:真题举例:(20)有以下程序#includemain()inta=1,b=2;while(a6)b+=a;a+=2;b=10;printf(”d,dn”,a,b);程序运行后的输出结果是()。(2010.9)A)5,11B)7,1C)7,11D)6,1(26)有以下程序段#includemain()while(getchar()!=n);以下叙述中正确的是()。(2
44、011.3)A)此while语句将无限循环B)getchar()不可以出现在while语句的条件表达式中C)当执行此while语句时,只有按回车键程序才能继续执行D)当执行此while语句时,按任意键程序就能继续执行BC考点点拨考点点拨:理解理解dowhile循环的执行过程及应用循环的执行过程及应用 dowhile语句构成的循环称为语句构成的循环称为“直到型直到型”循环,其一般形式是:循环,其一般形式是:do 语句语句 while(表达式表达式);其特点是先执行循环体再判断循环条件,循环体至少执行一次。注意其特点是先执行循环体再判断循环条件,循环体至少执行一次。注意while之后的分号不能少。
45、之后的分号不能少。考点考点2dowhile语句的形式及执行过程语句的形式及执行过程真题举例:真题举例:(9)以下程序运行后的输出结果是【9】。#includemain()inta=1,b=7;dob=b/2;a+=b;while(b1);printf(%dn,a);5考点点拨考点点拨:理解理解for循环的执行过程及应用循环的执行过程及应用 for语句的一般形式是:语句的一般形式是:for(表达式表达式1;表达式表达式2;表达式表达式3)语句语句 for中的三个表达式可以是任意合法的中的三个表达式可以是任意合法的C语言表达式,表达式语言表达式,表达式1在进入循环在进入循环的进修执行一次,一般是给
46、循环变量赋初值;表达式的进修执行一次,一般是给循环变量赋初值;表达式2取其逻辑值作为循环条取其逻辑值作为循环条件;表达式件;表达式3在执行循环体后才执行,一般是使循环条件趋于假的运算。三个在执行循环体后才执行,一般是使循环条件趋于假的运算。三个表达式均可以省略,但分号不能省。表达式均可以省略,但分号不能省。考点考点3for语句的形式及执行过程语句的形式及执行过程真题举例:真题举例:(21)有以下程序#includesmain()inta=1,b=2;for(;a8;a+)b+=a;a+=2;printf(”%d,%dn”,a,b);程序运行后的输出结果是()。(2010.3)A)9,18B)8
47、,11C)7,11D)10,14D考点点拨考点点拨:理解循环嵌套的几种形式及执行过程理解循环嵌套的几种形式及执行过程 循环体内又完整地包含了另一个循环,称循环嵌套。前三种循环语句可以循环体内又完整地包含了另一个循环,称循环嵌套。前三种循环语句可以相互嵌套,可多层嵌套。嵌套循环在执行时外循环执行一次内循环要执行一相互嵌套,可多层嵌套。嵌套循环在执行时外循环执行一次内循环要执行一遍。书写上一般采用缩进形式,使程序层次分明,可读性强。遍。书写上一般采用缩进形式,使程序层次分明,可读性强。考点考点4循环嵌套的形式及执行过程循环嵌套的形式及执行过程真题举例:真题举例:(20)以下程序段中的变量已正确定义
48、for(i=0;i4;i+,i+)for(k=l;k3;k+);printf(“*”);程序段的输出结果是()。(2009.3)A)*B)*C)*D)*D考点点拨考点点拨:掌握掌握break和和continue语句在循环体中的应用语句在循环体中的应用 break语句的作用是退出所在的循环体,在循环体中使用可增加循环的出语句的作用是退出所在的循环体,在循环体中使用可增加循环的出口,使循环更灵活口,使循环更灵活。break只能用于只能用于switch或循环语句中。或循环语句中。continue语句的作用是结束本层本次的循环,转去执行下一次的循环处语句的作用是结束本层本次的循环,转去执行下一次的循环
49、处理。理。continue语句只能用于循环体中。语句只能用于循环体中。考点考点5break语句和语句和continue语句语句第6章数组六、数组的定义和引用六、数组的定义和引用1.一维数组和二维数组的定义、初始化和数组元素的引用。一维数组和二维数组的定义、初始化和数组元素的引用。2.字符串与字符数组。字符串与字符数组。大纲要求重点:大纲要求重点:考点点拨考点点拨:掌握一维数组的定义方式及初始化的定义形式掌握一维数组的定义方式及初始化的定义形式l一维数组的定义方式:一维数组的定义方式:数据类型数据类型 数组名数组名常量表达式常量表达式;常量表达式规定了数组元素的个数常量表达式规定了数组元素的个数
50、(或长度或长度),整个数组,整个数组所占字节数所占字节数=类型类型长度长度数组长度数组长度;常量表达式中可以包括整型常量和符号常量;在给全部元素;常量表达式中可以包括整型常量和符号常量;在给全部元素赋初值时可以省略定义时的数组长度说明。赋初值时可以省略定义时的数组长度说明。l一维数组初始化的一般形式:一维数组初始化的一般形式:数据类型数据类型 数组名数组名常量表达式常量表达式=值值0,值值1,值值2,;初值的个数不能超过数组的长度初值的个数不能超过数组的长度;可以只给部分元素赋初值,未赋初值元可以只给部分元素赋初值,未赋初值元素默认值为素默认值为0;考点考点1一维数组的定义和初始化一维数组的定