您好,欢迎访问三七文档
当前位置:首页 > 高等教育 > 习题/试题 > 大工16秋《C&C++语言程序设计》期末考试复习题(1)
2016年秋季《C/C++语言程序设计》课程期末复习题第1页共31页机密★启用前大连理工大学网络教育学院2016年秋《C/C++语言程序设计》期末考试复习题☆注意事项:本复习题满分共:400分。一、单项选择题(本大题共60小题,每小题2分,共120分)1.下列四组选项中,均是不合法的用户标识符的选项是()。BA.WP_0doB.b-agotointC.floatla0_AD.-123abcTEMP2.下列四组选项中,均不是C语言关键字的选项是()。AA.defineIFtypeB.getccharprintfC.includecasescanfD.whilegopow3.已经定义常量#definePRICE30则,下列语句使用常量正确的是()。CA.PRICE=20;B.intc=3;PRICE=c;C.intc=PRICE;D.PRICE=PRICE+1;4.关于C语言变量,描述不正确的是()。DA.变量有空间B.变量有类型C.变量先定义后使用D.变量定义必需初始化5.不是C语言的浮点类型的是()。DA.floatB.doubleC.longdoubleD.real6.下面不是字符常量是()。AA.“t”B.‘\t’C.‘’D.‘t’7.在C程序中,字符型数据在内存中以()形式存放。DA.原码B.BCD码C.补码D.ASCII码8.已知inti=2;charc=’A’;则表达式i+c的类型为()。BA.未知B.intC.charD.void9.已知charw;intx;floaty;doublez;则表达式w*x+z-y的数据类型为()。DA.floatB.charC.intD.double10.已知doublex=2,y,则表达式y=x+3/2的值是()。D2016年秋季《C/C++语言程序设计》课程期末复习题第2页共31页A.3.500000B.3C.2.000000D.3.00000011.C语言对嵌套if语句的规定是:else总是与()配对。DA.其之前最近的ifB.第一个ifC.缩进位置相同的ifD.其之前最近且不带else的if12.以下关于switch语句和break语句的描述中,只有()是正确的。CA.在switch语句中必须使用break语句B.break语句只能用于switch语句C.在switch语句中,可以根据需要使用或者不使用break语句D.break语句是switch语句的一部分13.设有程序段intk=10;while(k=0)k=k-1;这下面描述中正确的是()。CA.while循环执行10次B.循环是无限循环C.循环体语句一此也不执行D.循环体语句执行一次14.以下循环执行次数是()。Cfor(inti=2;i==0;i--);A.执行2次B.执行无限次C.一次也不执行D.执行1次15.以下正确的描述是()。DA.continue语句的作用是结束整个循环的执行B.break语句只在循环语句中和switch语句体内使用C.在循环体内使用break语句或continue语句的作用相同D.从多层循环嵌套中退出时,只能使用goto语句16.下面代码段的执行结果是()。Dinti;for(i=1;i10;i++){if(i%5==0)break;printf(%d,i);}printf(end\n);A.endB.12345endC.12345D.1234end17.下面程序的运行结果是()。Dcharch[7]={65ab21};inti,s=0;for(i=0;ch[i]='0'&&ch[i]='9';i++)s=10*s+ch[i]-'0';printf(%d\n,s);2016年秋季《C/C++语言程序设计》课程期末复习题第3页共31页A.12ba56B.6521C.6D.6518.以下为一维整型数组a的正确说明是()。DA.inta(10);B.intn=10,a[n];C.intn;scanf(%d,&n);inta[n];D.#defineSIZE10inta[SIZE];19.下列对二维数组的定义和初始化正确的为()。BA.intn,a[n][n]={1,2,3};B.doublea[2][2]={1.1,2.2,3.3};C.inta[2][2]={{1,3},,};D.floata[5][6]={};20.下述对C语言字符数组的描述中错误的是()。CA.字符数组可以存放字符串B.字符数组中的字符串可以整体输入、输出C.可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值D.不可用关系运算符对字符数组中的字符串进行比较21.判断字符串s1是否大于字符串s2,应当使用()。DA.if(s1s2)B.if(strcmp(s1,s2))C.if(strcmp(s2,s1)0)D.if(strcmp(s1,s2)0)22.下列各语句定义数组,其中哪个是不正确的()。CA.chara[3][10]={China,American,Asia};B.intb[2][2]={1,2};C.floatx[2][]={1,2,4,6,8,10};D.inty[][3]={1,2,3,4,5,6};23.下面叙述中,正确的有()。AA.设变量定义为chars[]=hello,则数组s中有6个元素B.已定义intw[5];程序中可以引用的数组元素分别是w[1],w[2],w[3],w[4],w[5]C.已定义intn=4;则执行语句floatx[n]={1,2,3,4};x[2]的值是3D.已定义inta[2][3]={1,2};则元素a[1][2]的值是不确定的值24.下列程序输出结果是()。Cvoidfun(intx,inty,intz){z=x*x+y*y;}voidmain(){inta=31;fun(5,2,a);printf(“%d”,a);}A.0B.29C.31D.无定值2016年秋季《C/C++语言程序设计》课程期末复习题第4页共31页25.以下正确的说法是()。AA.实参和与其对应的形参各占用独立的存储单元B.实参和与其对应的形参共占用共同的存储单元C.只有当实参和与其对应的形参同名时才共占用相同的存储单元D.形参时虚拟的,不占用存储单元26.下面叙述中,正确的有()。DA.chara[]=“ssdut”;sizeof(a)的值为5。B.chara[10]=“ssdut”;sizeof(a)的值为6。C.voidsort(inta[10]){ints=sizeof(a);}s的值为10。D.voidsort(inta[10]){ints=sizeof(a);}s的值为4。27.对于二维整型数组inta[3][4];有函数调用语句function(a);则函数正确的声明方式为()。CA.voidfunction(intarray[][]);B.voidfunction(intarray[3][]);C.voidfunction(intarray[][4]);D.voidFunction(intarray[3][4]);28.若有数组floatgrade[3]和函数floatmax(floata[],intn);则正确的函数调用形式为()。CA.max(grade[3]);B.max(grade[],3);C.max(grade,3);D.max(grade[3],3);29.对于数组inta[10]={1,2,3,4,5,6,7,8,9,10};和下面的函数sum(),执行printf(sum=%d,sum(a))输出的结果为()。Cintsum(intap[]){intm=0,i;for(i=0;isizeof(ap);i++)m+=ap[i];returnm;}A.55B.65C.10D.以上答案均不对30.以下程序中调用scanf函数给变量a输入数值的方法是错误的,原因是()。Binta,*p=&a;scanf(“%d”,*p);//输入a的数值A.*p表示的是指针变量p的地址B.*p表示的是变量a的值,而不是变量a的地址C.*p表示的是指针变量p的值D.*p只能用来说明p是一个指针变量31.设inta[10]={15,12,7,31,47,20},*p,下列语句中正确的是()。BA.for(p=a;a(p+10);a++);B.for(p=a;p(a+10);p++);C.for(p=a,a=a+10;pa;p++);D.for(p=a;ap+10;++a);32.若有定义inta[2][3],则对a数组的i行j列元素地址的正确引用为()。A2016年秋季《C/C++语言程序设计》课程期末复习题第5页共31页A.*(a[i]+j)B.(a+i)C.*(a+j)D.a[i]+jE.*(a+i)+j33.有以下代码段输出的结果为()。Cinta=1,b=3,c=5;int*p1=&a,*p2=&b,*p=&c;*p=*p1*(*p2);printf(%d\n,c);A.1B.2C.3D.434.设已有定义char*st=howareyou下列程序段中正确的是()。CA.chara[],*p;strcpy(p=a+1,&st[4]);B.chara[11];strcpy(++a,st);C.chara[20];strcpy(a,st);D.chara[],*p;strcpy(p=&a[1],st+2);35.设有以下说明语句,则以下叙述不正确的是()。CstructStu{inta;floatb;}stutype;A.struct是结构体类型的关键字B.structstu是用户定义的结构体类型C.stutype是用户定义的结构体类型名D.a和b都是结构体成员名36.以下对结构体变量stu1中成员age的合法引用是()。Cstructstudent{intage,num;}stu1,*p=&stu1;A.stu1-ageB.student.ageC.p-ageD.p.age37.C++源文件的扩展名为()。AA.cppB.cC.txtD.exe38.关于C++和C语言的描述中,()是错误的?CA.C是C++的一个子集B.C程序在C++环境可以运行C.C++程序在C环境可以运行D.C++是面向对象的而C是面向过程的39.关于封装,下列说法中不正确的是()。DA.通过封装,对象的全部属性和操作结合在一起,形成一个整体B.通过封装,一个对象的实现细节被尽可能地隐藏起来(不可见)C.通过封装,每个对象都成为相对独立的实体D.通过封装,对象的属性都是不可见的40.以下对于常量的定义错误的用法为()BA.constintbuffer=256;B.constinttemp;temp=234;C.constdouble*point;D.double*constpt=newdouble(5.5);2016年秋季《C/C++语言程序设计》课程期末复习题第6页共31页41.关于引用,下列的说法中错误的是()。CA.引用是给被引用的变量取一个别名;B.引用主要是用来作函数的形参和函数的返回值;C.在声明引用时,要给它另开辟内存单元;D.在声明引用时,必须同时使它初始化;42.函数重载是指()。AA.两个或两个以上的函数取相同的函数名,但形参的个数或类型不同B.两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同C.两个以上的函数名字不同,但形参的个数或类型相同D.两个以上的函数取相同的函数名,并且函数的返回类型相同43.下列有关类的说法不正确的是()DA.类是一种用户自定义的数据类型B.只有类中的成员函数或友元函数才能存取类中的私有成员C.在类中如果不作特别说明,所有的数据均为私有类型D.在类中如果不作特别说明,所有的成员函数均为公有类型44.在类定义的外部,可以被访问的成员有()CA.所有类成员B.private或protected的类成员C.public的类成员D.public或private的类成员45.以下叙述中不正确的是()CA.一个类的所
本文标题:大工16秋《C&C++语言程序设计》期末考试复习题(1)
链接地址:https://www.777doc.com/doc-6325094 .html