您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 2021级C++试卷(含答案)
2021级C++试卷(含答案)《C++程序设计》试卷一、单项选择题:(每小题2分,共20分)1.以下叙述中错误的是()。A)用户所定义的C++标识符允许使用关键字B)用户所定义的C++标识符应尽量做到“见名知意”C)用户所定义的C++标识符必须以字符或下划线开头D)用户所定义的C++标识符中,大、小写字符代表不同标识。2.用C++语言编制的源程序要变为目标程序必须经过()。A)解释B)汇编C)编辑D)编译3.设有定义语句:inta=7;floatx=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是()。A)2.5B)2.75C)3.5D)0.04.以下所列的C++语言常量中,错误的是()。A)0xFFB)1.2e0.5C)2LD)‘\72’5.设有:inta=7,b=5,c=3,d=1;,则条件表达式aA)7B)5C)3D)16.以下程序的运行结果是()。intmain(){shortb=-1;unsignedshorta;a=b;coutreturn0;}A)-32768B)32767C)65535D)-17.设有定义语句:inta[]={0,2,4,6,8,10},*p=a;,值不等于0的表达式是()。A)*p++B)*(p++)C)(*p)++D)*++p8.以下对C++字符数组的描述错误的是()。A)字符数组可以存放字符串;B)字符数组的字符串可以整体输入和输出;C)可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值;D)不可以用关系运算符对字符数组中的字符串进行比较;9.下列带有默认参数的函数原型声明中,正确的是()。A)voidf(inta=5,intb=5,intc);B)voidf(inta,intb,intc=5);C)voidf(inta,intb=5,intc);D)floatfun(inta=5,intb,intc=5);;10.设有下列定义语句:structnode{intx;inty;}n[3]={{1,2},{3,4},{5,6}};值等于4的正确表达式是()。A)n[1][2]B)node[1][2]C)n[1].yD)n[1]-y答案栏:1、A____2、_D___3、__A__4、__B__5、_C___6、__c__7、_D__8、__C__9、_B__10、_c___二、程序填空题(每空2分,共20分)答案栏:1、__________________________________2、___________;___________;___________;3、__________________________________4、__________________________________5、_________________________________6、________________;_________________;7、__________________________________8、__________________________________9、__________________________________10、__________________________________1、以下程序的功能是:用选择法对5个实数排序(按从小到大顺序)。请填空。#includeusingnamespacestd;voidmain(){doublex[5],t;inti,j,k;for(i=0;icinx[i];for(i=0;i{k=i;for(j=i+1【1】;jif(x[j]t=x[i];x[i]=x[k];x[k]=t;【2】//将选择好的下标元素和下标为i的元素交换}for(i=0;icout}2、以下函数的功能是:用递归法将一个整数m转换成字符串。例如:输入整数1472,应输出字符串1472。m的位数不确定,可以是任意位数的整数。请填空。voidprint(intm){if(melse{print(m/10)【4】/递归体putchar(m%10+48);}}3、以下程序的功能是:执行该程序后运行结果如下:5.13.2↙请填空。#includeusingnamespacestd;voidd1(int&a,intb【5】){a=a+3;b=b+3;}voidmain(){doublex=2.1,y=3.2;d1(x,y);cout}4、以下程序的功能是:定义一个结构体类型,内含学生学号和一门课的成绩,并开辟动态内存存放一个学生的数据:学号3001,成绩95。执行该程序后运行结果如下:3001,95↙请填空。#includeusingnamespacestd;structS1{intm;//学号doublex;//成绩};voidmain(){S1*p;p=newS1;cinp-mp-x;【6】//赋值cout}5、以下函数的功能是:判断一个数是否为素数。请填空。boolprime(intm){inti;boolprime1;prime1=true;for(i=2;iif(m%i==0【8】)prime1=false;returnprime1;}WIN7用户需要将PCSX2VU.exe设置成管理员权限启动才可以运行6、以下程序的功能是:输出二维数组各元素值。请填空。#includeusingnamespacestd;voidmain(){voidoutput(int(*)[2]);intb[3][2]={6,5,4,3,2,1};output(b【9】);}voidoutput(int(*p)[2]){inti,j;for(i=0;i{for(j=0;jcoutcout}}三、阅读程序,写出运行结果。(每小题3分,共24分)答案栏:1、_____________________________2、_____________________________3、_____________________________4、_____________________________5、_____________________________6、_____________________________7、_____________________________8、_____________________________1、#includeusingnamespacestd;voidmain(){inta=-1,b;if(aif(aelseif(a0)b=a+2;elseb=a+4;elseb=a+5;cout2、#includeusingnamespacestd;voidmain(){intn=2,m=6,a,b;a=++m+n--;9b=m+++--n;7cout}97803、#includeusingnamespacestd;voidq(floatf){cout}voidq(doubled){cout}voidq(inti){cout}voidmain(){q(3);q('B');q(3.1);}int3int66double3.14、#includeusingnamespacestd;voidmain(){intm=3,n=2;while(mswitch(m++)m=4{case4:n--;case5:n-=4;break;case3:n++;}cout}-25.#includeusingnamespacestd;intx,y;voidfun(inta){inty,b;b=a+3;x=x+a;y=x-b;cout}intmain(){inta=1,b=3;x=5,y=4;fun(b);coutreturn0;}823684136.#includeusingnamespacestd;intf(inta){intb=1;staticintc=2;b++;c++;return(a+b+c);}intmain(){for(inti=0;ireturn0;}5797.#includeusingnamespacestd;intmain(){charch[]=PROGRAM;coutreturn0;}PROGRAMGGRAM8.#includeusingnamespacestd;intmain(){inta=78,b=21,*p,*q,*r;p=&a;q=&b;if(*p!=*q){r=p;p=q;q=r;}cout*p=*p+*q;coutreturn0;}21787899四、简答题(每小题4分,共12分)1.试分析字符串常量abc\\e\tfg\101\102由哪几个字符构成?该字符串占用多少个字节?若用coutabc\e\101\10211abc\efgAB2.若有如下定义:structstype{floaty;shortintm;charcode[3];};stypesdat;试画出变量sdat的内存构造图(示意图),并指出该变量占用内存的字节数。3.下面程序有错误:#includeusingnamespacestd;voidfun(intb[]){for(inti=0;icoutcout}intmain(){intb[7]={10,20,30,40,50,60,70};for(inti=0;icoutcoutn;coutp=newdouble[n];for(i=0;icin*(p+i);reverse(p,n);for(i=0;icoutdelete[]p;return0;}voidreverse(double*a,intn){inti;floatt;for(i=0;i{t=*(a+n-1-i);*(a+n-1-i)=*(a+i);*(a+i)=t;}}3.需要求2个不同的圆柱体的体积,设计一个面向对象的程序。数据成员包括:radius(半径),height(高);还可根据需要定义其它数据成员。要求分别用成员函数实现以下功能:(1)由键盘输入圆柱体的半径、高;(2)计算圆柱体的体积;(3)输出圆柱体的体积。请编写程序。#includeusingnamespacestd;constfloatpi=3.1415;structcylinder{floatradius;floatheight;floatvolume;voidvolume1();};voidcylinder::volume1(){volume=pi*radius*radius*height;}intmain(){cylinderc1,c2;coutcinc1.radiusc1.height;cinc2.radiusc2.height;c1.volume1();c2.volume1();coutcoutreturn0;}
本文标题:2021级C++试卷(含答案)
链接地址:https://www.777doc.com/doc-7845066 .html