版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、A. mainB. MAINC. n ame其中一个为真它们均为真y=5的相反表达式为B. x0 & y=5(A)qA.整数B.浮点数C字符 D.C )语句。C. do 循环C+吾言程序设计课程期末针对性训练一、单选题(每小题 2分,共20分)1 在每个 C+程序中都必须包含有这样一个函数,该函数的函数名为(A )。D. fun cti on2 .设x和y均为bool量,贝U x&y为真的条件是(D )。A.其中一个为假B.C.它们均为假D.3.逻辑表达式x0 | (B )。A. x0 | y!=54.假定p是一个指向float型数据的指针,则 p+1所指数据的地址比 p所指数据的地址大( C
2、 )个字 节。A. 1 B. 2 C. 4 D. 85. 枚举类型中的每个枚举常量的值都是一个逻辑值6. 循环体至少被执行一次的语句为(A. for 循环 B. while循环D.任一种循环7. 在下面的字符数组定义中,(D )语句有语法错误。A. char a20= ” abcdefg ”。B. chara= ” x+y=55. ”。C. char a15= 1 , 2。D.char a10= 5。8. 若用数组名作为函数调用的实参,传递给形参的是(A )。A.数组的首地址B.数组中第一个元素的值C.数组全部元素的值D.数组元素的个数9 .假定AB为一个类,则执行“ AB a(4),b5,*
3、p2。”语句时,自动调用该类构造函数的次数为 (A )。A. 6 B. 7 C. 9 D. 11 10 .当使用fstream流类定义一个流对象并打开一个 磁盘文件时,文件的隐含打开方式为( D )。A. ios:i nB. ios:out C. ios:i n |ios:out D.没有二、填空题(每小题2分,共20分)1. 若需要定义一个标识符常量,并且使C+能够进行类型检查,则应在定义语句的开始使用保留字const22. 算术表达式xy讦 4b -1对应的C+表达式为3a_(x*y*y)/(3*a)+4*b-1 _。3. 逻辑表达式 xy& x!=10的相反表达式为 x=y | x=10
4、_。= 个字符指针变量占用内存4_个字节。5. 执行 “ typedef int DataType 。” 语句后,在使用int定义整型变量的地方都可以使用标识符_DataType 来定义整型变量。6 于在所有函数定义之外定义的变量,若没有 被初始化则系统隐含对它赋予的初值为0_ _。7 .假定p所指对象的值为25, p+1所指对象的值 为46,则执行“ *(p+)。”语句后,p所指对象的值 为 _46_ _ q8 .假定一个结构类型的定义为“struct Ai nta q double* b 。 A* c 。 。”,则该类型的大小为 12_ 字节。9 .假定一维数组的定义为“int a8。”,
5、则该数组所含元素的个数为 _ 8。10. 若 while 循环语句的开始 为” while(i+=10) ”,若i的初值为0,同时在循环 体中不会修改i的值,则其循环体将被重复执行_ 11次后正常结束。三、写出下列每个程序运行后的输出结果(每小题6分,共30分)1. #in cludevoid mai n() int s1=0, s2=1 qfor(int i=1。 i=6 。 i+) s1+=i。 s2*=i 。 couts1,s2e ndl 。输出结果:21,7202. #in cludevoid mai n() int a10=68,79,86,65,46,94,37,78,60,53。
6、int c=0 qfor(int i=0。 i=60) c+ q cout c=cendl 。输出结果:c=73. #in cludevoid mai n() inta34=1,2,7,8,5,6,11,15,9,20,3,4。int m=a00。for(int i=0。 i3。 i+)for(int j=0。jm) m=aij。coutmendl 。输出结果:204. #in cludevoid mai n() int a=10, b=15。couta b。 a*=3。int b=a+20 。couta b。couta be ndl 。输出结果:10 15 30 50 30 155. #in
7、 cludevoid mai n() int a8=6,19,4,12,20,5,18,25。int* p=a 。for(p=a。 pa+8。p+)if(*p10) cout*p coutendl 。输出结果:6 4 5四、写出下列每个函数的功能(每小题8分,共24分)1. bool WB(i nt a, i nt n, i nt x) for(int i=0。 in 。 i+)if(ai=x)return true。return false 。函数功能:从数组 a中顺序查找值为 x 的元 素,若查找成功则返回真,否则返回假。2. i nt LJ(i nt a, i nt n) int k=0
8、。for(int i=1。 iak) k=i。return ak。函数功能:求出数组a中n个元素的最大值并返回。3. 假定结构类型Dnode中的data域为结点值域,next域为结点指针域。DNode* QB(i nt n)if(n=0) return NULL。 DNode* f=new DNode。cin f-data。DNode* p=f。while(-n) p=p-n ext=new DNode。cin p-data。p- next=NULL。return f 。函数功能:建立一个具有n个结点的链表,每个结点的值依次由键盘输入,该函数返回其表头指针。五、按题目要求编写程序(6分)已知
9、6 w a w 30、15 b w 36,求出满足不定方程 2a+5b=126的全部整数组解。如(13,20)就是其中的一组解,并按此格式输出每组解。答:#in cludevoid mai n()int a,b 。for(a=6 。 a=30。a+)for(b=15 。 b=36。b+)if(2*a+5*b=126) cout(a,b)e ndl。训练第二套一、单选题(每小题2分,共20分)1. 枚举类型中的每个枚举常量的值都是一个 (A )值。A.整数B.浮点数C.字符D.逻辑2. 设x和y均为bool量,则逻辑表达式 x|y为假的 条件是(C )。A.它们均为真B.其中一个为真C. 它们均
10、为假D.其中一个为假3. 声明或定义一个内联函数时,必须在函数开始使用保留字(D )。A. static B. constC. exter nD. i nli ne4. 在下面的函数声明中,存在着语法错误的是 (D )。A.BC(i nt a, i nt) 。B.BC(i nt, i nt)。C.BC(i nt, i nt=5)。D. BC(i nt x。 inty)。5. 假定a为一个整型数组名,则元素 a4与 (C )的表示等价。A. a+4 B. *a+4 C. *(a+4) D.int s=0 。for(int i=1。 i=8。 i=+2)s+=i*i 。 couts=se ndl
11、。输出结果:s=842. #in cludevoid mai n() int i=1,s=0。while(s20) if(i%2 !=0) s+=i。i+。couti , sendl。输出结果:10,253. #in cludevoid mai n() int a8=36,25,48,14,55,20,47,82int b1, b2 。b仁b2=a0。for(int i=1。 i8。 i+) if(aib2) b2=ai。 coutb1,b2e ndl。输出结果:14,824. #i ncludeint LB(int *a, int n) int s=1。for(int i=0。 in。 i+
12、) s*=*a。 a+。return s 。void mai n() int a5=1,2,3,4,5。coutLB(a,5)e ndl。输出结果:1205. #in cludestruct Worker char n ame15。 / 姓名int age。/ 年龄float pay。/ 工资 。*(a+16)6. 下面循环语句执行结束后输出的i值为 (B )的值。for(i nt i=0。 i n/2)coutiendl 。 break 。 A. n/2 B. n/2+1C. n-1 D. n7. 将两个字符串连接起来组成一个字符串时,选用(C )函数。A. strle n() B. str
13、cpy() C. strcat() D.strcmp()8. 预处理命令在程序中都是以(B )字符开头的。A. * B. # C. & D. 9. 假定有定义 “ struct BOOKchar title4O 。 float price 。 。”,则不正确的变量定义语句为(D )。A. BOOK x。B.BOOK x=C+Program min g,27.0。C. BOOK *x=new BOOKD. BOOK x=newBOOK10. 假定AB为一个类,px为指向该类动态对象数组的指针,该数组长度为n,则执行delete px 。”语句时,自动调用该类析构函数的次数为( B )。A. 1
14、B. n C. n-1 D. n+1二、填空题(每小题 2分,共20分)1 .已知A JZ的 ASCII码为 65 .90,当执行“ char ch=14*4+12 。 coutch。” 语句序列后,得到的输出结果为D。2. double类型的长度为8_ 。3. 表达式x=x+1表示成增量表达式为+x4. 逻辑表达式 ab& b!=15。5. 假定一个二维数组的定义为“ char*a54。”,则该数组所含元素的个数为20 ,所占存储空间的字节数为80。6 当函数中的_局部_变量没有被赋初值时,它的值是不确定的。7 .假定一个结构类型的定义为“ structAdouble a,b 。 A* c
15、。 。”,则该类型的大小为 如 字节。8.假定要访问一个结构指针p所指对象中的数据成员data,则表示方法为p-data 。9 假定用户没有给一个名为 AB的类定义构造函 数,则系统为其隐含定义的构造函数为 AB()。10.当在程序中执行到break语句时,就立即结束本层循环类语句或switch语句的执行。三、写出下列每个程序运行后的输出结果(每小题6分,共30分)1. #in clude void mai n() y.ageage+58分,共24void mai n() Worker x=wa ngfo ng,46,1640Worker y, *p。y=x。 p=&x。cout y.n am
16、ey.paye ndl 。coutn amepay-300e ndl 。输出结果:wangfong 461640 wangfong 51 1340四、写出下列每个函数的功能(每小题 分)1. int WC(int a, int n, int k) int c=0 。for(int i=0。 i=k) c+。return c 。函数功能:统计出数组a的n个元素中大于等于参数k的值的元素个数并返回。2. bool SG(i nt x) /x为大于等于 2的整数int a=int(sqrt(x)。/sqrt(x) 为求 x 的平方根int i=2。while(ia) return true 。 el
17、se return false 。函数功能:判断 x是否为一个素数(或质数), 若是则返回真,否则返回假。3.假定结构类型 Worker中的name域表示姓名, age域表示年龄,pay域表示工资。void QA(Worker a, i nt n) for(int i=0。 i ai. nameai.ageai.pay。函数功能:从键盘上输入n 个 Worker 结构类型的记录依次保存至U维数组a 的对应元素中。五、按题目要求编写函数(6分)假定函数声明为“ voidPrint(inta, intn)。”,在函数体中按下标从大到小的次序输出数组a中的n个元素的值,并要求每行输出6个元素,当然最
18、后一行可以不足 6个。答:void Print(int a, int n)int i,j=0。for(i=n-1。 i=0。 i-) coutai if(+j%6=0) coute ndl 。coutendl 。训练第三套一、单选题(每小题2分,共20分)1.由C+源程序文件编译而成的目标文件的缺省扩展名为(A )。C. exeD.A. obj B. likcpp2.程序运行中需要从键盘卜输 入多于个数据程序运行中需要从键盘上输入多 于时,各数据之间应使用(D )符号作为分隔符。A.空格或逗号B.逗号或回车C.逗号或分号D.空格或回车3.设x是一个bool型的逻辑量,y的值为10,则表达式x&
19、y的值为(C )。A. 1B. 0C.与x值相同D.与x值相反4. for语句能够被改写为( D )语句。A.复合 B. ifC.switchD. while5. 在下面的do循环语句中,其循环体被执行的次数 为(A )。int i=0。 do i+ 。 while(i*i10) 。A. 4 B. 3 C. 5 D. 26. 在下面的一维数组定义中,(C )语句有语法错误。A. i nt a=1,2,3。B. i nt a10=0。C. i nt aD. int a57.下面的(C)保留字不能作为函数的返回类型。A. void B. i ntC. new D.long8.下面的函数声明中,(B
20、 ) 是“ void BC(int a,int b)。的重载函数。A. int BC(int x, int y)。B. void BC(i nt a,char b)。C. float BC(i nt a,int b, int c=0) 。 D. intBC(i nt a, i nt b=0)。9.当类中一个字符指针成员指向具有n个字节的存储空间时,它所能存储字符串的最大长度为( C )。A. n B. n+1 C. n-1 D. n-210.假定AB为一个类,则该类的拷贝构造函数的声明 语句为(D )。A. AB&(AB x)。B. AB(AB x)。C.AB(AB* x)。 D. AB(AB
21、&)。二、填空题(每小题 2分,共20分)1 .执行cout5的相反表达式为x+y=55. 假定一个二维数组的定义为“ int a36。”,则该数组含有18 个元素。6.执行“ typedef int ABC20。” 语句把 ABC 定义为具有20个整型元素的_数组类型_。7 .假定p所指对象的值为 36, p+1所指对象的值 为49,则*+p的值为_49。8.假定a是一个一维数组,则ai的指针访问方式为 _*(a+i)_9 .对一个类中的数据成员的初始化可以通过构造函数中的初始化表实现,也可以通过构造函数中的函数体_实现。10 .当一个类对象离开它的作用域时,系统将自 动调用该类的析构函数_
22、。三、写出下列每个程序运行后的输出结果(每小题6分,共30分)1. #in clude#i ncludeint SD(i nt a, i nt b, char op) switch(op) case +: retur n a+b 。case -: retur n a-b 。default: cout操作符 op 出错,退出运行!。exit(1) 。void mai n() int x=20, y=6。coutSD(x,y,+)SD(x,y,-)e ndl 。运行结果:26 142. #in clude#in cludevoid mai n() char*a5=stude nt,worker,c
23、adre,soldier,ape n。char *p1 。p1=a0。for(int i=1。i0) p1=ai。coutp1endl 。运行结果:worker3. #in cludeint WF(i nt x, i nt y) x=x+y。y=x+y。retur n x+y 。void mai n() coutWF(8,5)e ndl。运行结果:314. #i ncludeconst int n=9。void mai n() int a n=2,4,6,8,10,12,14,16,18。int s=0。for(int i=0。 in。 i+) if(i%3=0) s+=ai。couts= s
24、endl 。运行结果:245. #i ncludevoid mai n() int* d=new in i 。for(i=0 。 i5。i+) di=2*i+1。coutdi。cout0)。return y 。函数功能:求出从键盘上输入的n个整数的平方和并返回。(C )。A. i nt a=1,2,3。 B. i nt a10=0。C. i nt a。D. i nt a5。4. 在下面的语句或语句组中,(B )不正确。A. i nt a5。B. i nt M=10。 intreturn2. bool WE(i nt a, i nt b, i nt n) for(int i=0。
25、in 。 i+)if(ai!=bi) break。if(i=n)return truefalse 。函数功能:判断具有 n个元素的两个数组a和b中对应元素值是否全部相等,若是则返回真,否则返回 假。3. void LK(int a, int n, int& m) float s=0。int i。for(i=0。in。i+) s+=ai。s/=n。m=0。for(i=0。i=s) m+。函数功能:统计出数组a的前n个元素中大于等于其平均值的元素个数并由引用参数m带回。五、按题目要求编写函数(6分)假定一个函数声明为“void AD(int a, int n)。”,要求把数组a中的n个元素值按相反
26、的次序仍保存在数组a中。答:void AD(int a, int n)for(i=0。 in/2 。 i+) int x=ai 。 ai=an-1-i。 an-1-i=x。训练第四套一、单选题(每小题2分,共20分)1. C+ 程序的基本功能模块为(D )。A.表达式 B. 标识符 C. 语句 D. 函数2. 存储以下数据,占用存储字节最多的是 (A )。A.0B. 0C. ”0 ”D. n3. 在下面的一维数组定义中,有语法错误的是aM。C. int a=1,5,10,45。D. constint N=12 。 int aN 。5 . C+语言中的每条简单语句以B作为结 束符。A. 逗号B.
27、分号C.空格D.换行符6.含随机函数的表达式rand()%20的值在(C )区间内。A. 1 19B. 1 20C.019 D. 0207. 当处理一个特定的问题时,若循环次数已知,则通 常米用(A )来解决。A. for 循环 B. while循环 C. do 循环D. switch 语句8. 在下面循环语句中内层循环体S语句的执行总次数为(D )。for(int i=0。 in 。 i+)for(int j=i。 jy的逻辑值为假(false或 0) _。6 .假定一个一维数组的定义为“ char* a8。” ,则该数组所占用存储空间的字节数为32。7.假定x=10,则表达式2+x+的值为
28、 12。8 .假定p所指对象的值为25, p+1所指对象的值为46,则*p+的值为_25q9. 假定要动态分配一个类型为Worker的具有n个元素的数组,并由r指向这个动态数组,则使用的语句为 Worker* r=new Workern。10. 设px指向一个类的动态分配的对象,则执行“ delete px 。”语句时,将自动调用该类的_析构函数_q三、写出下列每个程序运行后的输出结果(每小题6分,共30分)1. #in cludevoid SB(char ch) switch(ch) case A: case a:coutwell! break。case B: case b: coutgood!。break 。case C: case c:coutpass!。break 。default:coutbad! 。 break。void mai n() SB(A) q SB( c ) q SB( b) qcoute ndl。运行结果:well!pass!good!2. #in cludevoid mai n() int a6=36,25,48,14,55,40。int b1=a0。for(int i=1。 ib1) b1=ai。cout ” b仁” b1endl。运行结果:553. #
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 四年级数学(简便运算)计算题专项练习与答案
- 联合企业激励协议书(2篇)
- 癌症康复课件教学课件
- 南京航空航天大学《电机学》2021-2022学年期末试卷
- 南京工业大学浦江学院《信息交互设计》2022-2023学年第一学期期末试卷
- 南京工业大学浦江学院《设计原理与设计管理》2021-2022学年第一学期期末试卷
- 分数的产生和意义说课稿
- 蹲踞式跳远示范说课稿
- 银凯工业园孵化产业园一区二期工程施工组织设计
- 《夏天的雷雨》的说课稿
- pep小学英语三年级上册全册英语电子教案
- Unit+5+Understanding+ideas高中英语外研版(2019)选择性必修第一册
- 晾晒棚施工方案
- 预防校园欺凌法治知识竞答题库及答案
- 新课标下的高中历史教学 课件
- 霉菌性阴道炎护理
- 排球双手正面垫球单元计划
- 青岛版科学五年级上册第五单元第18课材料的导热性
- 《水果与健康常识》课件
- 规范中C20-C80混凝土本构关系
- 危险性较大的分部分项工程监理巡视表-有限空间
评论
0/150
提交评论