}
A)2,1
B)a,1
C)1,2
D)1,0
参考答案:
C
(15)【单选题】若有下面的程序片段:
inta[12]={0},*p[3],i;
for(i=0;i<3;i++)p[i]=&a[i*4];
则对数组元素的错误引用是_________。
A)*p[0]
B)p[0]
C)*(*p+0)
D)a[0]
参考答案:
B
(16)【单选题】下面程序的输出结果是_________。
#include
#include
voidmain()
{char*x1="abcdef",*x2="ab";
x1++;x2++;
cout<}
A)-1
B)不确定的值
C)1
D)0
参考答案:
C
(17)【单选题】下面程序运行时,若从键盘上输入3.62.4并回车,则输出结果是_________。
#include
#include
voidmain()
{floatx,y,z;
cin>>x>>y;
z=x/y;
while
(1)
{if(fabs(z)>1.0){x=y;y=z;z=x/y;}
elsebreak;
}
cout<}
A)2.0
B)1.5
C)1.6
D)2.4
参考答案:
C
(18)【单选题】下面程序的输出结果是_________。
#include
f(inta[],intn)
{inti,x;
x=1;
for(i=0;i<=n;i++)x=x*a[i];
returnx;
}
voidmain()
{inty,x[]={1,2,3,4,5};
y=f(x,3);
cout<}
A)120
B)6
C)24
D)12
参考答案:
C
(19)【单选题】以下关于函数的说法中,正确的是_________。
A)如果形参与实参类型不一致,以实参类型为准
B)如果函数值的类型与返回值类型不一致,以函数值类型为准
C)形参的类型说明可以放在函数体内,以实参类型为准
D)return后边的值不能为表达式
参考答案:
B
(20)【单选题】有关类和对象的说法不正确的是_________。
A)任何一个对象只能属于一个具体的类
B)对象是类的一个实例
C)一个类只能有一个对象
D)类与对象的关系与数据类型和变量的关系相似
参考答案:
C
二、操作题(80分)
1、【简单操作题】(注:
以下文件均保存在试题盘shiti\pro\4000247文件夹中)打开proj1.cpp,将一维数组按升序排列,请在提示处填上正确的代码,要求:
补充语句处只写一条语句。
(题分:
15分)
参考答案:
//程序功能:
将一维数组按升序排列后输出
//注意:
请在提示处填上正确的代码,要求:
补充语句处只写一条语句
#include
voidsort(int*p,intn)
{inti,j,temp;
for(i=0;i实现比较的趟数
//请在两条星线之间填入相应的代码,内层循环:
实现每趟两两比较的次数
/**************************************************/
for(j=1;j/***************************************************/
if(p[j-1]>p[j])
{
temp=p[j-1];
//请在两条星线之间填入相应的代码,实现两个数的交换
/**************************************************/
p[j-1]=p[j];
/***************************************************/
p[j]=temp;
}
}
voidmain(void)
{
inta1[6]={34,13,22,53,4,46},*pi,i;
//请在两条星线之间填入相应的代码,实现指针指向数组
/**************************************************/
pi=a1;
/***************************************************/
sort(pi,6);
for(i=0;i<6;i++)cout<cout<}
2、【简单应用题】(注:
以下文件均保存在试题盘shiti\pro\4000248文件夹中)打开proj2.cpp,编写Count函数,计算个人所得税,月收入的5000元以上部分需缴纳20%的税,800元以上5000元之间部分需缴纳3%的税,800元以下的部分免税。
在两条星线之间填入相应的代码,使程序完成该功能。
(题分:
20分)
参考答案:
//编写代码完成Count函数功能:
计算个人所得税,并使用return语句把结果返回主函数。
//例如,小张月收入为6000元,则她需缴税(6000-5000)×20%+(5000-800)×3%=326元。
//注意:
除在指定位置添加语句之外,请不要改动程序中的其他内容。
补充语句不限一句,可多句。
#include
doubleCount(floattemf)
{
//请在两条星线之间填入相应的代码,完成应缴税款的计算
/***********************************************/
inttax;
if(temf>5000)tax=(temf-5000)*0.2+(5000-800)*0.03;
elseif(temf>800)tax=(temf-800)*0.03;
elsetax=0;
returntax;
/************************************************/
}
voidmain()
{
floattax,income;
cout<<"请输入你的收入:
";
cin>>income;
tax=Count(income);
cout<<"应缴税:
"<}
3、【简单操作题】(注:
以下文件均保存在试题盘shiti\pro\4000249文件夹中)打开proj3.cpp,输入一行字符串,要求将每个单词中的第一个字母改成大写字母(如果已经是大写则不变)。
(提示:
读一行字符用cin.getline()。
)(题分:
20分)
参考答案:
//程序功能:
输入一行字符串,要求将每个单词中的第一个字母改成大写字母(如果已经是大写则不变)
//注意:
补充语句不限一句,可多句。
//提示:
读一行字符用cin.getline()
#include
#include
voidmain()
{
charstr[100],*p=str;
intk=0;
//k为新单词标识,若为新单词k为0,否则k为1
//请在两条星线之间填入相应的代码(必须使用while循环语句)
/******************************************/
cin.getline(p,100,'\n');
while(*p!
='\n')
{
if(*p=='')k=0;
elseif(k==0)
{
if(*p>='a'&&*p<='z')*p=*p-32;
k=1;
}
p++;
}
cout<<"结果:
"</******************************************/
}
4、【简单操作题】(注:
以下文件均保存在试题盘shiti\pro\4000250文件夹中)已知一个源程序文件proj4.cpp,其中定义了学生类Student,但类Student的定义并不完整,请按要求完成下列操作,将类Student的定义补充完整:
(1)定义私有数据成员chinese、math和english分别用于表示语文、数学和英语的成绩,它们都是float型的数据。
(2)完成学生类Student的构造函数的定义,把数据成员chinese、math和english分别初始化为参数c,m,e的值。
(3)完成成员函数sum的类定义,求Student对象的总分并输出到屏幕上。
(4)完成成员函数average的类定义,求Student对象的平均分并输出到屏幕上。
程序运行结果如下图所示。
(题分:
25分)
参考答案:
//注意:
除在指定位置添加语句之外,请不要改动程序中的其他内容,补充语句不限一句,可多句
#include
classStudent
{
public:
Student(intc,intm,inte)
{
//请在两条星线之间填入相应的代码
//补充完成学生类Student的构造函数的定义,把数据成员chinese、math和english分别初始化为参数c,m,e的值
/***********************************************************************/
chinese=(float)c;
math=(float)m;
english=(float)e;
/***********************************************************************/
}
voidsum()
{
//请在两条星线之间填入相应的代码
//补充完成成员函数sum的定义,求Student对象的总分并输出到屏幕上
/***********************************************************************/
floatsum;
sum=chinese+math+english;
cout<<"总分:
"</***********************************************************************/
}
voidaverage();
private:
//请在两条星线之间填入相应的代码
//定义私有数据成员chinese、math和english分别用于表示语文、数学和英语的成绩,它们都是float型的数据
/***********************************************************************/
floatchinese,math,english;
/***********************************************************************/
};
//请在两条星线之间填入相应的代码
//完成成员函数average的类外定义,求Student对象的平均分并输出到屏幕上
/***********************************************************************/
voidStudent:
:
average()
{
floatavg;
avg=(chinese+math+english)/3;
cout<<"平均分:
"<}
/***********************************************************************/
intmain()
{
Studentstud(65.3,78,90);
stud.sum();
stud.average();
return0;
}