C语言二级往年试卷_第1页
C语言二级往年试卷_第2页
C语言二级往年试卷_第3页
C语言二级往年试卷_第4页
C语言二级往年试卷_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、试卷一20分,每小题1分1 【单选题】下面程序的输出结果是。#include<iostream.h>fun(intx)intp;if(x=0|x=1)return(3);p=x-fun(x-2);returnp;voidmain()cout<<fun(9)<<endl;A) 7B) 9C) 3D) 1参考答案:A2 【单选题】下面程序运行时,若从键盘上输入2.0并回车,则输出结果是#include<iostream.h>voidmain()floatx,y;cin>>x;if(x<0.0)y=0.0;elseif(x<10

2、.0)&&(x!=2.0)y=1.0/(x+2.0);elseif(x<5.0)y=1.0/x;elsey=5.0;cout<<y;A) 0.5B) 1.0C) 0.0D) 0.25参考答案:A3 【单选题】C+源程序文件的默认扩展名为。A) c+B) cppC) ccD) c参考答案:B4 【单选题】下面程序的输出结果是。#include<iostream.h>voidmain()char*p="mop","book","w","sp"inti;for(i=3;i&g

3、t;=0;i-,i-)cout<<*pi;cout<<endl;A) sbB) spbookC) spD) swb参考答案:A5 )【单选题下面定义的共用体类型的长度是字节。unionMyDatalongx;charch;boolflag;floaty;A) 8B) 4C) 2D) 6参考答案:B6 )【单选题以下程序段中的循环体被执行的次数是for(i=4;i;i-=2)for(j=1;j<4;j+);A) 无限多次B) 8C) 6D) 2参考答案:C7)【单选题下面程序的输出结果是。#include<iostream.h>voidmain()int

4、x=2,4,6,8,i;int*p=x;for(i=0;i<4;i+)xi=*p+;cout<<x2<<endl;A) 6B) 4C) 8D) 2参考答案:A8)【单选题C+的字符串"t1026'"中包含个可见的字符。A) 10B) 5C) 4D) 6参考答案:C9)【单选题以下程序段运行时,若从键盘上输入Openthedoor并回车,则输出结果是。charfun(char*c)if(*c<='z'&&*c>='a')*c-='a'-'A'ret

5、urn*c;voidmain()chars81,*p=s;gets(s);while(*p)*p=fun(p);putchar(*p);p+;putchar('n');A) openthedoorB) OPENTHEDOORC) OpenthedoorD) oPENTHEDOOR参考答案:B10)【单选题若有以下程序段,则变量v的值是。intm=1,n=2,v;v=m/n;A) 0B) 1/2C) 0.5D) 1参考答案:A11)【单选题若m和n都是整型变量,且m=3,n=5,则以下语句输出的结果是cout<<(m+=n,n)<<endl;A) 5B)

6、语句格式有错,无输出结果C) 3D) 8,5参考答案:A12)【单选题下面程序的输出结果是。#include<iostream.h>#definesub(x,y)(x)*x+yvoidmain()E) inta=3,b=4;cout<<sub(a+,b+)<<endl;F) 6G) 13H) 21I) 20参考答案B13)【单选题】下面程序的输出结果是#include<iostream.h>voidmain()J) intnum=1;while(num<=2)num+;cout<<num;K) 123L) 23M) 12N) 1

7、参考答案B14)【单选题】下面程序的输出结果是#include<iostream.h>voidmain()intx=0,y=1,a=0,b=0;switch(x)case0:switch(y)case0:a+;break;case1:b+;break;case1:a+;b+;break;cout<<a<<","<<b<<endl;A) 2,1B) a,1C) 1,2D) 1,0参考答案C15)【单选题】若有下面的程序片段inta12=0,*p3,i;for(i=0;i<3;i+)pi=&ai*4;则对

8、数组元素的错误引用是。A) *p0B) p0C) *(*p+0)D) a0参考答案:B16)【单选题下面程序的输出结果是#include<iostream.h>#include<string.h>voidmain()char*x1="abcdef",*x2="ab"x1+;x2+;cout<<strcmp(x1,x2)<<endl;A) -1B) 不确定的值C) 1D) 0参考答案:C3.6 2.4并回车, 则输出结果是17)【单选题下面程序运行时,若从键盘上输入#include<iostream.h

9、>#include<math.h>voidmain()A) 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<<y;B) 2.0C) 1.5D) 1.6E) 2.4参考答案:C18)【单选题下面程序的输出结果是#include<iostream.h>f(inta,intn)inti,x;x=1;for(i=0;i<=n;i+)x=x*ai;returnx;voidmain()inty,x=1,2,3,4,5;y

10、=f(x,3);cout<<y<<endl;A) 120B) 6C) 24D) 12参考答案:C19)【单选题】以下关于函数的说法中,正确的是A) 如果形参与实参类型不一致,以实参类型为准B) 如果函数值的类型与返回值类型不一致,以函数值类型为准C) 形参的类型说明可以放在函数体内,以实参类型为准D) return后边的值不能为表达式参考答案:B20)【单选题】有关类和对象的说法不正确的是。A) 任何一个对象只能属于一个具体的类B) 对象是类的一个实例C) 一个类只能有一个对象D) 类与对象的关系与数据类型和变量的关系相似参考答案:C二、操作题(80分)1、【简单操作题

11、】(注:以下文件均保存在试题盘shitipro4000247文件夹中)打开proj1.cpp,将一维数组按升序排列,请在提示处填上正确的代码,要求:补充语句处只写一条语句。(题分:15分)参考答案:/程序功能:将一维数组按升序排列后输出/注意:请在提示处填上正确的代码,要求:补充语句处只写一条语句#include<iostream.h>voidsort(int*p,intn)inti,j,temp;for(i=0;i<n-1;i+)/外层循环:实现比较的趟数/请在两条星线之间填入相应的代码,内层循环:实现每趟两两比较的次数/*/for(j=1;j<n-i;j+)/*/i

12、f(pj-1>pj)temp=pj-1;/请在两条星线之间填入相应的代码,实现两个数的交换/*/pj-1=pj;/*/pj=temp;voidmain(void)inta16=34,13,22,53,4,46,*pi,i;/请在两条星线之间填入相应的代码,实现指针指向数组/*/pi=a1;/*/sort(pi,6);for(i=0;i<6;i+)cout<<a1i<<'t'2、cout<<endl;(注:以下文件均保存在试题盘shitipro4000248文件夹中)打开proj2.cpp,编写Count函数,计算个人所得税,月收入

13、的5000元以上部分需缴纳20%的税,800元以上5000元之间部分需缴纳3%的税,800元以下的部分免税。在两条星线之间填入相应的代码,使程序完成该功能。(题分:20分)参考答案:/编写代码完成Count函数功能:计算个人所得税,并使用return语句把结果返回主函数。例如,小张月收入为6000元,则她需缴税(60005000)X20%+(5000-800)X3%=326元。/注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。补充语句不限一句,可多句。#include<iostream.h>doubleCount(floattemf)/请在两条星线之间填入相应的代码,完

14、成应缴税款的计算/*/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<<"应缴税:"<<tax<<endl;3、【简单操作题】(注:以下文件均保存在试题

15、盘shitipro4000249文件夹中)打开proj3.cpp,输入一行字符串,要求将每个单词中的第一个字母改成大写字母(如果已经是大写则不变)。(提示:读一行字符用cin.getline()。)(题分:20分)参考答案:/程序功能:输入一行字符串,要求将每个单词中的第一个字母改成大写字母(如果已经是大写则不变)/注意:补充语句不限一句,可多句。/提示:读一行字符用cin.getline()#include<iostream.h>#include<ctype.h>voidmain()charstr100,*p=str;intk=0;/k为新单词标识,若为新单词k为0,

16、否则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<<"结果:"<<str<<'n'4、/*/(注:以下文件均保存在试题盘shitipro4000250文件夹中)已知一个源程序文件proj4

17、.cpp,其中定义了学生类Student,但类Student的定义并不完整,请按要求完成下列操作,将类Student的定义补充完整:(1)定义私有数据成员Chinesemath和english分别用于表示语文、数学和英语的成绩,它们都是float型的数据。(2)完成学生类Student的构造函数的定义,把数据成员Chinesemath和english分别初始化为参数C,m,e的值。(3)完成成员函数sum的类定义,求Student对象的总分并输出到屏幕上。(4)完成成员函数average的类定义,求Student对象的平均分并输出到屏幕上。精选 word程序运行结果如下图所示。(题分:25分)

18、总分箱平均分:”/667Press日nykeytocontinue参考答案:,补充语句不限一句,可/注意:除在指定位置添加语句之外,请不要改动程序中的其他内容多句#include<iostream.h>classStudentpublic:Student(intc,intm,inte)/请在两条星线之间填入相应的代码/补充完成学生类Student的构造函数的定义,把数据成员Chinesemath和english分另1J初始化为参数c,m,e的值/*/chinese=(float)c;math=(float)m;english=(float)e;/*/voidsum()/请在两条星线之间填入相应的代码/补充完成成员函数sum的定义,求Student对象的总分并输出到屏幕上/*/floatsum;sum=chinese+math+english;cout<<"总分:"<<sum<<endl;/*/voidaverage。;private:/请在两条星线之间填入相应的代码/定义私有数据成员chinesemath和english分别用于表示语文、数学和英语的成绩它们都是float型的数据/*/flo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论