B) 语句格式有错,⽆输出结果C) 3D) 8,5参考答案:A(12)【单选题】下⾯程序的输出结果是_________。#include
#define sub(x,y) (x)*x+yvoid main(){ int a=3,b=4;cout<}A) 6B) 13C) 21D) 20参考答案:B
(13)【单选题】下⾯程序的输出结果是_________。#includevoid main(){ int num=1;
while(num<=2){num++;cout<}A) 123B) 23C) 12D) 1参考答案:B
(14)【单选题】下⾯程序的输出结果是_________。#includevoid main()
{ int x=0,y=1,a=0,b=0;switch(x){ case 0:switch(y)
{ case 0:a++;break;case 1:b++;break;}case 1:a++;b++;break;}cout<}A) 2,1B) a,1C) 1,2D) 1,0参考答案:C
(15)【单选题】若有下⾯的程序⽚段:int a[12]={0},*p[3],i;for(i=0;i<3;i++) p[i]=&a[i*4];
则对数组元素的错误引⽤是_________。B) p[0]C) *(*p+0)D) a[0]
参考答案:B
(16)【单选题】下⾯程序的输出结果是_________。#include#includevoid main()
{ char *x1=\"abcdef\x1++;x2++;cout<}A) -1
B) 不确定的值C) 1D) 0参考答案:C
(17)【单选题】下⾯程序运⾏时,若从键盘上输⼊3.6 2.4并回车,则输出结果是_________。#include#includevoid 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<}A) 2.0B) 1.5C) 1.6D) 2.4参考答案:C
(18)【单选题】下⾯程序的输出结果是_________。#includef(int a[ ],int n)
{ int i,x;x=1;
for(i=0;i<=n;i++) x=x*a[i];return x;}
{ int y,x[ ]={1,2,3,4,5};y=f(x,3);cout<}A) 120B) 6C) 24D) 12参考答案:C
(19)【单选题】以下关于函数的说法中,正确的是_________。A) 如果形参与实参类型不⼀致,以实参类型为准
B) 如果函数值的类型与返回值类型不⼀致,以函数值类型为准C) 形参的类型说明可以放在函数体内,以实参类型为准D) return后边的值不能为表达式参考答案:B
(20)【单选题】有关类和对象的说法不正确的是_________。A) 任何⼀个对象只能属于⼀个具体的类B) 对象是类的⼀个实例C) ⼀个类只能有⼀个对象
D) 类与对象的关系与数据类型和变量的关系相似参考答案:C⼆、操作题(80分)
1、【简单操作题】(注:以下⽂件均保存在试题盘shiti\\pro\\4000247⽂件夹中)打开proj1.cpp,将⼀维数组按升序排列,请在提⽰处填上正确的代码,要求:补充语句处只写⼀条语句。(题分:15分)参考答案:
//程序功能:将⼀维数组按升序排列后输出
//注意:请在提⽰处填上正确的代码,要求:补充语句处只写⼀条语句#include
void sort ( int *p,int n){ int i,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;}}
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++) cout2、【简单应⽤题】(注:以下⽂件均保存在试题盘shiti\\pro\\4000248⽂件夹中)打开proj2.cpp,编写Count函数,计算个⼈所得税,⽉收⼊的5000元以上部分需缴纳20%的税,800元以上5000元之间部分需缴纳3%的税,800元以下的部分免税。在两条星线之间填⼊相应的代码,使程序完成该功能。(题分:20分)参考答案://编写代码完成Count函数功能:计算个⼈所得税,并使⽤return语句把结果返回主函数。//例如,⼩张⽉收⼊为6000元,则她需缴税(6000-5000)×20%+(5000-800)×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;else tax=0;return tax;
/************************************************/}
void main(){
float tax,income;
cout<<\"请输⼊你的收⼊:\";cin>>income;tax=Count(income);cout<<\"应缴税:\"<}
3、【简单操作题】(注:以下⽂件均保存在试题盘shiti\\pro\\4000249⽂件夹中)打开proj3.cpp,输⼊⼀⾏字符串,要求将每个单词中的第⼀个字母改成⼤写字母(如果已经是⼤写则不变)。(提⽰:读⼀⾏字符⽤cin.getline()。)(题分:20分)参考答案:
//程序功能:输⼊⼀⾏字符串,要求将每个单词中的第⼀个字母改成⼤写字母(如果已经是⼤写则不变)//注意:补充语句不限⼀句,可多句。//提⽰:读⼀⾏字符⽤cin.getline( )#include#includevoid main(){
char str[100],*p=str;int k=0;
//k为新单词标识,若为新单词k为0,否则k为1
//请在两条星线之间填⼊相应的代码(必须使⽤while循环语句)/******************************************/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<<\"结果:\"<
/******************************************/}
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分)
参考答案:
//注意:除在指定位置添加语句之外,请不要改动程序中的其他内容,补充语句不限⼀句,可多句#includeclass Student{public:
Student(int c,int m,int e){
//请在两条星线之间填⼊相应的代码
//补充完成学⽣类Student的构造函数的定义, 把数据成员chinese、math和english 分别初始化为参数c,m,e的值/***********************************************************************/ chinese=(float)c;math=(float)m;english=(float)e;
/***********************************************************************/ }void sum(){
//请在两条星线之间填⼊相应的代码
//补充完成成员函数sum的定义,求Student对象的总分并输出到屏幕上
/***********************************************************************/ float sum;sum=chinese+math+english;cout<<\"总分:\"<
/***********************************************************************/ }void average();private:
//请在两条星线之间填⼊相应的代码
//定义私有数据成员chinese、math和english分别⽤于表⽰语⽂、数学和英语的成绩,它们都是float型的数据/***********************************************************************/ float chinese,math,english;/***********************************************************************/ };//请在两条星线之间填⼊相应的代码
//完成成员函数average的类外定义,求Student对象的平均分并输出到屏幕上
/***********************************************************************/ void Student::average(){float avg;
avg=(chinese+math+english)/3;cout<<\"平均分:\"<}
/***********************************************************************/ int main(){
Student stud(65.3,78,90);stud.sum();stud.average();return 0;}