OOP:《C++程序设计语言》期末复习
第一部分 命题说明
1、 命题指导原则。全面考查学生对于本课程的基本概念,基本内容,基本技能和综合运用程度。
2、 考试题型。填空题、选择题、编程题共三大题。
3、 题目结构:在全部试题中,填空题15题,每题2分,共30分。选择题共15题,每题2分,共30分。编程题4题,每题10分,共40分。
4、 考试范围基本上以本复习题第二部分及教材或课后练习为命题内容。
5、 字符串函数编程题答题要求。要求填写准确、字迹清楚。
第二部分 题目练习
一、填空题。
1.函数定义的格式是类型修饰符 函数名( ) 函数体。
2.一个基本语句的最后一个字符是( )。
3.应用程序ONEFUNC.CPP中只有一个函数,这个函数的名称是( )。
4.已知一函数的定义是:int f(){ return 3; },则该函数的原形是( )。
5.若一应用程序的源程序文件的文件名是source.cpp,经编译而生成的目标文件的文件名是( )。
6.已知一函数的定义是:char *Hi(const char *s) {cout<<”Hi!”<<s;return s;},则该函数的原形是( )。
7.字符串”ABCDE”占用( )字节的空间。
8.字符串”LineOne\x0ALineTwo\12”的长度是( )。
9.执行cout<<”\”Are you ready?\””;,显示在屏幕上的是( )。
10.执行 enum WEEKDAY{Sun,Mon,Tue,Wed,Thu,Fri,Sat}; WEEKDAY d; cin>>d;时,若要使d的值为Fri,应键入( )。
11.执行int x=5,y;y=++x;后,x的值是( ),y的值是( )。
12.利用操作符++,语句序列p=p+1;f=p;的功能可以由一个语句完成,这个语句是( )。
13.利用操作符--,语句序列f=p;p-=1;的功能可以由一个语句完成,这个语句是( )。
14.如果x的值为4,y的值为-55,则执行
if(x>0) if(x>10) cout<<’A’; else cout<<’B’’
else if(y<-8) if(y>-20) cout<<’C’; else cout<<’D’; 后屏幕上显示的是( )。
15.执行if(x>100 && x==0) cout<<”ABC”; else cout<<”XYZ”;屏幕上显示的是( )。
16.执行for(int i=0;i<28;i++) cout<<’*’;将输出( )个*号。
17.执行for(int i=20;i>=0;i--) cout<<’*’;将输出( )个*号。
18.执行 int i,s; for(i=s=0;i<12;i++) s+=i; while(--i>5) s+=i; 后,s的值是( )。
19.与ii=20;while(ii>0) cout<<ii--;等价的for循环是( )。
20.执行语句序列: char str1[]=”ABCD”,str2[10]=”XYZ”; for(int ii=0;str2[ii+1]=str1[ii];ii++);后,数组str2中的字符串是( );
21.执行语句序列:char s1[10]=”abcdef”,s2[20]=”inter”; cin>>s1; int k=0,j=0;
while(s2[k]) k++; while(s2[k++]=s1[j++]); 时,若键盘输入的是net,则s1中的字符串是( ),s2中的字符串是( )。
22.如果一函数只允许同一程序文件中的函数调用,则应在该函数定义前加上( )修饰。
23.只允许被一个特定的复合语句访问的变量称为( )变量。
24.定义一个函数模板所要用到的第一个修饰符是( )。
25.若正常执行了如下语句: int m[20],*p1=m,*p2=&m[13],n;
n=p2-p1; 则n的值为( )。
26.p为一指针变量,取p所指向单元的数据作为表达式的值,然后使p指向下一个单元的
表达式是( )。
27.p为一指针变量,取p所指向单元的数据作为表达式的值,然后使该单元的数据值增1
的表达式是( )。
28.p为一指针变量,将p所指向单元的数据值增1并作为表达式的值的表达式是( )。
29.p1,p2都是字符指针,p1指向字符串”ABCDEFGIJKLMN”,p2-p1的差为9,则执行语
句cout<<p2;时显示在屏幕上的是( )。
30.通过定义,p成为指向数组X的可用于访问X的元素的指针;已知X的定义是
double X[4][7]; 则p的定义是( )。
二、选择题。
1.下列符号中,不可以作为变量名的是( )。
A、_var B、VAR10 C、_var D、2def
2.执行cout<<123<<endl<<”123”;,屏幕上显示的是( )。
A、123endl”123” B、123endl123
C、123 D、123
“123” 123
3.从定义unsigned var;可以看出,var是一个( )变量。
A、无符号短整形 B、无符号小整形 C、无符号整数 D、无符号长整形
4.下列的常值变量定义中,错误的是( )。
A、const in I=250; B、const char c=67; C、const double d; D、const long ld=567;
5.若x是一个bool型变量,则x && 5<3的值( )。
A、为true B、为false C、与x的值相同 D、与x的值相反
6.若x是一个bool型变量,则x && 5>3的值( )。
A、为true B、为false C、与x的值相同 D、与x的值相反
7.如果用数值来表示条件,则相当于false和true的分别是( )。
A、0和1 B、0和非0 C、1和非1 D、1和-1
8. 要使字符串变量str具有初值”ABCDEFGH”,正确的定义语句是( )。
A、char str[8]={‘A’,’B’,’C’,’D’,’E’,’F’,’G’,’H’}; B、char str[8]=”ABCDEFGH”;
C、char str[]={‘A’,’B’,’C’,’D’,’E’,’F’,’G’,’H’}; D、char str[]=”ABCDEFGH”;
9.每一个形式参数就是一个( )。
A、表达式 B、常量 C、变量 D、函数调用
10.如果一个函数作为表达式被调用,则该函数必须是( )。
A、有返回值的函数 B、无返回值的函数 C、有参函数 D、无参函数
11.#include命令的功能是( )。
A、在命令处插入一个头文件 B、在文件首部插入一个头文件
C、在命令处插入一个文本文件 D、在文件首部插入一个程序文件
12.对于某个函数调用,不用给出被调用函数的原形的情况是( )。
A、被调用函数是无参函数 B、被调用函数是无返回值的函数
C、函数的定义在调用处之前 D、函数的定义在别的程序文件中
13.下列说法中正确的是( )。
A、如果在函数调用处之前已经有了该函数的定义,则不允许再出现该函数的原形。
B、函数原形的作用是提供函数调用所需的接口信息,因此必须位于调用处之前。
C、如果在函数调用处之前已经有了该函数的原形,则该函数的定义必须放在函数调用
处之后,或放在别的程序文件中。
D、函数定义所提供的信息函数原形也能提供。
14.已知函数fp的原形是:int fp(char c,int k=0,char *d=0); 下列调用中正确的是( )。
A、fp(“99”) B、fp(‘A’,4,”ABC”) C、fp(“A”,”ABC”) D、fp()
15.关于局部变量,下列说法正确的是( )。
A、定义该变量的程序文件中的函数都可以访问
B、定义该变量的函数中的定义处以下的任何语句都可以访问
C、定义该变量的复合语句中的定义处以下的任何语句都可以访问
D、局部变量可用于函数之间传递数据
16.关于全局变量,下列说法正确的是( )。
A、任何全局变量都可以被应用系统中任何程序文件中的任何函数访问
B、任何全局变量都只能被定义它的程序文件中的函数访问
C、任何全局变量都只能被定义它的函数中的语句访问
D、全局变量可用于函数之间传递数据
17.不进行初始化即可自动获得初值0的变量包括( )。
A、任何用static修饰的变量 B、任何在函数外定义的变量
C、局部变量和用static修饰的全局变量 D、全局变量和用static修饰的局部变量
18.空指针是指( )。
A、所指向的空间位置未存放任何数据的指针
B、所指向的空间位置存放着数据0的指针
C、所指向的空间位置可用于存放任何类型数据的指针
D、所指向的空间位置就是地址0的指针
19.下列说法正确的是( )。
A、在2000,2001,2002……2007这几个连续的地址单元中可存放8个数据。
B、在2000,2001,2002……2007这几个连续的地址单元中可存放8个字符。
C、在2000,2001,2002……2007这几个连续的地址单元中可存放字符串”ABCDEFGH”。
D、在2000,2001,2002……2007这几个连续的地址单元中可存放8个整数。
20.已知一运行正常的程序中有这样两个语句:int p1,p2=&a; p1=b;
由此可知,变量a和b的类型分别是( )。
A、int和int B、int *和int C、int和int * D、int *和int *
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论