欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    C语言程序设计课程期末复习提要.doc

    • 资源ID:50975380       资源大小:45.50KB        全文页数:10页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C语言程序设计课程期末复习提要.doc

    C+语言程序设计课程考核说明中央电大理工部计算机教研室第一部分 考核说明 C+语言程序设计课程是中央电大计算机应用专业一门统设必修课和专业基础课,在整个教学体系中占据非常重要的地位。该课程主要介绍C+程序设计语言的基本语法规则,计算机程序的基本结构,一些典型应用问题的程序设计方法(即算法),结构化和模块化的程序设计方法,面向对象程序设计的概念和方法等内容。学好该课程将为学习其他后续计算机专业课程打下良好的基础。 考核对象:电大系统“开放教育试点”计算机应用专业学生。 命题依据:本考核说明严格按照中央电大“开放教育试点”计算机应用专业C+语言程序设计课程教学大纲编写。本课程文字教材包括主教材和实验教材两本,均为李宁主编并由中央广播电视大学出版社出版,主教材为C+语言程序设计,实验教材为C+程序设计实验。本考核说明是考试命题的依据。 考核要求:考核学生掌握和运用C+语言基本语法规则进行典型程序设计的能力。具体考核要求分为以下3个层次: 了解:能够掌握C+语言的基本语法规则和一些基本概念。 理解:能够阅读和分析用C+语言编写的程序,即能够写出程序的运行结果或指出程序的功能。 应用:能够根据解决特定问题的要求利用C+语言编写出程序。 命题原则: 1. 严格按照该课程教学大纲和考核说明的要求命题。 2. 试题的覆盖面较广,并适当突出重点。 3试题的难易程度和题量适当,按难易程度分为三个层次:容易占40%,一般占40%,较难占20%。4题型有五种:单选题、填空题、写出程序运行结果、指出程序或函数的功能、编程题等。 考核形式: 采用期末卷面考核与形成性考核相结合的方式。形成性考核占20分,视平时上机和作业完成情况而定,由所在班级的任课教师给定,由省(市、自治区)级电大认定;期末卷面考核占80分,由中央电大统一命题并为闭卷考试,答题时限为120分钟。两方面成绩累计达到60分者为及格。第二部分 考核内容及要求 第一章 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. 执行“cout<<43<<-<<18<<=<<43-18<<endl;”语句后得到的输出结果为_。2已知'A''Z'的ASCII码为6590,当执行“char ch=14*5+2;cout<<ch<<endl;”语句序列后,得到的输出结果为_。 3. 使用const语句定义一个标识符常量时,则必须对它同时进行_。 4. 表达式x=x+1表示成增1表达式为_。 5若x=5,y=10,则x>y和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<iostream.h> void main() int s=0; for(int i=1;i+) if(s>50) break; if(i%2=0) s+=i; cout<<"i,s="<<i<<","<<s<<endl; 2. #include<iostream.h> void main() char a="abcdabcabfgacd" int i1=0, i2=0, i=0; while(ai) if(ai='a') i1+; if(ai='b') i2+; i+; cout<<i1<<' '<<i2<<endl; 3. #include<iomanip.h> void main() int a9=2,4,6,8,10,12,14,16,18; for(int i=0;i<9;i+) cout<<setw(5)<<*(a+i); if(i+1)%3=0) cout<<endl; 4. #include<iomanip.h> void LE(int* a, int* b) int x=*a; *a=*b; *b=x; cout<<*a<<' '<<*b<<endl; void main() int x=10, y=25; LE(&x,&y); cout<<x<<' '<<y<<endl; 5. #include<iostream.h> class A int a,b; public: A() a=b=0; A(int aa, int bb) a=aa; b=bb; cout<<a<<' '<<b<<endl; ; void main() A x,y(2,3),z(4,5); 6#include<iostream.h> template<class TT> 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<int> x(2,3,4),y(5,7,9); cout<<x.Sum()<<' '<<y.Sum()<<endl; 四、写出下列每个函数的功能(每小题6分,共24分) 1. double SF(double x, int n) /n为大于等于0的整数 double p=1,s=1; for(int i=1;i<=n;i+) p*=x; s+=p/(i+1); return s; 2. float FH() float x,y=0,n=0; cin>>x; while(x!=-1) n+; y+=x; cin>>x; if(n=0) return y; else return y/n; 3. #include<iostream.h> void WA(int a, int n) for(int i=0;i<n-1;i+) int k=i; for(int j=i+1;j<n;j+) if(aj<ak) k=j; int x=ai; ai=ak; ak=x; 4#include<iomanip.h> #include<fstream.h> void JB(char* fname) /可把以fname所指字符串作为文件标识符的文件称为fname文件, /假定该文件中保存着一批字符串,每个字符串的长度均小于20。 ifstream fin(fname); char a20; int i=0; while(fin>>a) cout<<a<<endl; i+; fin.close(); cout<<"i="<<i<<endl; 五、编写一个函数,统计出具有n个元素的一维数组中大于等于所有元素平均值的元素个数并返回它。(10分) int Count(double a, int n); /此为该函数的声明参考解答:一、单选题(每小题1分,共6分)评分标准:选对者得1分,否则不得分。1B 2C 3D 4C 5A 6D二、填空题(每小题2分,共24分)评分标准:每题与参考答案相同者得2分,否则酌情给分。143-18=25 2. H3. 初始化 4. +x5. false 或0 true 或1 6. 数组类型7. 26 8. a+(i*N)*sizeof(a00) 或a+i*sizeof(ai)9. *(p->b) 或 *(*p).b) 10. 析构函数11. friend void F(); 12. iostream.h 或 iomanip.h三、给出下列程序运行后的输出结果(每小题6分,共36分)评分标准:每题与参考答案的数据和显示格式完全相同者得6分,否则酌情给分。1. i,s=15,562. 4 33. 2 4 6 8 10 12 14 16 184. 25 10 25 105. 2 3 4 56. 9 21四、写出下列每个函数的功能(每小题6分,共24分)评分标准:每题与参考答案的叙述含义相同者得6分,否则酌情给分。1. 计算的值并返回。2. 求出从键盘上输入的一批常数的平均值,以-1作为结束输入的标志。3. 采用选择排序的方法对数组a中的n个整数按照从小到大的次序重新排列。4. 从文件fname中依次读取每个字符串并输出到屏幕上显示出来,同时统计并显示出文件中的字符串个数。五、编写一个函数,统计出具有n个元素的一维数组中大于等于所有元素平均值的元素个数并返回它。(10分)评分标准见参考程序中的注释。int Count(double a, int n) double m=0; int i;for(i=0;i<n;i+) m+=ai; /计算出所有元素之和得3分 m=m/n; /计算出平均值得1分int c=0;for(i=0;i<n;i+) if(ai>=m) c+; /按条件统计出元素个数得4分return c; /返回统计结果得2分

    注意事项

    本文(C语言程序设计课程期末复习提要.doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开