C语言程序设计课程期末复习提要Word文档格式.docx
- 文档编号:22924112
- 上传时间:2023-02-06
- 格式:DOCX
- 页数:18
- 大小:25.20KB
C语言程序设计课程期末复习提要Word文档格式.docx
《C语言程序设计课程期末复习提要Word文档格式.docx》由会员分享,可在线阅读,更多相关《C语言程序设计课程期末复习提要Word文档格式.docx(18页珍藏版)》请在冰豆网上搜索。
5.头文件的文件名格式、在程序中的使用方法和作用。
6.程序中两种注释标记的写法和作用。
7.标准输出流对象cout和标准输入流对象cin的含义,插入操作符<
<
和提取操作符>
>
的作用。
8.C++源程序文件名、编译后生成的目标文件名和连接后生成的可执行文件名中相应的扩展名,C++系统的编译程序和连接程序的功能。
要求了解以上内容。
第二章基本数据类型和表达式
重点考核的内容(知识点):
1.C++数据类型的分类。
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语句的定义格式、执行过程和在处理问题中的具体应用。
3.switch语句的定义格式、执行过程和在处理问题中的具体应用。
4.if语句与switch语句之间的功能比较,if语句与switch语句之间的转换。
5.for循环、while循环和do...while循环的定义格式、执行过程和在处理问题中的具体应用。
6.三种循环结构之间的比较及其相互转换。
7.Break语句在switch语句和各种循环语句中的作用,continue语句在各种循环语句中的作用。
8.goto语句和return语句的定义格式和功能。
了解goto语句的功能,熟练掌握以上其余内容并能够灵活运用。
第四章数组
1.一维数组的含义、定义格式及初始化格式。
2.数组长度、数组元素、元素下标的含义,访问数组元素的语法格式,下标运算符的操作对象和操作结果。
3.数组元素的下标变化范围,数组元素所占存储空间大小和整个数组所占存储空间大小的计算,各元素对应存储空间的排列情况,每个元素的存储地址的计算。
4.利用一维数组存储数据,按元素值的升序或降序排列数据,按给定条件或功能对数组元素依次进行访问和处理。
5.二维数组的含义、定义格式及初始化格式。
6.二维数组的行数和列数的概念,数组长度(即所含元素个数)的计算。
7.访问二维数组元素的语法格式,每个下标运算符的操作对象和操作结果。
8.二维数组中的所有元素在存储空间中的排列情况,每个元素的存储地址的计算。
9.利用二维数组存储矩阵数据,按给定条件或功能对数组元素依次进行访问和处理。
10.字符串常量的定义格式,字符串的存储格式,字符串长度的概念。
11.一维字符数组、二维字符数组与字符串之间的关系,一维字符数组与二维字符数组的初始化。
12.strlen,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.引用的概念,引用变量的定义和初始化,引用作为函数参数和返回类型的应用。
7.new和delete操作符的含义及作用,动态对象或动态数组的建立与释放。
1.指针常量的两种定义格式和含义。
2.指针表达式的副作用。
3.二维数组元素的下标访问方式与指针访问方式及其之间的转换。
掌握以上重点考核的内容,了解以上一般考核的内容。
第七章结构与联合
1.结构的概念,结构类型的定义格式,结构类型的声明(即不完整定义)格式。
2.结构对象(变量)的各种定义格式和初始化,结构大小的计算,结构对象和结构数组对象的动态分配和初始化。
3.结构赋值,结构成员的直接访问和间接访问,利用结构数组保存和处理数据。
4.结构和结构指针作为函数参数和返回值类型的具体应用。
5.操作符重载的概念,对结构类型进行算术、关系、输入和输出等操作符重载的函数定义格式,调用操作符重载函数的格式。
一般考核的内容(知识点)有:
1.链表的概念,链表中结点的结构,链表的建立、遍历、查找和释放等操作的算法。
2.联合的概念,联合类型的定义格式,联合对象的定义和初始化,联合的存储结构及大小的计算,匿名(无名)联合的特点。
第八章类与对象
1.类的概念,类类型的定义格式,类成员的三种访问权限的具体含义,类与结构的异同,类成员在该类成员函数和类外其他函数中的访问方法。
2.this指针的含义,类成员函数在类定义中声明或定义的格式,类成员函数在类外定义的格式,内联成员函数的定义格式,类类型大小的计算和类对象的存储结构。
3.构造函数和析构函数的定义格式、调用时机和作用;
构造函数的分类:
无参构造函数、带参构造函数和拷贝构造函数;
构造函数中初始化表的定义格式及作用。
4.类的继承的概念,派生类(即带基类的类)的定义格式,对基类的三种不同继承方式的特点,对基类数据成员的初始化方法,类区分符的使用格式及作用。
5.类对象成员的初始化方法,派生类构造函数和析构函数被执行的过程。
1.类成员函数的重载和操作符重载函数。
2.赋值重载函数的定义格式、调用时机及作用。
3.友元函数和友元类的概念,在一个类中对友元函数和友元类的声明格式。
4.静态数据成员的含义、声明格式、类外定义和初始化格式、访问方法。
5.模板类的定义格式与模板类的实例化,利用模板类定义对象的语法格式。
第九章C++流
1.C++流类系列中各流类之间的继承关系,iostream.h、fstream.h、strstrea.h、iomanip.h等头文件的组成及作用。
2.预定义标准输入流和输出流对象cin、cout和cerr的含义,在输入和输出流类中重载的提取和插入操作符函数的声明格式,以及调用它们的格式。
3.I/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(constchar*,int)成员函数访问字节文件。
1.使用seekg(long,seek_dir)和seep(long,seek_dir)成员函数移动文件指针,使用tellg()和tellp()成员函数返回文件指针位置。
2.ios流类中定义的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++目标文件连接而成的可执行文件的缺省扩展名为________。
AcppBexeCobjDlik
2.在下面的一维数组定义中,哪一个有语法错误。
________
Ainta[]={1,2,3};
Binta[10]={0};
Cinta[];
Dinta[5];
3.在下面的函数声明中,存在着语法错误的是________。
AvoidBC(inta,int);
BvoidBD(int,int);
CvoidBE(int,int=5);
DintBF(intx;
inty);
4.假定AB为一个类,则该类的拷贝构造函数的声明语句为________。
AAB&
(ABx);
BAB(ABx)CAB(AB&
);
DAB(AB*x)
5.对于结构中定义的成员,其隐含访问权限为________。
ApublicBprotectedCprivateDstatic
6.当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方
式为________。
Aios:
:
inBios:
outCios:
in|ios:
outD没有
二、填空题(每小题2分,共24分)
1.执行“cout<
43<
’-’<
18<
’=’<
43-18<
endl;
”语句后得到的输出结果
为________。
2.已知'
A'
'
Z'
的ASCII码为6590,当执行“charch=14*5+2;
cout<
ch<
”
语句序列后,得到的输出结果为________。
3.使用const语句定义一个标识符常量时,则必须对它同时进行__________。
4.表达式x=x+1表示成增1表达式为__________。
5.若x=5,y=10,则x>
y和x<
=y的逻辑值分别为________和________。
6.执行“typedefintABC[10];
”语句把ABC定义为具有10个整型元素的________。
7.假定p所指对象的值为25,p+1所指对象的值为46,则执行“(*p)++;
”语句后,
p所指对象的值为________。
8.假定一个二维数组为a[M][N],则a[i]的地址值(以字节为单位)为
____________________。
9.假定要访问一个结构指针p所指对象中的b指针成员所指的对象,则表示方法为
____________。
10.设px是指向一个类动态对象的指针变量,则执行”deletepx;
”语句时,将自动调
用该类的____________。
11.若需要把一个函数”voidF();
”定义为一个类AB的友元函数,则应在类AB的定义
中加入一条语句:
________________
12.若要在程序文件中进行标准输入输出操作,则必须在开始的#include命令中使用
____________头文件。
三、给出下列程序运行后的输出结果(每小题6分,共36分)
1.#include<
iostream.h>
voidmain(){
ints=0;
for(inti=1;
;
i++){
if(s>
50)break;
if(i%2==0)s+=i;
}
cout<
"
i,s="
i<
"
s<
2.#include<
chara[]="
abcdabcabfgacd"
inti1=0,i2=0,i=0;
while(a[i]){
if(a[i]=='
a'
)i1++;
b'
)i2++;
i++;
i1<
'
i2<
3.#include<
iomanip.h>
inta[9]={2,4,6,8,10,12,14,16,18};
for(inti=0;
9;
cout<
setw(5)<
*(a+i);
if((i+1)%3==0)cout<
4.#include<
voidLE(int*a,int*b){
intx=*a;
*a=*b;
*b=x;
*a<
*b<
intx=10,y=25;
LE(&
x,&
y);
x<
y<
5.#include<
classA{
inta,b;
public:
A(){a=b=0;
}
A(intaa,intbb){
a=aa;
b=bb;
a<
b<
};
Ax,y(2,3),z(4,5);
6.#include<
template<
classTT>
classFF{
TTa1,a2,a3;
FF(TTb1,TTb2,TTb3){
a1=b1;
a2=b2;
a3=b3;
TTSum(){returna1+a2+a3;
FF<
int>
x(2,3,4),y(5,7,9);
x.Sum()<
y.Sum()<
四、写出下列每个函数的功能(每小题6分,共24分)
1.doubleSF(doublex,intn){
//n为大于等于0的整数
doublep=1,s=1;
=n;
p*=x;
s+=p/(i+1);
returns;
2.floatFH(){
floatx,y=0,n=0;
cin>
x;
while(x!
=-1){
n++;
y+=x;
cin>
if(n==0)returny;
elsereturny/n;
voidWA(inta[],intn){
n-1;
intk=i;
for(intj=i+1;
j<
n;
j++)
if(a[j]<
a[k])k=j;
intx=a[i];
a[i]=a[k];
a[k]=x;
4.#include<
#include<
fstream.h>
voidJB(char*fname)
//可把以fname所指字符串作为文件标识符的文件称为fname文件,
//假定该文件中保存着一批字符串,每个字符串的长度均小于20。
{
ifstreamfin(fname);
chara[20];
inti=0;
while(fin>
a){
i++;
fin.close();
i="
五、编写一个函数,统计出具有n个元素的一维数组中大于等于所有元素平均值的元素个数并返回它。
(10分)
intCount(doublea[],intn);
//此为该函数的声明
参考解答:
评分标准:
选对者得1分,否则不得分。
1.B2.C3.D4.C5.A6.D
每题与参考答案相同者得2分,否则酌情给分。
1.43-18=252.H
3.初始化4.++x
5.false或0true或16.数组类型
7.268.a+(i*N)*sizeof(a[0][0])或a+i*sizeof(a[i])
9.*(p->
b)或*((*p).b)10.析构函数
11.friendvoidF();
12.iostream.h或iomanip.h
每题与参考答案的数据和显示格式完全相同者得6分,否则酌情给分。
1.i,s=15,56
2.43
3.246
81012
141618
4.2510
2510
5.23
45
6.921
每题与参考答案的叙述含义相同者得6分,否则酌情给分。
1.计算
的值并返回。
2.求出从键盘上输入的一批常数的平均值,以-1作为结束输入的标志。
3.采用选择排序的方法对数组a中的n个整数按照从小到大的次序重新排列。
4.从文件fname中依次读取每个字符串并输出到屏幕上显示出来,
同时统计并显示出文件中的字符串个数。
评分标准见参考程序中的注释。
intCount(doublea[],intn){
doublem=0;
inti;
for(i=0;
i++)m+=a[i];
//计算出所有元素之和得3分
m=m/n;
//计算出平均值得1分
intc=0;
i++)
if(a[i]>
=m)c++;
//按条件统计出元素个数得4分
returnc;
//返回统计结果得2分
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计课程期末复习提要 语言程序设计 课程 期末 复习 提要