最新电大C语言程序设计课程期末针对性训练试题及答案参考知识点复习考点归纳总结Word文件下载.docx
《最新电大C语言程序设计课程期末针对性训练试题及答案参考知识点复习考点归纳总结Word文件下载.docx》由会员分享,可在线阅读,更多相关《最新电大C语言程序设计课程期末针对性训练试题及答案参考知识点复习考点归纳总结Word文件下载.docx(21页珍藏版)》请在冰豆网上搜索。
4.假定p是一个指向float型数据的指针,则p+1所指数据的地址比p所指数据的地址大(C)个字节。
A.1B.2C.4D.8
5.枚举类型中的每个枚举常量的值都是一个(A)。
A.整数B.浮点数C.字符D.逻辑值
6.循环体至少被执行一次的语句为(C)语句。
A.for循环B.while循环C.do循环D.任一种循环
7.在下面的字符数组定义中,(D)语句有语法错误。
A.chara[20]=”abcdefg”;
B.chara[]=”x+y=55.”;
C.chara[15]={’1’,’2’};
D.chara[10]=’5’;
8.若用数组名作为函数调用的实参,传递给形参的是(A)。
A.数组的首地址B.数组中第一个元素的值
C.数组全部元素的值D.数组元素的个数
9.假定AB为一个类,则执行“ABa(4),b[5],*p[2];
”语句时,自动调用该类构造函数的次数为(A)。
A.6B.7C.9D.11
10.当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为(D)。
A.ios:
:
inB.ios:
outC.ios:
in|ios:
outD.没有
二、填空题(每小题2分,共20分)
1.若需要定义一个标识符常量,并且使C++能够进行类型检查,则应在定义语句的开始使用保留字__const__。
2.算术表达式
对应的C++表达式为_(x*y*y)/(3*a)+4*b-1_。
y&
x!
=10的相反表达式为__x<
=y||x==10__。
4.每个字符指针变量占用内存__4____个字节。
5.执行“typedefintDataType;
”语句后,在使用int定义整型变量的地方都可以使用标识符___DataType_______来定义整型变量。
6.对于在所有函数定义之外定义的变量,若没有被初始化则系统隐含对它赋予的初值为___0_____。
7.假定p所指对象的值为25,p+1所指对象的值为46,则执行“*(p++);
”语句后,p所指对象的值为___46_____。
8.假定一个结构类型的定义为“structA{inta;
double*b;
A*c;
};
”,则该类型的大小为____12___字节。
9.假定一维数组的定义为“inta[8];
”,则该数组所含元素的个数为_____8___。
10.若while循环语句的开始为”while(i++<
=10)”,若i的初值为0,同时在循环体中不会修改i的值,则其循环体将被重复执行____11______次后正常结束。
三、写出下列每个程序运行后的输出结果(每小题6分,共30分)
1.#include<
iostream.h>
voidmain(){
ints1=0,s2=1;
for(inti=1;
i<
=6;
i++){s1+=i;
s2*=i;
}
cout<
<
s1<
'
'
s2<
endl;
}
输出结果:
21,720
2.#include<
inta[10]={68,79,86,65,46,94,37,78,60,53};
intc=0;
for(inti=0;
i<
10;
i++)
if(a[i]>
=60)c++;
”c=”<
c<
c=7
3.#include<
inta[3][4]={{1,2,7,8},{5,6,11,15},{9,20,3,4}};
intm=a[0][0];
3;
for(intj=0;
j<
4;
j++)
if(a[i][j]>
m)m=a[i][j];
m<
20
4.#include<
inta=10,b=15;
a<
'
b<
;
{a*=3;
intb=a+20;
101530503015
5.#include<
inta[8]={6,19,4,12,20,5,18,25};
int*p=a;
for(p=a;
p<
a+8;
p++)
if(*p<
10)cout<
*p<
’‘;
645
四、写出下列每个函数的功能(每小题8分,共24分)
1.boolWB(inta[],intn,intx){
n;
if(a[i]==x)returntrue;
returnfalse;
}
函数功能:
从数组a中顺序查找值为x的元素,若查找成功则返回真,否则返回假。
2.intLJ(inta[],intn){
intk=0;
i++)
a[k])k=i;
returna[k];
求出数组a中n个元素的最大值并返回。
3.假定结构类型Dnode中的data域为结点值域,next域为结点指针域。
DNode*QB(intn)
{
if(n==0){returnNULL;
DNode*f=newDNode;
cin>
>
f->
data;
DNode*p=f;
while(--n){
p=p->
next=newDNode;
p->
p->
next=NULL;
returnf;
建立一个具有n个结点的链表,每个结点的值依次由键盘输入,该函数返回其表头指针。
五、按题目要求编写程序(6分)
已知6≤a≤30、15≤b≤36,求出满足不定方程2a+5b=126的全部整数组解。
如(13,20)就是其中的一组解,并按此格式输出每组解。
答:
#include<
voidmain()
inta,b;
for(a=6;
=30;
a++)
for(b=15;
=36;
b++)
if(2*a+5*b==126)cout<
('
)'
训练第二套
1.枚举类型中的每个枚举常量的值都是一个(A)值。
A.整数B.浮点数C.字符D.逻辑
2.设x和y均为bool量,则逻辑表达式x||y为假的条件是(C)。
A.它们均为真B.其中一个为真
C.它们均为假D.其中一个为假
3.声明或定义一个内联函数时,必须在函数开始使用保留字(D)。
A.staticB.constC.externD.inline
4.在下面的函数声明中,存在着语法错误的是(D)。
A.BC(inta,int);
B.BC(int,int);
C.BC(int,int=5);
D.BC(intx;
inty);
5.假定a为一个整型数组名,则元素a[4]与(C)的表示等价。
A.a+4B.*a+4C.*(a+4)D.*(a+16)
6.下面循环语句执行结束后输出的i值为(B)的值。
i++)if(i>
n/2){cout<
break;
A.n/2B.n/2+1C.n-1D.n
7.将两个字符串连接起来组成一个字符串时,选用(C)函数。
A.strlen()B.strcpy()C.strcat()D.strcmp()
8.预处理命令在程序中都是以(B)字符开头的。
A.*B.#C.&
D.@
9.假定有定义“structBOOK{chartitle[40];
floatprice;
”,则不正确的变量定义语句为(D)。
A.BOOKx;
;
B.BOOKx={"
C++Programming"
27.0};
C.BOOK*x=newBOOK;
D.BOOKx=newBOOK;
10.假定AB为一个类,px为指向该类动态对象数组的指针,该数组长度为n,则执行“delete[]px;
”语句时,自动调用该类析构函数的次数为(B)。
A.1B.nC.n-1D.n+1
1.已知'
A'
Z'
的ASCII码为6590,当执行“charch=14*4+12;
cout<
ch;
”语句序列后,得到的输出结果为___D_____。
2.double类型的长度为____8____。
3.表达式x=x+1表示成增量表达式为_____++x_____。
4.逻辑表达式a<
=b||b==15的相反表达式为____a>
b&
b!
=15____。
5.假定一个二维数组的定义为“char*a[5][4];
”,则该数组所含元素的个数为____20____,所占存储空间的字节数为___80_____。
6.当函数中的___局部____变量没有被赋初值时,它的值是不确定的。
7.假定一个结构类型的定义为“structA{doublea,b;
”,则该类型的大小为___20_____字节。
8.假定要访问一个结构指针p所指对象中的数据成员data,则表示方法为_p->
data_。
9.假定用户没有给一个名为AB的类定义构造函数,则系统为其隐含定义的构造函数为AB(){}_。
10.当在程序中执行到break语句时,就立即结束本层循环类语句或switch语句的执行。
ints=0;
=8;
i=+2)
s+=i*i;
c