《山东交通学院C++程序设计复习题及参考答案.docx》由会员分享,可在线阅读,更多相关《山东交通学院C++程序设计复习题及参考答案.docx(8页珍藏版)》请在第一文库网上搜索。
1、C+程序设计A复习题一、单选题(每小题5分,共计60分)1.一个C程序的执行是从(A)0A.本程序的main函数开始,到main函数结束B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C.本程序的main函数开始,到本程序文件的最后一个函数结束D.木程序的第一个函数开始,到本程序main函数结束2 .已知各变量的类型说明如下:intk,a,b;unsigned1ongw=5;doub1ex=1.5;则以下不符合C语言语法的表达式是(B)A.w+=-2B.x%(-3)C.k=(a=2,b=3,a+b)D.x=(doub1e)(w)3 .设下面程序的输出结果是(B)o#inc1ude
2、voidmain()(inta-5,b=3;printf(*%dn*,a=ab);).5B.1C.3D.24 .若X为int型,则下面与逻辑表达式!x等价的C语言关系表达式是(OoA.x=1B.x!=1C.x=0D.x!=0.5 .以下程序的运行结果是(B)oinc1udevoidmain()inta=3,b=-1,c=1;if(ab)if(bO)c=0;e1sec+;printf(%dn”,c);)A.0B.1C.2D.36 .下面程序的输出结果是(C)o#inc1udevoidmain()inta,b;for(a=1,b=2;b5;b+)a+=b;printf(,/%dnz,a);A.1B
3、.9C.10D.157 .以下对一维整型数组a的说明正确的是(D)oA.inta(10);B.intn=10,an;C.intn;scanf(w%dw,&n);intan;D.inta10;8.下列描述中不正确的是(C)0A.字符型数组中可以存放字符串B.可以对字符型数组中的字符串进行整体输入输出C.可以对实型数组进行整体输入输出D.不能在赋值语句中通过复制运算符对字符型数组进行整体赋值二、填空题(每题10分,共计20分)1下面程序的运行结果是(10,X)o#inc1udestructstru(intx;charch;);voidfunc(structstrub)(b.x=100;b.ch=n
4、;voidmain()(structstrua=10,);func(a);printf(,%d,%cn*,a.x,a.ch);2.以下程序的运行结果是(2)。inc1udeintf(intx,inty)(intz;z=(xy)?x:y;returnz;)voidmain()inta=2,b=4,c;c=f(a,b);printf(*%dn*,c);三、编程题(每题10分,共计20分。)1 .证明求斐波那数列的前20项,然后按每行5个数据的格式输出。斐波那数列:1,1,2,3,5,8,131答案:#inc1udevoidmainO(intk,f20;fO=f1=1;for(k=2;k20;k+)
5、fk=fk-1+fk-2;for(k=0;k20;k+)(if(k%5=0)putchar(,n,);printf(z,%8dz,fk);)2 .编写函数f(),统计字符串中数字字符的个数。其中,main()函数已给出,请将程序补充完整。#inc1udeintf(charstr)voidmainOcharss80;printf(,entera1inecharacters:*);gets(ss);printf(,z%dn*,f(ss);答案:intf(charstr)(intn=0,k=0;whi1e(strk!=0,)if(strk=0,&strk=5ora=5!a=5&a=5a=-15 .以
6、下程序的运行结果是(B)。inc1udevoidmainOinta=16,b=21,m=0;switch(a%3)(case0:m+;break;case1:m+;switch(b%2)(case0:m+;break;defau1t:m+;)printf(*%dn*,m);)A.1B.26 .下面程序的运行结果是(A)o#inc1udevoidmainO(inta=10,b=0;do(b=b+a;a;whi1e(a5);printf(,%dn,b);)A.40B.45C.3D.4.C.34D.557 .以下对二维整型数组a进行正确说明是(A)。.inta34;B.f1oata(3,4);C.d
7、oub1ea3;D.f1oata(3)(4);8 .设有如下定义,则下面叙述正确的是(D)。chara=wABCDEF,;charb=iA,B,iC,D,E,F;A.a和b完全相同B.a和b只是长度相等C.a和b不同,a是指针数组D.a数组长度比b数组大19 .下面叙述不正确的是(A)。A.在一个函数内的复合语句中定义的变量只在本函数范围内有效B.在不同的函数中可以使用相同名字的变量C.函数中的形参相当于局部变量D.在一个函数内定义的变量只在本函数范围内有效10 .若有定义:intx=5,*p,则使P指向X的赋值表达式是(C)。A.*p=&xB.p=xC.p=&xD.*p=xA.(*p).da
8、ta,aB.(*p).aC.p-data.aD.p.data,a二、填空题(每题10分,共计20分。)1.下面程序的输出结果是(33)o#inc1ude1ongf(intn)(1ongt;if(n=1)t=1;e1set=n*f(n-1);returnt;intmain()1ongs=0;inti;for(i=1;i5;i+)s+=f(i);三、编程题(20分。)编写函数f(),求1+3+5+7+n.在main()函数中输入n的值(要求为奇数),调用函数求和并输出结果。答案:#inc1udeintf(intn)ints=0,k;for(k=1;k=n;k+=2)s+=k;returns;)voidmain()(intm,sum;printf(enteraoddnumber:);scanf(%dm);sum=f(m);printf(%dn,sum);