收藏 分销(赏)

C语言二级往年试卷.doc

上传人:精**** 文档编号:1785523 上传时间:2024-05-09 格式:DOC 页数:10 大小:66KB 下载积分:8 金币
下载 相关 举报
C语言二级往年试卷.doc_第1页
第1页 / 共10页
C语言二级往年试卷.doc_第2页
第2页 / 共10页


点击查看更多>>
资源描述
. 试卷一 一、理论题(20分,每小题1分) (1)【单选题】下面程序的输出结果是_________。 #include <iostream.h> fun(int x) { int p; if(x==0||x==1) return(3); p=x-fun(x-2); return p; } void main() {cout<<fun(9)<<endl;} A) 7 B) 9 C) 3 D) 1 参考答案:A (2)【单选题】下面程序运行时,若从键盘上输入2.0并回车,则输出结果是_________。 #include <iostream.h> void main() { float x,y; cin>>x; if(x<0.0) y=0.0; else if((x<10.0)&&(x!=2.0)) y=1.0/(x+2.0); else if(x<5.0) y=1.0/x; else y=5.0; cout<<y; } A) 0.5 B) 1.0 C) 0.0 D) 0.25 参考答案:A (3)【单选题】C++源程序文件的默认扩展名为_________。 A) c++ B) cpp C) cc D) c 参考答案:B (4)【单选题】下面程序的输出结果是_________。 精选word . #include <iostream.h> void main() { char *p[ ]={"mop","book","w","sp"}; int i; for(i=3;i>=0;i--,i--) cout<<*p[i]; cout<<endl; } A) sb B) spbook C) sp D) swb 参考答案:A (5)【单选题】下面定义的共用体类型的长度是_________字节。 union MyData { long x; char ch; bool flag; float y; }; A) 8 B) 4 C) 2 D) 6 参考答案:B (6)【单选题】以下程序段中的循环体被执行的次数是_________。 for(i=4;i;i-=2) for(j=1;j<4;j++) {……}; A) 无限多次 B) 8 C) 6 D) 2 参考答案:C (7)【单选题】下面程序的输出结果是_________。 #include <iostream.h> void main() { int x[ ]={2,4,6,8},i; int *p=x; for(i=0;i<4;i++) x[i]=*p++; cout<<x[2]<<endl; } A) 6 B) 4 C) 8 精选word . D) 2 参考答案:A (8)【单选题】C++的字符串"\t\1026\\'"中包含_________个可见的字符。 A) 10 B) 5 C) 4 D) 6 参考答案:C (9)【单选题】以下程序段运行时,若从键盘上输入Open the door并回车,则输出结果是_________。 char fun(char *c) { if(*c<='z' && *c>='a') *c-='a'-'A'; return *c; } void main() { char s[81],*p=s; gets(s); while(*p) {*p=fun(p);putchar(*p);p++;} putchar('\n'); } A) open the door B) OPEN THE DOOR C) Open the door D) oPEN THE DOOR 参考答案:B (10)【单选题】若有以下程序段,则变量v的值是_________。 int m=1,n=2,v; v=m/n; A) 0 B) 1/2 C) 0.5 D) 1 参考答案:A (11)【单选题】若m和n都是整型变量,且m=3,n=5,则以下语句输出的结果是_________。 cout<<(m+=n,n)<<endl; A) 5 B) 语句格式有错,无输出结果 C) 3 D) 8,5 参考答案:A (12)【单选题】下面程序的输出结果是_________。 #include <iostream.h> 精选word . #define sub(x,y) (x)*x+y void main() { int a=3,b=4; cout<<sub(a++,b++)<<endl; } A) 6 B) 13 C) 21 D) 20 参考答案:B (13)【单选题】下面程序的输出结果是_________。 #include <iostream.h> void main() { int num=1; while(num<=2) {num++;cout<<num;} } A) 123 B) 23 C) 12 D) 1 参考答案:B (14)【单选题】下面程序的输出结果是_________。 #include <iostream.h> 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; } cout<<a<<","<<b<<endl; } A) 2,1 B) a,1 C) 1,2 D) 1,0 参考答案:C (15)【单选题】若有下面的程序片段: int a[12]={0},*p[3],i; 精选word . 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 <iostream.h> #include <string.h> void main() { char *x1="abcdef",*x2="ab"; x1++;x2++; cout<<strcmp(x1,x2)<<endl; } A) -1 B) 不确定的值 C) 1 D) 0 参考答案:C (17)【单选题】下面程序运行时,若从键盘上输入3.6 2.4并回车,则输出结果是_________。 #include <iostream.h> #include <math.h> 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<<y; } A) 2.0 B) 1.5 C) 1.6 D) 2.4 参考答案:C (18)【单选题】下面程序的输出结果是_________。 #include <iostream.h> 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<<y<<endl; } 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 <iostream.h> void sort ( int *p,int n) { int i,j,temp; for (i=0;i<n-1;i++)//外层循环:实现比较的趟数 //请在两条星线之间填入相应的代码,内层循环:实现每趟两两比较的次数 /**************************************************/ for(j=1;j<n-i;j++) /***************************************************/ if(p[j-1]>p[j]) { temp=p[j-1]; 精选word . //请在两条星线之间填入相应的代码,实现两个数的交换 /**************************************************/ 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++) cout<<a1[i]<<'\t'; cout<<endl; } 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 <iostream.h> 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<<"请输入你的收入:"; 精选word . cin>>income; tax=Count(income); cout<<"应缴税:"<<tax<<endl; } 3、【简单操作题】(注:以下文件均保存在试题盘shiti\pro\4000249文件夹中)打开proj3.cpp,输入一行字符串,要求将每个单词中的第一个字母改成大写字母(如果已经是大写则不变)。(提示:读一行字符用cin.getline()。)(题分:20分) 参考答案: //程序功能:输入一行字符串,要求将每个单词中的第一个字母改成大写字母(如果已经是大写则不变) //注意:补充语句不限一句,可多句。 //提示:读一行字符用cin.getline( ) #include <iostream.h> #include <ctype.h> void 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<<"结果:"<<str<<'\n'; /******************************************/ } 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对象的平均分并输出到屏幕上。 精选word . 程序运行结果如下图所示。(题分:25分) 参考答案: //注意:除在指定位置添加语句之外,请不要改动程序中的其他内容,补充语句不限一句,可多句 #include <iostream.h> 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<<"总分:"<<sum<<endl; /***********************************************************************/ } 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<<"平均分:"<<avg<<endl; } /***********************************************************************/ int main() { Student stud(65.3,78,90); stud.sum(); stud.average(); return 0; } 感谢您的支持与配合,我们会努力把内容做得更好! 精选word
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服