(高等教育)《c2语言程序设计》期末复习[1]_第1页
(高等教育)《c2语言程序设计》期末复习[1]_第2页
(高等教育)《c2语言程序设计》期末复习[1]_第3页
(高等教育)《c2语言程序设计》期末复习[1]_第4页
(高等教育)《c2语言程序设计》期末复习[1]_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

“C+语言程序设计”期末复习 考核要求:考核学生掌握和运用C+语言基本语法规则进行典型程序设计的能力。具体考核要求分为以下3个层次: 了解:能够掌握C+语言的基本语法规则和一些基本概念。 理解:能够阅读和分析用C+语言编写的程序,即能够写出程序的运行结果或指出程序的功能。 应用:能够根据解决特定问题的要求利用C+语言编写出程序。 命题原则: 1. 严格按照该课程教学大纲和考核说明的要求命题。 2. 试题的覆盖面较广,并适当突出重点。 3试题的难易程度和题量适当,按难易程度分为三个层次:容易占40%,一般占40%,较难占20%。4题型有五种:单选题、填空题、写出程序运行结果、指出程序或函数的功能、编程题等。考核内容及要求 第一章 C+语言概述 考核内容(知识点): 1程序、程序文件和函数的概念及其相互之间的关系。 2函数的定义格式和作用,主函数的特殊地位和作用。 3C+基本语句和复合语句的语法格式。 4#include命令的作用,C+系统编译程序对其处理的过程。 5头文件的文件名格式、在程序中的使用方法和作用。 6程序中两种注释标记的写法和作用。 7标准输出流对象cout和标准输入流对象cin的含义,插入操作符的作用。 8C+源程序文件名、编译后生成的目标文件名和连接后生成的可执行文件名中相应的扩展名,C+系统的编译程序和连接程序的功能。 考核要求: 要求了解以上内容。 第二章 基本数据类型和表达式 重点考核的内容(知识点): 1C+数据类型的分类。 2各种整数类型的关键字表示,存储空间的大小和值域范围。 3整型变量的定义和初始化,十进制整型常量的表示。 4字符类型的关键字表示,存储空间的大小和值域范围;字符型常量的表示,回车、换行、单引号、双引号、反斜线、空字符等特殊字符的表示。 5字符型变量的定义和初始化,字符型与整型的关系。 6枚举的概念,枚举类型的定义,枚举变量的定义和初始化,枚举常量与整型常量的对应关系。 7各种实数类型的关键字表示,存储空间的大小和有效位数。 8单精度和双精度实数的定点表示和浮点(科学)表示,实型变量的定义和初始化。 9加、减、乘、除、取余、赋值、增1、减1、取数据存储长度等算术运算符的表示、含义、运算对象个数和运算优先级。 10关系运算符的定义和关系表达式的计算,逻辑运算符的定义与逻辑表达式的计算,系统给定的逻辑(布尔)类型的定义,逻辑常量false和true与整型常量的对应关系,逻辑变量的定义和使用,求任意表达式对应逻辑值的方法。 11. typedef语句格式及功能。 一般考核的内容(知识点): 1整型常量的八进制和十六进制表示。 2符号常量和常值变量的定义和初始化,它们之间的区别。 3位操作符、复合赋值操作符的含义与使用。 4不同数据类型之间的强制转换。 5相反条件、等价条件、永真条件的含义,条件操作符和逗号操作符的含义及运算过程。 考核要求: 掌握以上重点考核的内容,了解以上一般考核内容。 第三章 C+程序的流程控制 考核内容(知识点): 1程序或程序模块的三种基本结构,每种结构的执行过程。 2简单if语句、带else子句的if语句、多分支结构的if语句的定义格式、执行过程和在处理问题中的具体应用。 3switch语句的定义格式、执行过程和在处理问题中的具体应用。 4if语句与switch语句之间的功能比较,if语句与switch语句之间的转换。 5for循环、while循环和do.while循环的定义格式、执行过程和在处理问题中的具体应用。 6三种循环结构之间的比较及其相互转换。 7Break语句在switch语句和各种循环语句中的作用,continue语句在各种循环语句中的作用。 8goto语句和return语句的定义格式和功能。 考核要求: 了解goto 语句的功能,熟练掌握以上其余内容并能够灵活运用。 第四章 数组 考核内容(知识点): 1一维数组的含义、定义格式及初始化格式。 2数组长度、数组元素、元素下标的含义,访问数组元素的语法格式,下标运算符的操作对象和操作结果。 3数组元素的下标变化范围,数组元素所占存储空间大小和整个数组所占存储空间大小的计算,各元素对应存储空间的排列情况,每个元素的存储地址的计算。 4利用一维数组存储数据,按元素值的升序或降序排列数据,按给定条件或功能对数组元素依次进行访问和处理。 5二维数组的含义、定义格式及初始化格式。 6二维数组的行数和列数的概念,数组长度(即所含元素个数)的计算。 7访问二维数组元素的语法格式,每个下标运算符的操作对象和操作结果。 8二维数组中的所有元素在存储空间中的排列情况,每个元素的存储地址的计算。 9利用二维数组存储矩阵数据,按给定条件或功能对数组元素依次进行访问和处理。 10字符串常量的定义格式,字符串的存储格式,字符串长度的概念。 11一维字符数组、二维字符数组与字符串之间的关系,一维字符数组与二维字符数组的初始化。 12strlen,strcpy,strcmp,strcat等字符串函数的声明格式及功能,利用提取和插入操作符输入和输出字符串的语法格式。 13利用typedef语句定义数组类型。 考核要求: 掌握一维数组、二维数组和字符串的定义及有关概念,会利用它们存储和处理数据。 第五章 C+函数 重点考核的内容(知识点): 1函数的声明格式与定义格式。 2函数调用表达式的语法格式及执行过程。 3函数定义中形参变量的作用及实虚参数结合的过程。 5函数声明(原型)语句的定义格式及作用。 6形参为一维数组或二维数组时的说明格式、对应实参的语法规则、调用时数组参数传递的过程。 7变量的作用域的概念和含义;系统对全局变量、static变量、局部变量的建立和初始化过程。 一般考核的内容(知识点): 1函数模板(又称模板函数)的定义格式及其作用。函数模板的实例化,函数模板与一般函数定义之间的优先关系。 2函数的递归调用的概念和递归函数的具体执行过程。 3头文件在程序文件中的位置和作用。 4函数声明或定义中可选参数的使用,对应的函数调用的格式及执行过程。 5内联函数的定义与作用。 6函数重载的概念。 考核要求: 掌握以上重点考核的内容,了解其一般考核的内容。 第六章 指针、引用和动态空间管理 重点考核的内容(知识点): 1指针的概念,指针变量的定义和初始化。 2指针赋值(=)、取对象(变量)地址(&)、访问指针所指对象(*)、指针比较(=、!=、等)、指针算术运算(+、-、+=等)、指针增1或减1(+、-)、指针类型转换等操作的含义、优先级及其应用。 3数组名的指针含义。 4一维数组元素的下标访问方式与指针访问方式及其之间的转换。 5一级指针(即带有一个星号定义的指针)作为函数参数和返回类型的应用。 6引用的概念,引用变量的定义和初始化,引用作为函数参数和返回类型的应用。 7new和delete操作符的含义及作用,动态对象或动态数组的建立与释放。 一般考核的内容(知识点): 1指针常量的两种定义格式和含义。 2指针表达式的副作用。 3二维数组元素的下标访问方式与指针访问方式及其之间的转换。 考核要求: 掌握以上重点考核的内容,了解以上一般考核的内容。 第七章 结构与联合 重点考核的内容(知识点): 1结构的概念,结构类型的定义格式,结构类型的声明(即不完整定义)格式。 2结构对象(变量)的各种定义格式和初始化,结构大小的计算,结构对象和结构数组对象的动态分配和初始化。 3结构赋值,结构成员的直接访问和间接访问,利用结构数组保存和处理数据。 4结构和结构指针作为函数参数和返回值类型的具体应用。 5操作符重载的概念,对结构类型进行算术、关系、输入和输出等操作符重载的函数定义格式,调用操作符重载函数的格式。 一般考核的内容(知识点)有: 1链表的概念,链表中结点的结构,链表的建立、遍历、查找和释放等操作的算法。 2联合的概念,联合类型的定义格式,联合对象的定义和初始化,联合的存储结构及大小的计算,匿名(无名)联合的特点。 考核要求: 掌握以上重点考核的内容,了解以上一般考核的内容。 第八章 类与对象 重点考核的内容(知识点): 1类的概念,类类型的定义格式,类成员的三种访问权限的具体含义,类与结构的异同,类成员在该类成员函数和类外其他函数中的访问方法。 2this指针的含义,类成员函数在类定义中声明或定义的格式,类成员函数在类外定义的格式,内联成员函数的定义格式,类类型大小的计算和类对象的存储结构。 3构造函数和析构函数的定义格式、调用时机和作用;构造函数的分类:无参构造函数、带参构造函数和拷贝构造函数;构造函数中初始化表的定义格式及作用。 4类的继承的概念,派生类(即带基类的类)的定义格式,对基类的三种不同继承方式的特点,对基类数据成员的初始化方法,类区分符的使用格式及作用。 5类对象成员的初始化方法,派生类构造函数和析构函数被执行的过程。 一般考核的内容(知识点): 1类成员函数的重载和操作符重载函数。 2赋值重载函数的定义格式、调用时机及作用。 3友元函数和友元类的概念,在一个类中对友元函数和友元类的声明格式。 4静态数据成员的含义、声明格式、类外定义和初始化格式、访问方法。 5模板类的定义格式与模板类的实例化,利用模板类定义对象的语法格式。 考核要求: 掌握以上重点考核的内容,了解以上一般考核的内容。 第九章 C+流 重点考核的内容(知识点): 1C+流类系列中各流类之间的继承关系,iostream.h、fstream.h、strstrea.h、iomanip.h等头文件的组成及作用。 2预定义标准输入流和输出流对象cin、cout和cerr的含义,在输入和输出流类中重载的提取和插入操作符函数的声明格式,以及调用它们的格式。3I/O操纵符dec、oct、hex、ws、endl、ends、setw(int)等的控制功能。4文件的概念,字符文件和字节文件的存储格式,文件访问位置指针、文件结束标记、文件缓冲区、文件流对象(简称文件流)等的含义,文件流的定义、打开文件、关闭文件等语句的格式及作用,每一种文件打开方式的含义。 5使用插入操作符和put(char)成员函数向字符文件输出数据,使用提取操作符和get()、get(char&)、getline(char*,int,char)等成员函数从字符文件中读取数据。 6使用read(char*,int)和write(const char*,int)成员函数访问字节文件。 一般考核的内容(知识点): 1使用seekg(long,seek_dir)和seep(long,seek_dir)成员函数移动文件指针,使用tellg()和tellp()成员函数返回文件指针位置。 2ios流类中定义的bad()、eof()、fail()、clear()、fill()、precision(int)、setf(long)、unsetf(long)、width(int)等成员函数的声明格式及作用,I/O操纵符setiosflags(long)、resetiosflags(long)、setfill(int)、setprecision(int)等的调用格式及作用。 3字符串流类对象的定义和使用。 考核要求: 掌握以上重点考核的内容,了解以上一般考核的内容。第三部分 模拟考核试题及解答一、单选题(每小题1分,共6分) 1. 由C+目标文件连接而成的可执行文件的缺省扩展名为_。 A cpp B exe C obj D lik 2. 在下面的一维数组定义中,哪一个有语法错误。_ A int a=1,2,3; B int a10=0; C int a; D int a5; 3. 在下面的函数声明中,存在着语法错误的是_。 A void BC(int a, int); B void BD(int, int); C void BE(int, int=5); D int BF(int x; int y); 4. 假定AB为一个类,则该类的拷贝构造函数的声明语句为_。 A AB&(AB x); B AB(AB x) C AB(AB&); D AB(AB* x) 5. 对于结构中定义的成员,其隐含访问权限为_。 A public B protected C private D static6当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为_。 A ios:in B ios:out C ios:in | ios:out D 没有二、填空题(每小题2分,共24分)1. 执行“cout43-18=43-18endl;”语句后得到的输出结果为_。2已知AZ的ASCII码为6590,当执行“char ch=14*5+2;coutchy和x=y的逻辑值分别为_和_。 6. 执行“typedef int ABC10;”语句把ABC定义为具有10个整型元素的_。7. 假定p所指对象的值为25,p+1所指对象的值为46,则执行“(*p)+;”语句后,p所指对象的值为_。8. 假定一个二维数组为aMN,则ai的地址值(以字节为单位)为_。 9. 假定要访问一个结构指针p所指对象中的b指针成员所指的对象,则表示方法为_。10. 设px是指向一个类动态对象的指针变量,则执行”delete px;”语句时,将自动调用该类的_。11若需要把一个函数”void F();”定义为一个类AB的友元函数,则应在类AB的定义中加入一条语句:_ 12. 若要在程序文件中进行标准输入输出操作,则必须在开始的#include命令中使用_头文件。 三、给出下列程序运行后的输出结果(每小题6分,共36分) 1. #include void main() int s=0; for(int i=1;i+) if(s50) break; if(i%2=0) s+=i; couti,s=i,sendl; 2. #include void main() char a=abcdabcabfgacd; int i1=0, i2=0, i=0; while(ai) if(ai=a) i1+; if(ai=b) i2+; i+; couti1 i2endl; 3. #include void main() int a9=2,4,6,8,10,12,14,16,18; for(int i=0;i9;i+) coutsetw(5)*(a+i); if(i+1)%3=0) coutendl; 4. #include void LE(int* a, int* b) int x=*a; *a=*b; *b=x; cout*a *bendl; void main() int x=10, y=25; LE(&x,&y); coutx yendl; 5. #include class A int a,b; public: A() a=b=0; A(int aa, int bb) a=aa; b=bb; couta bendl; ; void main() A x,y(2,3),z(4,5); 6#include template class FF TT a1, a2, a3; public: FF(TT b1, TT b2, TT b3) a1=b1; a2=b2; a3=b3; TT Sum() return a1+a2+a3; ; void main() FF x(2,3,4),y(5,7,9); coutx.Sum() y.Sum()endl; 四、写出下列每个函数的功能(每小题6分,共24分) 1. double SF(double x, int n) /n为大于等于0的整数 double p=1,s=1; for(int i=1;ix; while(x!=-1) n+; y+=x; cinx; if(n=0) return y; else return y/n; 3. #include void WA(int a, int n) for(int i=0;in-1;i+) int k=i; for(int j=i+1;jn;j+) if(ajak) k=j; int x=ai; ai=ak; ak=x; 4#include #include void JB(char* fname) /可把以fname所指字符串作为文件标识

温馨提示

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

评论

0/150

提交评论