ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:141.38KB ,
资源ID:4517982      下载积分:5 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4517982.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(C++(I)练习题题库及答案.docx)为本站上传会员【二***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

C++(I)练习题题库及答案.docx

1、《高级语言程序设计(C++I)》题库一.单项选择题(每题2分,共20分) 1.以下字符列中,合法的浮点型常量是: (A) 457(B) 6e5. 3(C) e7 (D) 123e62.字符串常量”w\x42\\\nx\103y”的长度是: (A) 7(B) 11(C) 15(D) 16.以下运算符中,自右向左结合的运算符是: (A) 口(B) <=(0 *=(D) «.表达式4/8*100/2.0的值是: (A) 25 (B) 25.0(C) 0(D) 0.0.设变量int a = 5;以下哪个表达式计算后,使得变量b的值不为2 ? (A) b=a/2(B) b=6- (—a)(C

2、) b=a%2(D) b=a<3?3:2.设a是整型变量,不能表达数学关系式n〈a〈15的C++表达式是: (A) a>ll&&a<15(B) a==12||a==13||a==14(C) ! (a<=ll)&&! (a>=15)(D) ll>sl;(B)char *sl, *s2="name";sl=s2;(C)char si [5]="name";(D)char si [5]=『name"}; 4 . 一个具有6个整型指针元素的一维数组的正确定义是: (A)int **p

3、[6](B)int *(p)[6](C)int *p[6](D)*(*(p)[6]) 5 .执行语句x=l; while (x++<7)cout〈〈'*';后输出结果是: (A) **(B) ****(C) ******(D) *******.假设用一维数组名作为调用函数时的实参,那么传递给形参的是: (A)数组首元素的地址(B)数组首元素的值(0数组元素的个数(D)数组中全部元素的值 二.简答题(每题2分,共20分).设整型变量X为任何一个整数,表达式-2〈X<2的值是? 1 .调用函数时,希望从提供的实参变量中得到函数的结果,那么对应的形 参应该是? 2 .设有变量定义 cha

4、r *s□={“Beijing","Shanghai", "Guangzhou”};执行 语句cout«*(s+l)+l;输出是? 3 .表述“变量x的值等于3”和“变量y的值等于5”其中有且只有一种 情况成立的表达式是? 4 .设有变量定义int a[4] [3], *p=a[2];表达式p+2指向的元素是? 5 .将字符串str2拷贝到字符数组strl 口中,应调用函数? 6 .说明语句char *w();的含义是? ttinclude void printN(int n){ if(n) { printN(n-l);cout << n << end

5、s ; }) void print (int w){ if( w ) { print( w-1 );printN(w); cout << endl; )) void main (){ print ( 5 ); } 1 1 2 1 2 3 12 3 4 1 2 3 4 5四.根据程序功能填空。(每空2分,共20分) 精度为le-6。 1.0 t>=le-6 t=t/n 1.本程序按以下公式计算e的值, t 111 6 = 1 H1F・・・HF …1!2!nl #includevoid main () { double e, t, n

6、e=0; t=n=(1);while ((2)) { e+=t;(3); n=n+l. 0;) cout< #includechar*) char*) (4)void change(char*,void main() {char strl [20], str2[20];cin>>s

7、trl; change(strl,str2);cout<=' O' &&*sl〈二'9')*s2=(6); else *s2=toupper(*sl);(7) 3.函数create从键盘输入整数序列,以输入0为结束。按输入逆序建立 一个以head为表头的单向链表。例如,输入序列为1 2 3 4 5

8、0,建立 的链表是5 4 3 2 lostruct node{int data; node * next;}; void create(node * &head){node *p; (8);p = new nodecin>>p->data; while(p->data!=0){if (head二二NULL) { head=p; head->next=NULL; } else{(9)p->next = head; (10) head = p;) p=new node;cin>>p->data; 五.程序设计(第1小题6分,第2、3小题各7分,共20分)4.编写函数输出以下形状的图形

9、其中构成图形的符号和输出的行数通 过参数传送。 甘# # # # # ########## 答案: #include #includevoid print_figure(int row, char tag)〃行参数和符号参数 {int i; cout<

10、 for (i=l; i<=2*row-l; i++)cout<void main() {int x[100], k, i, n; double sum=0. 0, ave; cout<<,zHow many Data ?\n〃; cin>>k; f

11、or (i=0; i>x[i]; sum+=x[i];} ave=sum/k;//求平均值 n=0; for(i=0; iave) n++; cout<<,zaverage=//<

12、),计算表达式a op b的值。由主函数 输出结果。 答案: #includedouble count (char, double, double); void main(){double a, b; char op; cout<>b;if (op!='+' &&op!二'-'&&op!='*' &&op !二'/') cout<

13、/<

14、功能是由参max, min, average返回整型数组a前num个元素中的最大值,最小值和平均 值。对应的函数原型是? 10 . 有说明 struct link{ int code; link *next; }; link *head, *p; head为单链表的头结点,在*head之后插入*p结点操作的语句是? 三.分析程序,写输出结果(每题5分,共20分)#include void main() { int a[10] = {2, 4, 0, -5, 10, 6, -8, 9, 6, 7);int i, s=0, count=0; for (i=0;i

15、<10;i++)if (a[i]>0) s+=a[i], count++; else continue; cout<<〃s=〃< void fun(); void main() {int i;for (i=l;i<5;i++) fun();cout< int lcm(int m, int n) {

16、int r, a, b; a=m; b=n; r=m; do {m=n; n=r; r=m%n; }while (r);return a*b/n; void main (){ cout< void printN(int n) { if(n){ printN (n-l); cout << n << ends ; }) void print(int w){ if( w ) { print( w-l ); printN(w); cout << endl;} }

17、void main() { print( 5 ); }四.根据程序功能填空。(每空2分,共20分) 1 .本程序按以下公式计算e的值,精度为le-6。 1 111C -1F・・・HF … 1! 2!nl#include void main(){ double e, t, n; e=0;t =n二(1); while ((2)){ e+=t; (3);n=n+l. 0; )cout<

18、出转换后的字符串。 #include#include (4)void main() {char strl[20], str2[20];cin>>strl; change(strl,str2);cout<=' O' &&*sl<=,9') *s2 =(6);else *s2=toupper(*sl); (7)*s2='\0'; )3.函数create从键盘输入整数序列,以输入0为结束。按输入逆序建立

19、一个以head为表头的单向链表。例如,输入序列为1 2 3 4 5 0,建立 的链表是5 4 3 2 lo struct node{int data; node * next;};void create(node * &head) {node *p;(8); cin>>p->data;while (p->data!=0) {if(head二二NULL) { head=p; head->next=NULL; } else{ (9) (10) p=new node; cin>>p->data;五.程序设计(第1小题6分,第2、3小题各7分,共20分) 1 .编写函数输出以下形状的图

20、形,其中构成图形的符号和输出的行数通 过参数传送。 # # # # # ########## 2 .编写一个程序,实现如下功能: (1)输入k (<100)个整数到数组x[100]中; (2)计算k个数的平均值及大于平均值的元素个数。 3 .编写一个程序,实现如下功能: (1)从键盘输入a op bo其中a, b为数值;op为字符,限制为+、 -、*、/。 (2)调用函数count (op, a, b),计算表达式a op b的值。由主函数 输出结果。 《高级语言程序设计(C++I)》练习题参考答案一.单项选择题(每题2分,共20分) 1 .以下字符列中,合法的浮点型常量

21、是: (A) 457(B) 6e5.3(C) e7(D)123e6 2.字符串常量”w\x42\\\nx\103y”的长度是: (A) 7(B) 11(C) 15(D) 16.以下运算符中,自右向左结合的运算符是: (A) 口(B) <=(C) *=(D) «.表达式4/8*100/2.0的值是: (A) 25(B) 25.0(C) 0(D) 0.0.设变量int a = 5;以下哪个表达式计算后,使得变量b的值不为2 ? (A) b=a/2(B) b=6- (—a)(C) b=a%2(D)b=a<3?3:2 6.设a是整型变量,不能表达数学关系式的C++表达式是: (A) a>

22、ll&&a<15(B) a==12||a==13||a==14 (C) ! (a<=ll)&&!(a>=15)(D) ll

23、有6个整型指针元素的一维数组的正确定义是: (A) int **p[6](B) int (*p) [6] (C) int *p[6](D) *(*(p)[6]) 试比拟以下几种说明形式: int * p;//p是指向整型变量的指针(p是关联类型为 整型的指针)int *pa[10];// pa是数组,元素类型是整型指针 int (*pb) [10]; // pb是指针,指向(关联类型)长度为10 的整型数组int * f();// f是返回整型指针的函数名 int (*f) () ;// f是指针,指向(关联类型)是返回整型 值的无参函数例:有声明 int (*f) (int

24、 int) ; int max(int, int) ; int min(int, int);贝(J:f=max;f (a, b) ;// 等价 于(*f)(a, b); max (a, b);f=min;f (a, b);〃等价于(*f) (a, b); min (a, b);.执行语句x=l; while(x++<7)cout<<'*';后输出结果是: (A) **(B) ****(C) ******(D) ******* (x++<7)① x<7② x=x+l.假设用一维数组名作为调用函数时的实参,那么传递给形参的是: (A)数组首元素的地址(B)数组首元素的值 (C)数组元素

25、的个数(D)数组中全部元素的值二.简答题(每题2分,共20分) 1 .设整型变量x为任何一个整数,表达式-2〈x<2的值是?1.调用函数时,希望从提供的实参变量中得到函数的结果,那么对应的形 参应该是? 指针或引用类型参数 注意使用方法: 函数定义void funl (int xl); 据值参数void fun2 (int * x2); 参数,传地址值void fun3 (int & x3); 参数,传名以上参数用于操作数据对象 void fun4(int * &x4): 引用参数,传名以上参数用于操作指针对象 调用 intint intint a2;a3; funl

26、al);fun2(&a2); fun3(a3);*a4; fun3 (a4); //传数 //指针 //引用 //指针 s+1 s+1 == &s[l] //s是二级指针 情况成立的表达式是? x==3&&y!=5||x!=3&&y==5 .设有变量定义 char *s口={“Beijing", "Shanghai", "Guangzhou”};执行 语句 cout<<*(s+l)+l;输出是? hanghai s是字符指针数组 *(s+l) == &s[l] [0] *(s+l)+l == &s[l] [1] /

27、/ 一级指针 输出字符指针是输出所指串值.表述“变量x的值等于3”和“变量y的值等于5”其中有且只有一种 (x==3)!=(y==5) 5. 设有变量定义int a[4] [3], *p=a[2];表达式p+2指向的元素是? a[2][2] 将字符串7. str2拷贝到字符数组strl□中,应调用函数? strcpy(strl, str2)说明语句char *w();的含义是? 函数原型。w是函数名,返回字符型指针 8. 表达式new返回首地址 int[10]的含义是?分配长度为10的整型数组堆内存, 分配堆

28、要用指针记录地址 int *p=new int[10], *q; *p = 10; p[l] = 20;〃对动态数组的两种访问方式 *q=10; q[0]<2;〃错误,指针没有关联对象.设有函数调用语句Count (a , num, max, min, average);功能是由参数 max, min, average返回整型数组a前num个元素中的最大值,最小值和 平均值。对应的函数原型是? void Count (int [], int, int &, int &, double &);假设调用语句为 Count (a , num, &max, &min, &average);

29、那么函数原型为 void Count (int [], int , int* , int* , double * );. 有说明 struct link{ int code; link *next; } ; link *head, *p; head为单链表的头结点,在*head之后插入*p结点操作的语句是? p->next=head->next; head->next=p;//p->next ==(*p).next head*headq \y 思考: (1) 结点插在表头如何操作?p->next=head; head=p; (2) 结点插在表尾如何操作? q=head; while

30、q->next)q=q->next; q->next=p; p-〉next=NULL; (3) 遍历链表,输出结点值: q=head; while(q->next){cout<code; q=q->next;} (4)删除一个结点*(q->next)如何操作? t = q->next; q ->next = t->next; delete t; 三.分析程序,写输出结果(每题5分,共20分) 1 .求>0的元素和;>0的元素个数。 #includevoid main () { int a[10] = {2, 4, 0, -5,10, 6, -

31、8, 9, 6, 7};int i,s=0,count=0; for (i=0;i<10;i++)if(a[i]>0) s+=a[i], count++; else continue;cout< void fun(); void main() {int i; for (i=l; i<5; i++) fun(); cout<

32、 fun() {static int a; int b=2; cout<< (a+=3, a+b) <<' \t'; } 581114 ②32 68 ③62 911 @92 1214 .求最小公倍数 #includeint lcm(int m, int n) { int r, a, b;a=m; b=n; r=m; do〃辗转相除法,求最大公约数{ m=n; n=r; r=m%n; } while(r);return a*b/n;〃求最小公倍数 }void main() { cout<

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

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

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

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

gongan.png浙公网安备33021202000488号   

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

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

客服