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

加入VIP,免费下载
 

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

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

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C++基础习题.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C++基础习题.docx

1、C+基础习题东 南 大 学 考 试 卷(A卷)课程名称程序设计与算法语言考试学期12-13-2得分适用专业自动化考试形式闭卷考试时间长度120分钟自 觉 遵 守 考 场 纪 律 如 考 试 作 弊 此 答 卷 无 效一、选择:共30分,每题2分1、 下列标识符哪个是不合法的?_A. sin B. 5arry C. _name D. Example2_1 2、 以下数据类型中,表达单字节整数的是:A. char B. long long C. short D. float3、 下列有关枚举类型的说明哪个是错误的?_A枚举常量(或称枚举成员)是以标识符形式表示的整型量;B默认状态下,这个整数就是所

2、列举元素的序号,序号从0开始;C类型定义时可以为部分或全部枚举常量指定整数值,其余的枚举常量仍按默认方式取值。 D各枚举常量的值可以重复,但各枚举常量标识符必须不同。4、 C+中表示字符A,作为字面常量,的正确表示方法是_。A65 BA C65 DA5、 下面有关函数调用的说法哪一个是错误的_A实参与形参的数目要求必须是相同的;B实参与形参的对应关系取决于位置而不是名字;C实参与对应的形参应类型匹配,即实参的类型可以转化为形参类型;DC+参数传递两种方式:传值与引用。6、 判断下列哪些正确的常量_(多选),7、 判断下列哪些是变量申明_(多选)A. China B. const int n =

3、 10;C. int m = 5;D. aE. char ch=a F. int array5 = 1, 2, 3, 4, 5;G. char s = Hello;8、 无论循环条件是否成了,循环至少执行一次的是 。A. for语句 B. while语句 C. do.while语句 D. 以上都不是9、 要判断char型变量m是否是数字字符,可以使用下列表达式 。A0 = m & m = 9 B0 = m & m = 9C0 = m & m = 9 D0 = m b)&(n=cd)后,m,n的值为 。A0,0 B0,2 C1,0 D2,25. 设有说明: int x=10,f; float y

4、=2.5;执行表达式f=x/(int)y后,则f、y的值分别为 。A. 4,2 B. 5,2 C. 4,2.5 D. 5,2.56. 设有变量说明int i=3,j=5,m; 执行语句 m=(i+)-(-j);后,m的值是 。 A. -1 B. 0 C. -2 D. 不确定,与编译器有关7. 为了使输出结果为4, 执行以下程序时给a和b输入的值应满足的条件是 。#include void main() int s,t,a,b; cinab; s=1,t=1; if(a0)s+; if(ab)t+; else if(a=b)t+=s; else t=2*s; coutb B. ab0 C. 0a

5、ab8. 若a,b均为int型变量,且a=100,则以下关于for循环语句的正确判断是 。for(b=99;a!=b;+a,b-) couty?x:y; int z; z=xy?x:y; return z; B. int max(int x, int y) D. int max(int x,int y) int z; return (xy?x:y); z=xy?x:y; return z; 11. 设有函数定义:void f(int n,double x);若以下选项中的变量都已正确定义并赋值,则调用f函数的正确形式为 。 A. f(int i,double z); B. j=f(1,100)

6、; C. f(x,n); D. void f(n,x);12. 有以下程序 int fun1(double a)return 2*a; int fun2(double x,double y) double a=fun1(x); double b=fun1(y);return a+b; void main() int w=fun2(1.4,2.2); return 1; 程序执行后变量w中的值是 。A. 7 B. 6 C. 6.0 D. 113. 设有函数定义int add(int x,int y)return x+y;,则其不正确的重载函数的定义是 。 A. void add(int x,in

7、t y) return; B. add(int x,int y,int z) return x+y+z; C. int add(doble x,double y) return x+y; D. double add(int x,double y) return x+y;14. 下列程序在编译时有错,该错误所在行是 。#include #define N 3 /A void main(void) int dataNN; /Bfor(int i=0;iN;i+) for(int j=0;jdataij; /C for(int i=0;iN;i+) for(j=0;jN;j+) /D coutdat

8、aijt; coutendl; A. A和B B. A C. C D. D15. 对于下列程序片段,叙述正确的是 。 #include #define M(a,b) a*b; void main() int x=M(3+4,5+6),y; y=M(3,4); coutxtyendl; A. 输出29 12 B. 输出77 12 C. 输出 41 12 D.编译有错16. 设有说明static int n1=10;const int n2=10; int n4=10;#define n3 10则关于下列语句叙述正确的是 。 int data1n1; int data2n2; int data3n

9、3; int data4n4;A. 全部正确 B. 均正确 C. 均正确 D. 均不正确17. 假如有:int a= 68; char c1=a; coutc1endl; 则输出结果为: A. a B. 68 C. D D. 语法错18. 设有定义:int x10=0;int y=1,2,3;则下列叙述正确的是 。 A. 数组x的首元素为零,其他元素为随机数。组y的大小不确定; B. 数组x的所有元素均为零。数组y的大小为3; C. 数组x的所有元素均为零,数组y的大小不确定; D. 数组x的首元素为零,其他元素为随机数。数组y的大小为3。19. 设有定义int a=1,2,3,4,5,6,7

10、,8,9,10;则下列表达式中,数值为4的表达式的个数为 。 a4 a10-6 a3+1 aa9-a6 A. 1 B. 2 C. 3 D.420. 以下能正确定义二维数组的是 。 A. int a4; B. int a4=2*4; C. int a4=; D. int a24=1,2,3,4,5; 四、阅读程序题(共41分)(注:答案请写在该题右边空白处。)1.以下程序片段的输出结果为(4分)#include void main() int a=97; char c=0x61;/十六进制数61H coutat; couthexat; coutct; couta+cendl;2.以下程序运行后的

11、输出结果是(4分)#include void main() int x=1,y=2,z=3,t=0; if(yx&xz) t=x; x=z; z=t; if(xz&yz) t=y; y=z; x=t; coutxyztendl;3.以下程序运行后的输出结果是(4分)#include int f(int n) return n %2;void main() int data8=1,3,5,2,4,6,s=0; for(int i=0; f(datai); i+)s+=datai; coutstiendl;4. 以下程序运行后的输出结果是(6分)#include void f(int x,int

12、&y) int t; t=x;x=y;y=t; coutxtyendl;void main() int a=10,b=20; coutatbendl; f(a,b); coutatbendl;5.仔细阅读下列程序,回答后面的问题(第一问4分,第二问2分)#include double f() static double f1=1; static double f2=0; double f3=f1+f2; f1=f2; f2=f3; return f3;void main() int n; cinn; for(int i=1;i=n;i+) coutf()t; coutendl;(1). 当从键

13、盘输入4时,程序的输出结果是 。(2). 该程序的功能是 。6.程序运行后的输出结果是(4分)#include void f(int x, int i, int j) int t; if(ij) t=xi; xi=xj; xj=t; i+;j-; f(x,i,j); void main() int data=2,0,3,8; f(data,0,3); for(int i=0;i4;i+) coutdatait; coutendl;7. 程序运行后的输出结果是(7分)#include void main() int data=6,5,4,3,2,1,0; for(int i=0;i3;i+) f

14、or(int j=0;jdataj+1) int t=dataj; dataj=dataj+1; dataj+1=t; for(i=0;i7;i+) coutdatait; coutendl;8.当程序运行过程中从键盘输入3时,输出结果是(6分)#include void main() const int N=10; int dataNN=0; int n;int k=1; coutn; for(int m=0;m=n-1;m+) for(int j=0;j=m;j+) datam-jj=k+; for(m=n;m=2*(n-1);m+) for(int j=m-n+1;jn;j+) data

15、m-jj=k+; for(int i=0;in;i+) for(int j=0;jn;j+) coutdataijt; coutendl; 五、程序完善题(每空2分,共24分)1. 有一堆桃子不知数目,猴子第一天吃掉一半,觉得不过瘾,又多吃了一只,第二天照此办理,吃掉剩下桃子的一半另加一个,天天如此,到第十天早上,猴子发现只剩一只桃子了,问这堆桃子原来有多少个?以下是求解上述问题的程序,请仔细阅读,并完善程序。(6分)#include void main(void) int ; for( ; i0; i-) ; cout”这堆桃子原来共有”num”只!”endl;2.完善下列程序,使其运行后能

16、输出如右图1所示的图形(6分)#include void main(void) char c=A; for(int i=1; i=4; i+) for(int j=1; j=4-i; j+)ABBBCCCCCDDDDDDDCCCCCBBBA图1 第2题的输出结果 cout ; for(j=1; j= ; j+) coutc; c+; coutendl; ; for(i=1; i=3; i+) for(int j=1; j=i; j+) cout ; for(j=1;j= ;j+) coutc; c-; coutendl; 3.下列程序的功能是在有序(降序)的数组中,用二分法查找指定的元素,请完

17、善该程序(6分)#include int B_Search(int data,int x,int n) int right=n-1; int left=0; int index; while(left=right) index=(left+right)/2; if(dataindexx) ; else return index; ;void main(void) int data=9,8,6,5,4,3,2,1; int z; cout请输入待查的数:z; int index=B_Search(data,z,sizeof(data)/sizeof(int); if( index = -1) c

18、out数组中无此元素!endl; else coutz在数组中的位置为:indexendl;4.下列程序的功能是判别从键盘输入的一个不超过5位的整数是不是回文数,请完善程序。(6分)#include int Is_Palindrome(int data, int n) int right=n-1; int left=0; while(left=right) if( ) return 0; else left+; right-; return 1;void main(void) const int N=5; int dataN; int num=0;int x; cout请输入待判别的数(不超过5位整数):x; int z=x; while(z!=0) datanum=z % 10; ; num+; int flag=Is_Palindrome( ); cout输入的数据是:xendl; if(flag) cout该数是回文数!endl; else cout该数不是回文数!endl;(此文档部分内容来源于网络,如有侵权请告知删除,文档可自行编辑修改内容,供参考,感谢您的配合和支持)

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1