10、a[i*4];
则对数组元素的错误引用是_________。
A) *p[0]
B) p[0]
C) *(*p+0)
D) a[0]
参考答案:B
(16)【单选题】下面程序的输出结果是_________。
#include
#include
void main()
{ char *x1="abcdef",*x2="ab";
x1++;x2++;
cout<11、下面程序运行时,若从键盘上输入3.6 2.4并回车,则输出结果是_________。
#include
#include
void main()
{ float x,y,z;
cin>>x>>y;
z=x/y;
while(1)
{ if(fabs(z)>1.0){x=y;y=z;z=x/y;}
else break;
}
cout<12、是_________。
#include
f(int a[ ],int n)
{ int i,x;
x=1;
精选word
.
for(i=0;i<=n;i++) x=x*a[i];
return x;
}
void main()
{ int y,x[ ]={1,2,3,4,5};
y=f(x,3);
cout<13、与实参类型不一致,以实参类型为准
B) 如果函数值的类型与返回值类型不一致,以函数值类型为准
C) 形参的类型说明可以放在函数体内,以实参类型为准
D) return后边的值不能为表达式
参考答案:B
(20)【单选题】有关类和对象的说法不正确的是_________。
A) 任何一个对象只能属于一个具体的类
B) 对象是类的一个实例
C) 一个类只能有一个对象
D) 类与对象的关系与数据类型和变量的关系相似
参考答案:C
二、操作题(80分)
1、【简单操作题】(注:以下文件均保存在试题盘shiti\pro\4000247文件夹中)打开proj1.cpp,将一维数组按升
14、序排列,请在提示处填上正确的代码,要求:补充语句处只写一条语句。(题分:15分)
参考答案:
//程序功能:将一维数组按升序排列后输出
//注意:请在提示处填上正确的代码,要求:补充语句处只写一条语句
#include
void sort ( int *p,int n)
{ int i,j,temp;
for (i=0;i15、/
for(j=1;jp[j])
{
temp=p[j-1];
精选word
.
//请在两条星线之间填入相应的代码,实现两个数的交换
/**************************************************/
p[j-1]=p[j];
/**********************************************
16、/
p[j]=temp;
}
}
void main( void)
{
int a1[6]={34,13,22,53,4,46},*pi,i;
//请在两条星线之间填入相应的代码,实现指针指向数组
/**************************************************/
pi=a1;
/***************************************************/
sort (pi,6) ;
for (i=0;i<6;i++) cout<17、[i]<<'\t';
cout<18、×3%=326元。
//注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。补充语句不限一句,可多句。
#include
double Count(float temf)
{
//请在两条星线之间填入相应的代码,完成应缴税款的计算
/***********************************************/
int tax;
if(temf>5000)tax=(temf-5000)*0.2+(5000-800)*0.03;
else if(temf>800)tax=(temf-800)*0.03;
els
19、e tax=0;
return tax;
/************************************************/
}
void main()
{
float tax,income;
cout<<"请输入你的收入:";
精选word
.
cin>>income;
tax=Count(income);
cout<<"应缴税:"<20、果已经是大写则不变)。(提示:读一行字符用cin.getline()。)(题分:20分)
参考答案:
//程序功能:输入一行字符串,要求将每个单词中的第一个字母改成大写字母(如果已经是大写则不变)
//注意:补充语句不限一句,可多句。
//提示:读一行字符用cin.getline( )
#include
#include
void main()
{
char str[100],*p=str;
int k=0;
//k为新单词标识,若为新单词k为0,否则k为1
//请在两条星线之间填入相应的代码(必须使用while
21、循环语句)
/******************************************/
cin.getline(p,100,'\n');
while(*p!='\n')
{
if(*p==' ')k=0;
else if(k==0)
{
if(*p>='a' && *p<='z')*p=*p-32;
k=1;
}
p++;
}
cout<<"结果:"<22、存在试题盘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的类定
23、义,求Student对象的平均分并输出到屏幕上。
精选word
.
程序运行结果如下图所示。(题分:25分)
参考答案:
//注意:除在指定位置添加语句之外,请不要改动程序中的其他内容,补充语句不限一句,可多句
#include
class Student
{
public:
Student(int c,int m,int e)
{
//请在两条星线之间填入相应的代码
//补充完成学生类Student的构造函数的定义, 把数据成员chinese、math和english分别初始化为参数c,m,e的值
/******
24、/
chinese=(float)c;
math=(float)m;
english=(float)e;
/***********************************************************************/
}
void sum()
{
//请在两条星线之间填入相应的代码
//补充完成成员函数sum的定义,求Student对象的总分并输出到屏幕上
/*********
25、/
float sum;
sum=chinese+math+english;
cout<<"总分:"<26、别用于表示语文、数学和英语的成绩,它们都是float型的数据
/***********************************************************************/
float chinese,math,english;
/***********************************************************************/
};
//请在两条星线之间填入相应的代码
//完成成员函数average的类外定义,求Student对象的平均分并输出到屏幕上
精选word
.
/*****
27、/
void Student::average()
{
float avg;
avg=(chinese+math+english)/3;
cout<<"平均分:"<