1、.试卷一一、理论题(20分,每小题1分)(1)【单选题】下面程序的输出结果是_。#include fun(int x) int p; if(x=0|x=1) return(3); p=x-fun(x-2); return p;void main()coutfun(9)endl;A) 7B) 9C) 3D) 1参考答案:A(2)【单选题】下面程序运行时,若从键盘上输入2.0并回车,则输出结果是_。#include void main() float x,y;cinx;if(x0.0) y=0.0;else if(x10.0)&(x!=2.0)y=1.0/(x+2.0);else if(x5.0)
2、 y=1.0/x;else y=5.0;couty;A) 0.5B) 1.0C) 0.0D) 0.25参考答案:A(3)【单选题】C+源程序文件的默认扩展名为_。A) c+B) cppC) ccD) c参考答案:B(4)【单选题】下面程序的输出结果是_。精选word.#include void main() char *p =mop,book,w,sp; int i; for(i=3;i=0;i-,i-) cout*pi; coutendl;A) sbB) spbookC) spD) swb参考答案:A(5)【单选题】下面定义的共用体类型的长度是_字节。union MyData long x;
3、 char ch; bool flag; float y;A) 8B) 4C) 2D) 6参考答案:B(6)【单选题】以下程序段中的循环体被执行的次数是_。for(i=4;i;i-=2) for(j=1;j4;j+) ;A) 无限多次B) 8C) 6D) 2参考答案:C(7)【单选题】下面程序的输出结果是_。#include void main() int x =2,4,6,8,i; int *p=x; for(i=0;i4;i+) xi=*p+; coutx2endl;A) 6B) 4C) 8精选word.D) 2参考答案:A(8)【单选题】C+的字符串t1026中包含_个可见的字符。A)
4、10B) 5C) 4D) 6参考答案:C(9)【单选题】以下程序段运行时,若从键盘上输入Open the door并回车,则输出结果是_。char fun(char *c) if(*c=a) *c-=a-A; return *c;void main() char s81,*p=s; gets(s); while(*p) *p=fun(p);putchar(*p);p+; putchar(n);A) open the doorB) OPEN THE DOORC) Open the doorD) oPEN THE DOOR参考答案:B(10)【单选题】若有以下程序段,则变量v的值是_。int m=
5、1,n=2,v;v=m/n;A) 0B) 1/2C) 0.5D) 1参考答案:A(11)【单选题】若m和n都是整型变量,且m=3,n=5,则以下语句输出的结果是_。cout(m+=n,n)endl;A) 5B) 语句格式有错,无输出结果C) 3D) 8,5参考答案:A(12)【单选题】下面程序的输出结果是_。#include 精选word.#define sub(x,y) (x)*x+yvoid main() int a=3,b=4; coutsub(a+,b+)endl;A) 6B) 13C) 21D) 20参考答案:B(13)【单选题】下面程序的输出结果是_。#include void m
6、ain() int num=1; while(num=2) num+;coutnum;A) 123B) 23C) 12D) 1参考答案:B(14)【单选题】下面程序的输出结果是_。#include void 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; couta,bendl;A) 2,1B) a,1C) 1,2D) 1,0参考答案:C(15)【单选题】若有下面的程序片段: int a12=0,*p3,i;精选word.
7、for(i=0;i3;i+) pi=&ai*4;则对数组元素的错误引用是_。A) *p0B) p0C) *(*p+0)D) a0参考答案:B(16)【单选题】下面程序的输出结果是_。#include #include void main() char *x1=abcdef,*x2=ab; x1+;x2+; coutstrcmp(x1,x2)endl;A) -1B) 不确定的值C) 1D) 0参考答案:C(17)【单选题】下面程序运行时,若从键盘上输入3.6 2.4并回车,则输出结果是_。#include #include void main() float x,y,z; cinxy; z=x/
8、y; while(1) if(fabs(z)1.0)x=y;y=z;z=x/y; else break; couty;A) 2.0B) 1.5C) 1.6D) 2.4参考答案:C(18)【单选题】下面程序的输出结果是_。#include f(int a ,int n) int i,x; x=1;精选word. for(i=0;i=n;i+) x=x*ai; return x;void main() int y,x =1,2,3,4,5; y=f(x,3); coutyendl;A) 120B) 6C) 24D) 12参考答案:C(19)【单选题】以下关于函数的说法中,正确的是_。A) 如果形参
9、与实参类型不一致,以实参类型为准B) 如果函数值的类型与返回值类型不一致,以函数值类型为准C) 形参的类型说明可以放在函数体内,以实参类型为准D) return后边的值不能为表达式参考答案:B(20)【单选题】有关类和对象的说法不正确的是_。A) 任何一个对象只能属于一个具体的类B) 对象是类的一个实例C) 一个类只能有一个对象D) 类与对象的关系与数据类型和变量的关系相似参考答案:C二、操作题(80分)1、【简单操作题】(注:以下文件均保存在试题盘shitipro4000247文件夹中)打开proj1.cpp,将一维数组按升序排列,请在提示处填上正确的代码,要求:补充语句处只写一条语句。(题
10、分:15分)参考答案:/程序功能:将一维数组按升序排列后输出/注意:请在提示处填上正确的代码,要求:补充语句处只写一条语句#include void sort ( int *p,int n) int i,j,temp; for (i=0;in-1;i+)/外层循环:实现比较的趟数/请在两条星线之间填入相应的代码,内层循环:实现每趟两两比较的次数/*/for(j=1;jpj) temp=pj-1;精选word./请在两条星线之间填入相应的代码,实现两个数的交换/*/pj-1=pj;/*/ pj=temp; void main( void) int a16=34,13,22,53,4,46,*pi
11、,i;/请在两条星线之间填入相应的代码,实现指针指向数组/*/pi=a1;/*/ sort (pi,6) ; for (i=0;i6;i+) couta1it; coutendl;2、【简单应用题】(注:以下文件均保存在试题盘shitipro4000248文件夹中)打开proj2.cpp,编写Count函数,计算个人所得税,月收入的5000元以上部分需缴纳20%的税,800元以上5000元之间部分需缴纳3%的税,800元以下的部分免税。在两条星线之间填入相应的代码,使程序完成该功能。(题分:20分)参考答案:/编写代码完成Count函数功能:计算个人所得税,并使用return语句把结果返回主函
12、数。/例如,小张月收入为6000元,则她需缴税(60005000)20%(5000-800)3%326元。/注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。补充语句不限一句,可多句。#include double Count(float temf) /请在两条星线之间填入相应的代码,完成应缴税款的计算/*/int tax;if(temf5000)tax=(temf-5000)*0.2+(5000-800)*0.03;else if(temf800)tax=(temf-800)*0.03;else tax=0;return tax;/*/void main()float tax,in
13、come;coutincome;tax=Count(income);cout应缴税:taxendl;3、【简单操作题】(注:以下文件均保存在试题盘shitipro4000249文件夹中)打开proj3.cpp,输入一行字符串,要求将每个单词中的第一个字母改成大写字母(如果已经是大写则不变)。(提示:读一行字符用cin.getline()。)(题分:20分)参考答案:/程序功能:输入一行字符串,要求将每个单词中的第一个字母改成大写字母(如果已经是大写则不变)/注意:补充语句不限一句,可多句。/提示:读一行字符用cin.getline( ) #include #include void main(
14、) char str100,*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结果:strn;/*/4、【简单操作题】(注:以下文件均保存在试题盘shitipro4000250文件夹中)已知一个源程序文件proj4.cpp,其中定义了学生类Student,但类Student的定义并不完整,请按要求完成下列操作,将类Stu
15、dent的定义补充完整:(1)定义私有数据成员chinese、math和english分别用于表示语文、数学和英语的成绩,它们都是float型的数据。(2)完成学生类Student的构造函数的定义,把数据成员chinese、math和english分别初始化为参数c,m,e的值。(3)完成成员函数sum的类定义,求Student对象的总分并输出到屏幕上。(4)完成成员函数average的类定义,求Student对象的平均分并输出到屏幕上。精选word.程序运行结果如下图所示。(题分:25分)参考答案:/注意:除在指定位置添加语句之外,请不要改动程序中的其他内容,补充语句不限一句,可多句#inc
16、lude class 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总分:su
17、mendl;/*/void average(); private: /请在两条星线之间填入相应的代码 /定义私有数据成员chinese、math和english分别用于表示语文、数学和英语的成绩,它们都是float型的数据/*/float chinese,math,english;/*/; /请在两条星线之间填入相应的代码 /完成成员函数average的类外定义,求Student对象的平均分并输出到屏幕上精选word./*/void Student:average()float avg;avg=(chinese+math+english)/3;cout平均分:avgendl; /*/int main() Student stud(65.3,78,90); stud.sum();stud.average();return 0;感谢您的支持与配合,我们会努力把内容做得更好!精选word