大学计算机二级考试复习资料.ppt_第1页
大学计算机二级考试复习资料.ppt_第2页
大学计算机二级考试复习资料.ppt_第3页
大学计算机二级考试复习资料.ppt_第4页
大学计算机二级考试复习资料.ppt_第5页
已阅读5页,还剩74页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

全国计算机二级C语言程序设计,考点复习,全国计算机二级考试考试方式,1.笔试:90分钟,满分100分,其中含公共基础知识部分的30分(选择10题20分,填空5题10分)。2.上机:90分钟,满分100分3.上机操作包括:(1)填空。(30分,3处填空)(2)改错。(30分,23处改错)(3)编程。(40分,一个自定义函数体),第1章C语言程序设计基本概念,一、C语言程序的结构1.程序的构成,main函数和其他函数。2.头文件,数据说明,函数的开始和结束标志以及程序中的注释。3.源程序的书写格式。4.C语言的风格。,大纲要求重点:,考点点拨:重点记忆程序的构成和书写程序是可以连续执行的指令的集合。目前当用的程序程序语言主要是“高级语言”,如VisualBasic、C+、Java和C。其中C语言具有高级语言和低级语言的双重优点。,C语言程序由函数构成。一个C语言源程序有且仅有一个main函数和零个或多个其他函数。无论main函数的位置如何,它是程序执行的入口和出口中。C语言程序书写自由,一行内可以写一条或多条语句,一条语句也可以写在多行。C语言的注释有两种形式,分别为行尾注释“/”和块式注释“/*/”。注释只是给人看,对编译和运行不起作用。,真题举例:(11)以下叙述正确的是()(2010.3)A)C语言程序是由过程和函数组成的B)C语言函数可以嵌套调用,例如:fun(fun(x)C)C语言函数不可以单独编译D)C语言中除了main函数,其他函数不可以作为单独文件形式存在,B,考点点拨:C程序的编译连接和后缀C源程序文件(后缀为.c)必须翻译为二进制目标文件(后缀为.obj),此过程称为“编译”,负责此工作的程序称为“编译器”或“编译程序”;然后由连接程序把该二进制文件与C语言的各种库函数连接起来,生成可执行文件(后缀为.exe),此过程称为“连接”;最后执行该可执行文件,实现程序功能。,真题举例:(13)以下叙述中错误的是()(2010.9)A)C程序在运行过程中所有计算都以二进制方式进行B)C程序在运行过程中所有计算都以十进制方式进行C)所有C程序都需要编译链接无误后才能运行D)C程序中整型变量只能存放整数,实型变量只能存放浮点数,B,考点点拨:算法的五个特性算法是为解决某个特定问题而采取的确定且有限的步骤。算法的五个特性是:有穷性、确定性、有效性、零个或多个输入、一个或多个输出。算法的表示方法有自然语言、流程图、伪代码和程序设计语言。,真题举例:13、以下关于算法叙述错误的是()。(2012.3)A算法可以用伪代码、流程图等多种形式来描述B一个正确的算法必须有输入C一个正确的算法必须有输出D用流程图可以描述的算法可以用任何一种计算机高级语言编写成程序代码,B,考点点拨:记住程序设计的任务程序设计指设计、编程、调试程序的方法和过程。程序设计通常分为问题建模、算法设计、编写代码和编译调试四个阶段。,真题举例:11、针对简单程序设计,以下叙述的实施步骤正确的是()。(2012.3)A确定算法和数据结构、编码、调试、整理文档B编码、确定算法和数据结构、调试、整理文档C整理文档、确定算法和数据结构、编码、调试D确定算法和数据结构、调试、编码、整理文档,A,考点点拨:记忆结构化程序的三种结构组成结构化程序设计通常采用自顶向下、逐步细化、模块化设计、结构化编码的方法。结构化程序由三种基本结构组成:顺序结构、选择结构、循环结构。,真题举例:(11)以下关于结构化程序设计的叙述中正确的是()。(2010.9)A)一个结构化程序必须同时由顺序、分支、循环三种结构组成B)结构化程序使用goto语句会很便捷C)在C语言中,程序的模块化是利用函数实现的D)由三种基本结构构成的程序只能解决小规模的问题,C,第2章数据类型、运算符和表达式,二、数据类型及其运算1.C的数据类型(基本类型,构造类型,指针类型,无值类型)及其定义方法。2.C运算符的种类、运算优先级和结合性。3.不同类型数据间的转换与运算。4.C表达式类型(赋值表达式,算术表达式,关系表达式,逻辑表达式,条件表达式,逗号表达式)和求值规则。,大纲要求重点:,考点点拨:标识符的命名规则标识符的命名规则有:(1)由字母、数字、下划线三类字符组成;(2)必须以字母或下划线打头;(3)区分大小写;(4)不能和关键字相同;(5)尽量见名知义,真题举例:(13)以下C语言用户标示符中,不合法的是()(2010.3)A)_1B)AaBcC)a_bD)ab,D,考点点拨:记十进制、八进制、十六进制整型常量的表示C语言中整型常量的表示方法有:十进制(以非零数字打头)、八进制(以数字0打头后跟八进制数符)、十六进制(以0X或0 x打头后跟十六进制数符)。C语言中整型数据有三大类:短整型(short,2B)、基本整型(int,4B)、长整型(long,4B),此为有符号类型,可表示正、负数;在三个关键字前加上unsigned则为无符号类型,所占字节数不变,但只能表示正数。整型数据在内存中以二进制补码存放,若超出其表示范围,会产生溢出。,考点点拨:记实型常量的表示实型常量的表示方法有两种:小数形式和指数形式。实型数据主要使用两种类型:单精度(float,4B)、双精度(double,8B),注意不同类型的有效数字位数区别。实型数据在内存中以指数形式存放,实型常量默认为double型,可以在常量后加f或F将其按float型处理。,考点点拨:记字符常量及转义字符常量的定义普通字符常量是用一对单引号括起来的一个字符表示的常量。字符常量的值是该字符的ASCII码值,如A的值是65,0字符的值是48等,在内存中占1B空间。转义字符常量指在单引号内由反斜线打头,后跟特定字符表示的常量。需要记的转义字符有三类:(1)控制字符:n、r、b、t(2)特殊字符:、”(3)转义进制:bbb(13位八进制数符)、xhh(12位十六进制数符)字符串常量是用一对双引号括起来的零个或多个字符序列,其中包含的字符可以是普通字符或转义字符,系统自动在字符串末尾增加一个不可显示字符0(空字符)作为字符串结束标记,字符串所占的内存空间为所含字符数+1。,真题举例:(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.12E,D,A,A,考点点拨:记字符数据的运算方法C语言规定,将所有的字符型数据都作为整型来处理。因此,字符常量和转义字符常量可以参与任何整数运算。如A+32得a,5-0得5。常考英文字母大、小写之间的转换,数字字符与整数值之间的相互转换。字符数据还可以进行关系运算和逻辑运算。,真题举例:(21)以下不能输出字符A的语句是(注:字符A的ASCIl码值为65,字符a的ASCIl码值为97)()(2011.9)A)printf(cn,a-32);B)printf(dn,A);C)printf(“cn”,65);D)print-f(cn,B-1);,B,考点点拨:记字符变量的定义及赋值C语言中用关键字char定义字符型变量,在内存中分配1B空间,用来存放字符常量的ASCII码值。该值可以作为整型数据来参与运算。,真题举例:(22)有以下定义语句,编译时会出现编译错误的是()。(2009.9)A)chara=a;B)chara=n;C)chara=aa;D)chara=x2d;,C,考点点拨:运算符的分类、常用运算符的优先级和结合性运算符按功能分有13类(P56),按所需操作数目分可分为:单目运算符(右结合,优先级2)、双目运算符(除赋值为右结合外,其余为左结合)、三目运算符(条件运算符,右结合)。各运算符的优先级和结合性见教材P378。,考点点拨:系统自动转换成同一类型的方向和结果的类型不同数据类型混合运算时系统自动转换的规则见下图,其中水平箭头为必然转换,垂直箭头为从低向高方向转换。运算结果类型为转换后的类型。,真题举例:(14)若有定义语句:inta=10;doubleb=3.14;,则表达式A+a+b值的类型是()。(2011.9)A)charB)intC)doubleD)float,C,考点点拨:重点记算术运算符各自的运算特点基本算术运算符+、-、*、/、%均为双目运算符。其中%(求余数)运算符要求两侧的操作数必须为整型;/(除)运算符两侧若均为整数,则结果为除以后的整数部分,否则为实型。,真题举例:(14)有以下定义:inta;longb;doublex,y;则以下选项中正确的表达式是()。(2010.9)A)a%(int)(x-y)B)a=x!=y;C)(a*y)%bD)y=x+y=x,A,考点点拨:重点记赋值表达式及复合赋值表达式的特点赋值表达式左侧必须是简单变量,不能是常量或表达式(包括赋值表达式),右边可以是常量、变量或表达式(包括赋值表达式)。赋值运算符及复合赋值运算符右结合,优先级倒数第二级。当赋值表达式右边表达式值的类型与左边变量的类型不一致时,系统会自动将该值转换成左边变量的类型后再赋值。转换规则则教材P62。,真题举例:(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的值为()。(2011.9)A)1.9B)1C)2D)2.4,D,A,B,考点点拨:理解前置运算和后置运算的不同意义自增(+)、自减(-)均为单目运算符,右结合,操作数可以是整型变量或实型变量,但不能是常量或表达式。前置运算(如+i、-)是先增减后运算,后置运算(如i+、i-)是先运算后增减。,真题举例:(18)有以下程序main()intx=011;printf(%dn,+x);程序运行后的输出结果是()(2011.3)A)12B)11C)10D)9,C,考点点拨:记逗号运算符的优先级、结合性及求值规则逗号表达式是用逗号运算符(,)将两个或两个以上的表达式顺序连接起来的表达式,左结合,逗号运算符优先级最低。从左到右顺序求解各表达式,也称为顺序求值表达式,结果为最右边表达式的值。注意区分逗号分隔符和逗号运算符。,真题举例:(6)执行以下程序后的输出结果是。(2007.4)main()inta=10;a=(3*5,a+4);printf(“a=%dn”,a);,a=14,考点点拨:理解强制类型转换、自动类型转换(1)强制类型转换。格式为:(类型)(表达式),将表达式值的类型强制转换成指定的类型,对表达式中原有变量的类型无影响。(2)自动类型转换。a.赋值运算中的自动转换。b.混合运算中的自动转换。,真题举例:(14)表达式:(int)(double)9/2)-(9)%2的值是()。(2009.9)A)0B)3C)4D)5,B,考点点拨:掌握关系运算符及表达式的求值关系运算符有:=k2)elsek=c;elseif(bc)k=b;elsek=c;以下选项中与上述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=(a1);printf(%dn,a);,5,考点点拨:理解for循环的执行过程及应用for语句的一般形式是:for(表达式1;表达式2;表达式3)语句for中的三个表达式可以是任意合法的C语言表达式,表达式1在进入循环的进修执行一次,一般是给循环变量赋初值;表达式2取其逻辑值作为循环条件;表达式3在执行循环体后才执行,一般是使循环条件趋于假的运算。三个表达式均可以省略,但分号不能省。,真题举例:(21)有以下程序#includesmain()inta=1,b=2;for(;a8;a+)b+=a;a+=2;printf(”%d,%dn”,a,b);程序运行后的输出结果是()。(2010.3)A)9,18B)8,11C)7,11D)10,14,D,考点点拨:理解循环嵌套的几种形式及执行过程循环体内又完整地包含了另一个循环,称循环嵌套。前三种循环语句可以相互嵌套,可多层嵌套。嵌套循环在执行时外循环执行一次内循环要执行一遍。书写上一般采用缩进形式,使程序层次分明,可读性强。,真题举例:(20)以下程序段中的变量已正确定义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语句的作用是结束本层本次的循环,转去执行下一次的循环处理。continue语句只能用于循环体中。,第6章数组,六、数组的定义和引用1.一维数组和二维数组的定义、初始化和数组元素的引用。2.字符串与字符数组。,大纲要求重点:,考点点拨:掌握一维数组的定义方式及初始化的定义形式一维数组的定义方式:数据类型数组名常量表达式;常量表达式规定了数组元素的个数(或长度),整个数组所占字节数=类型长度数组长度;常量表达式中可以包括整型常量和符号常量;在给全部元素赋初值时可以省略定义时的数组长度说明。一维数组初始化的一般形式:数据类型数组名常量表达式=值0,值1,值2,;初值的个数不能超过数组的长度;可以只给部分元素赋初值,未赋初值元素默认值为0;,真题举例:(28)若要定义一个具有5个元素的整型数组,以下错误的定义语句是()(2010.9)A)inta5=0;B)intb=0,0,0,0,0;C)intc2+3;D)inti=5,di;,D,考点点拨:掌握一维数组元素的引用形式一维数组元素的引用形式:数组名下标表达式下标表达式可以是整型的常量、变量或表达式。数组名代表数组内存空间的起始地址,不能企图用数组名引用全部数组元素。C语言规定,数组的下标从0开始,因其下标的有效范围为0长度-1。C系统不会对数组的下标进行越界检查。在程序中一般用单重for循环控制元素下标引用所有元素。,真题举例:(29)有以下程序#includemain()inta5=1,2,3,4,5,b5=0,2,1,3,0,i,s=0;for(i=0;i5;i+)s=s+abi;printf(%dn,s);程序运行后的输出结果是()。(2010.3)A)6B)10C)11D)15,C,考点点拨:掌握二维数组的定义方式及初始化的定义形式二维数组的定义方式:数据类型数组名常量表达式1常量表达式2;二维数组一般用于存储矩阵,常量表达式1为矩阵行数,常量表达式2为矩阵列数。二维数组元素在内存中是按行存放的,各元素在内存中所占的字节数=行数列数类型长度二维数组初始化的方法有:按行赋初值按元素排列顺序赋初值部分元素赋值全部元素赋值可省略常量表达式1的说明,省略的长度由初始值个数确定,真题举例:(26)以下定义数组的语句中错误的是()。(2011.9)A)intnum=1,2,3,4,5,6;B)intnum3=1,2,3,4,5,6;C)intnum24=1,2,3,4,5,6;D)intnum4=1,2,3,4,5,6;,C,考点点拨:掌握二维数组元素的引用形式二维数组元素的引用形式:数组名下标表达式1下标表达式2各维下标均从0开始,且为整数类型,不得越界。在程序中一般用双重for循环控制两维下标访问元素。若外循环控制行下标、内循环控制列下标则按行序访问元素;若外循环控制列下标、内循环控制行下标则按列序访问元素。,真题举例:(11)有以下程序#includemain()inta33=1,2,3,4,5,6,7,8,9;intb3=0,i;for(i=0;icolorC)std-colorD)(*ptr).color,C,考点点拨:理解链表的结构特点及链表的建立、输出、插入、删除链表是一种动态存储结构,其基本构成单位称结点,其特点是通过结点中的指针来体现结点间的先后关系。结点中一般包含两部分数据:数据域和指针域。因其类型不同,所以用结构体类型组织,一般形式如下:structNODEintdata;structNODE*next;其中,数据域或指针域根据需要可以是多项成员。在单向链表中,指针成员next通常用来存放下一个结点的地址。链表的处理在机试题中有所涉及,近几次笔试题中没有考。,考点点拨:了解共用体类型和变量的定义及引用方法共用体类型用关键字union定义,其形式同结构体类型共用体变量的定义和引用同结构体变量,区别在于:共用体变量分配的字节数=各成员所占字节数的最大值共用体变量不能在定义的时候赋初值共用体变量中各成员不能同时存在,某一时刻只能有一个成员起作用且是最后一次赋值的成员,考点点拨:了解typedef声明新类型的方法typedef声明新类型的形式如下:typedef类型名标识符其中,类型名是一种已经存在的类型,标识符是用户定义用作新类型的名称。定义后,使用新的“标识符”等价于原类型名。,真题举例:(39)若有以下语句typedefstructSintg;charh;T;以下叙述中正确的是()。(2010.9)A)可用S定义结构体变量B)可用T定义结构体变量C)S是struct类型的变量D)T是structS类型的变量,B,第11章文件,十二、文件操作只要求缓冲文件系统(即高级磁盘I/O系统),对非标准缓冲文件系统(即低级磁盘I/O系统)不要求。1.文件类型指针(FILE类型指针)。2.文件的打开与关闭(fopen,fclose)。3.文件的读写(fputc,fgetc,fputs,fgets,fread,fwrite,fprintf,fscanf函数的应用),文件的定位(rewind,fseek函数的应用)。,大纲要求重点:,考点点拨:了解C程序处理文件的分类在C程序中处理的文件通常为提供原始数据或存放结果数据,因其存放在外存上便于长期保存和与程序分及数据共享。C处理的文件分为两种:文本文件和二进制文件。,真题举例:(40)下列关于C语言文件的叙述中正确的是()。(2009.9)A)文件由一系列数据一次排列组成,只能构成二进制文件B)文件由结构序列组成,可以构成二进制文件或文本文件C)文件由数据序列组成,可以构成二进制文件或文本文件D)文件由字符序列组成,只能是文本文件,C,考点点拨:掌握文件类型及文件打开、关闭函数的使用文件类型是在stdo.h文件中定义的FILE结构体类型,通常使用FILE定义文件类型指针,用该指针保存文件打开的返回值,并通过该指针完成对文件的读写和其他操作。文件指针的定义为:FILE*指针变量名;如FILE*fp;文件的操作顺序是:打开-读写-关闭打开文件用fopen函数,一般用法是:fp=fopen(“文件名”,“打开方式”);打开成功建立文件指针fp和所打开文件的指向关系,打开失败返回NULL文件的打开方式有基本的三种:r(只读)、w(只写)、a(追加),扩展后共12种,根据操作需要选择合适的打开方式。文件关闭用fclose函数,一般用法是:fclose(fp);,真题举例:(15)以下程序打开新文件f.txt,并调用字符输出函数将a数组中的字符写入其中,请填空。(2010.9)#includemain(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论