




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、单项选择题 1. 函数调用不可以( D )。 A. 出现在一个表达式中 B. 出现在执行语句中 C. 作为一个函数的实参 D. 作为一个函数的形参 2. 以下正确的描述是( B )。 A. 函数的定义可以嵌套,函数的调用不可以嵌套 B. 函数的定义不可以嵌套,函数的调用可以嵌套 C. 函数的定义和函数的调用均可以嵌套 D. 函数的定义和函数的调用均不可以嵌套 3. 若用数组名作为函数调用的实参,传递给形参的是( A )。 A. 数组的首地址 B. 数组中第一个元素的值 C. 数组全部元素的值 D. 数组元素的个数 4. 以下错误的描述是( D )。 A. 被调用函数中可以不用return语句 B. 被调用函数中可以用多个return语句 C. 被调用函数中,如果有返回值,就一定要有return语句 D. 被调用函数中,一个return语句可返回多个值给调用函数 5. 以下正确的描述是( C )。 A. 不允许设置参数的默认值 B. 设置参数的默认值只能在定义函数时设置 C. 设置参数的默认值时,应该设置右边的参数 D. 设置参数的默认值时,应该全部参数都设置 6. 采用重载函数的目的是( D )。 A. 实现共享 B. 减少空间 C. 提高速度 D. 使用方便,提高可读性 7. 将两个字符串连接起来组成一个字符串时,选用( C )函数。 A. strlen() B. strcap() C. strcat() D. strcmp() 8. 以下叙述中正确的是( B )。 A. 使用#define可以为常量定义一个名字,该名字在程序中可以再赋另外的值 B. 使用const定义的常量名有类型之分,其值在程序运行时是不可改变的 C. 在程序中使用内联函数使程序的可读性变差 D. 在定义函数时可以在形参表的任何位置给出缺省形参值 9. 下面的标识符中,( C )是文件级作用域。 A. 函数形参 B.语句标号 C.外部静态类标识符 D.自动类标识符19. 设array为一个数组,则表达式sizeof(array)/sizeof(array0)的结果为( B )。 A. array数组首地址 B. array数组中元素个数 C. array数组中每个元素所占的字节数 D. array数组占的总字节数 10. 用new运算符创建一个含10个元素的一维整型数组的正确语句是( C )。 A. int *p=new a10; B. int *p=new float10; C. int *p=new int10; D. int *p=new int10=1,2,3,4,5 11. 下列给字符数组赋初值时,正确的是( A )。 A. char s1=”abcdef”; B. char s24=”abcd”; C. char s323=“abc”,”xyz”; D. char s44=a,x,s,t; 12. 设有定义“static int data56;”,设该数组在静态存储区中的起始地址为十进制的100,若每个int型数占4个字节,则数组元素data23的地址为( D )。 A. 115 B.124 C.130 D.160 13. 假定变量m定义为“int m=7;”,则定义变量p的正确语句为( B )。 A. int p=&m; B. int *p=&m; C. int &p=*m; D. int *p=m; 14. 假定k是一个double类型的变量,则关于变量p的正确定义语句为( D )。 A. double p=&k; B. int *p=&k; C. double &p=*k; D. char *p=”Thank you!”; 15. 变量s的定义为“char *s=”Hello world!”;”,要使变量p指向s所指向的同一个字符串,则应选取( A )。 A. char *p=s; B. char *p=&s; C. char *p;p=*s; D. char *p; p=&s; 16. 关于void 指针,下列说法正确的是( C )。 A. void 指针就是未指向任何数据的指针 B. void 指针就是已定义而未初始化的指针 C. 指向任何类型数据的指针可直接赋值给一个void 指针 D. void 指针值可直接赋给一个非void 指针 17. 假定一条定义语句为“int a10, x, *pa=a;”,若要把数组a中下标为3的元素值赋给x,则不正确的语句为( D )。 A. x=pa3; B. x=*(a+3); C. x=a3; D. x=*pa+3; 18. 假定有定义“int b10; int *pb;”,则不正确的赋值语句为(D )。 A. pb=b; B. pb=&b0; C. *pb=new int; D. pb=b5; 19. 假定p是具有double类型的指针变量,则表达式+p使p的值(以字节为单位)增加( C )。 A. 1 B. 4 C. sizeof(double) D. sizeof(p) 20. 假定p指向的字符串为”string”,则coutp+3的输出结果为( C )。 A. string B. ring C. ing D. i 21. 假定p指向的字符串为”string”,若要输出这个字符串的地址值,则使用( D )。 A. cout*p; B. coutp; C. cout&p; D. couttitle,”Wang Tao”); B. strcpy(book.title,”Wang Tao”); C. strcpy(*book.title,”Wang Tao”); D. strcpy(*book)-title,”Wang Tao”); 26. 假定有“struct BOOKchar title40; float price; BOOK *book;”,则不正确的语句为( A )。 A. BOOK *x=new book; B. BOOK x=C+ Programming,27.0; C. BOOK *x=new BOOK; D. BOOK *x=book; 27. 假定有“struct BOOKchar title40; float price;book;”,则正确的语句为( B )。 A. BOOK &x= &book; B. BOOK &x=book; C. BOOK &x=new BOOK; D. BOOK &x=BOOK; 28. 下列对引用的陈述中不正确的是( C )。 A. 每一个引用都是其所引用变量的别名,因此必须初始化 B. 形式上针对引用的操作实际上作用于它所引用的变量 C. 一旦定义了引用,一切针对其所引用变量的操作只能通过该引用间接进行 D. 不需要单独为引用分配存储空间 29. 假定变量a和pa定义为“double a10, *pa=a;”,要将12.35赋值给a中的下标为5的元素,不正确的语句是( D )。 A. pa5=12.35; B. a5=12.35; C. *(pa+5)=12.35; D. *(a0+5)=12.35; 30. 假定变量b和pb定义为“int b10, *pb=b;”,要将24赋值给b1元素中,不正确的语句是( C )。 A. *(pb+1)=24; B. *(b+1)=24; C. *+b=24; D. *+pb=24; 31. 假定指针变量p定义为“int *p=new int(100);”,要释放p所指向的动态内存,应使用语句( A )。 A. delete p; B. delete *p; C. delete &p; D. delete p; 32. 假定指针变量p定义为“int *p=new int30;”,要释放p所指向的动态内存,应使用语句( D )。 A. delete p; B. delete *p; C. delete &p; D. delete p; 33. 假定变量x定义为“int x=5;”,要使rx成为x的引用(别名),rx应定义为( D )。 A. int rx=x; B. int rx=&x; C. int *rx=&x; D. int &rx=x;34. 下面的这个循环的循环次数是:for(int i=0,j=10;i=j=10;i+,j-). (A)A无限次 B. 语法错误,不能执行 C. 10 D.135.下列do-while循环的循环次数是: (B)for(int i=0,x=0;!x&ia_。 13. 若a是一个字符数组,则向屏幕输出a中所存字符串的表达式为_couta_。 14. 一个二维字符数组a1020能够存储_10_个字符串,每个字符串的长度至多为_19_。 15. 对一个二维字符数组a进行初始化的数据为”123”,”456”,”789”,则a1元素对应的字符串为_”456”_。 16. strlen(”apple”)的值为_5_,strcmp(”a”,”A”)的值为_1_。 17. 若需要把一个字符串”aaa”赋值到字符数组a中,则需要执行_strcpy_函数的调用来实现。 18. 假定对二维数组a34进行初始化的数据为3,5,6,2,8,7,则a11和a23分别被初始化为_8_和_0_。 19. 在C+语言中,一个函数由函数头和_函数体_组成。 20. 重载一个函数的条件是:该函数必须在参数的个数或参数的_类型_上与其它同名函数有所不同。 22. 如果一个函数直接或间接地调用自身,这样的调用称为_递归_调用。23假定p所指变量对象的值为25,p+1所指对象的值为42,则*+p的值为_42_。 24. 假定p所指变量的值为25,p+1所指变量的值为42,则执行(*p)+运算后,p所指对象的值为_26_。 25假定p所指变量的值为25,p+1所指变量的值为42,则执行*p+运算后,p所指变量的值为_42_。 26. 假定对数组a进行初始化的数据为2,7,9,6,5,7,10,则a2和a5分别被初始化为_9_和_7_。 27. 假定一个变量为int*类型,则指向该变量的指针类型为_int *_。 28. 假定p是一个指向整数变量的指针,则用_*p_表示该整数变量,用_&p_表示指针变量p的地址。三、程序填充题,对程序、函数或类中划有横线的位置,根据题意按标号把合适的内容填写到程序下面相应标号的后面。 1. 采用指针访问方式从键盘给数组aN输入数据,然后对元素值重新按逆序存放并输出。 #include const int N=8; void main() int aN,*p,*q; for(p=a; pa+N; p+) _(1)_; p=a;q=a+N-1; while(pq) int r=*p; *p=*q; *q=r; _(2)_; _(3)_; for(p=a;pa+N; p+) cout*p ; cout*p (2) p+ (或+p) (3) q- (或-q) 2. 从键盘上输入一个正整数,然后把它转换成的二进制数的每一位存放到一维数组中,最后输出该二进制数。注意二进制数的存放是按照从低位到高位的次序进行的。 #include void main() int x; coutx; int a20,k=0,r; do r=x%2; ak+=r; x=_(1)_; while(_(2)_); for(-k;k=0;k-) _(3)_; coutendl; (1) x/2 (2) x!=0 (3) coutak 3. 对数组an按升序进行的选择排序算法 void SelectSort(int a, _(1)_) int i,j,k; for(i=1;in;i+) /进行n-1次选择和交换 k=i-1; for(j=i;jn;j+) if(ajak) _(2)_; int x=ai-1; ai-1=ak; _(3)_; (1) int n (2) k=j (3) ak=x 4. 对数组an按升序进行的插入排序算法 void InsertSort(_(1)_, int n) int i,j,x; for(i=1;i=0;j-) /为x顺序向前寻找合适的插入位置 if(xaj) _(2)_; else _(3)_; aj+1=x; (1) int a (或int* a) (2) aj+1=aj (3) break 5. 对按从小到大排列的有序数组an进行二分查找x的算法,若查找成功返回该元素下标,否则返回-1。 int BinarySearch(int a,int x) int low=0, high=N-1; /定义并初始化区间下界和上界变量 int mid; /定义保存中点元素下标的变量 while(low=high) mid=_(1)_; if(x=amid) _(2)_; else if(x=0 ; j-) if(strcmp(p,tablej)*p (2) p+ (或+p) (3) q- (或-q)7 输入某一年的年份和月份,计算该月的天数 #include void main() int year,month,day; coutyearmonth; switch (_1_) case 1: case 3: case 5: case 7: case 8: case 10: case 12: _2_;break; case 4: case 6: case 9: case 11: _3_;break; case 2:if (_4_ _) day=29; else day=28; break; _5_:coutInput data error!endl;day=0;break; if (day!=0) coutThe day of year,month is dayendl;四、指出程序或函数的功能 1. void f2(double a, int n) int i; double sum=0; for(i=0;in;i+) sum+=ai; sum/=n; for(i=0;i=sum) coutai ; coutendl; 功能: 显示输出数组an中大于等于平均值的所有元素值。 2. void f4(char aMN) int c1,c2,c3; c1=c2=c3=0; for(int i=0;iM;i+) if(strlen(ai)=5 & strlen(ai)15) c2+; else c3+; coutc1 c2 c3endl; 功能:对于二维字符数组a中保存的M个字符串,分别统计并输出其长度小于5、大于等于5且小于15、大于等于15的字符串个数。 3. void fun3(int aN, int m, int n, int& row, int& col) int x=a00; row=col=0; for(int i=0;im;i+) for(int j=0;jx) x=aij; row=i; col=j; 功能:从一个二维整型数组中查找具有最大值的元素,由引用参数row和col带回该元素的行号和列号。5. char* f8(char* str1, const char* str2) int i=0,j=0; while(str1i) i+; while(str2j) str1i+=str2j+ ; str1i=0; return str1; 功能:实现strcat函数的功能,把str2所指字符串连接到str1所指字符串的后面,并返回str1指针。 6. int f8(const char* str1, const char* str2) int i=0; while(str1i & str2i) if(str1i=str2i) i+; else if(str1istr2i) return 1; else return -1; if(str1i=str2i) return 0; else if(str1istr2i) return 1; else return -1; 功能:实现strcmp函数的功能,比较两个字符串str1和str2的大小,若str1较大则返回1,若str2较大则返回-1,若两者相等则返回0。7.#include void f(int &a,int &b) int t=a; a=b; b=t; void main(void) int x=10,y=15; f(x,y); coutxtyn; 8#include void main(void) int i=10; switch (i) case 9:i+; case 10:+i; case 11:i+; default:i=i+1; coutiendl; 五、写出程序运行结果1. #include void main() char a=abcdabcabfgacd; int i1=0, i2=0, i=0; while(ai) if(ai=a) i1+; if(ai=b) i2+; i+; couti1 i2 iendl; 结果:4 3 14 2. #include void main() int a8=36,25,48,14,55,40,50,24; int b1, b2; b1=b2=a0; for(int i=1;ib1) b2=b1; b1=ai; else if(aib2) b2=ai; coutb1 b2endl; 结果:55 50 3. #include void f4(int a, int n, int& s) s=0; for(int i=0; in; i+) s+=ai; void main() int b8=4,8,6,9,2,10,7,12; int x; f4(b,5,x); coutx ; int y; f4(b+3,4,y); couty ; coutx+yendl; 结果:29 28 574. #include void f2(int& x, int& y) int z=x; x=y; y=z; void f3(int* x, int* y) int z=*x; *x=*y; *y=z; void main() int x=10,y=2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年河南省西游记真题及答案
- 中职机电专业试题及答案
- 超市合同租赁合同4篇
- 2025公交司机考试题库及答案
- 2025预防接种相关试题及答案
- 书法考试专业试题及答案
- 专业心理学试题及答案
- 电梯安全管理人员联考练习题库加答案
- 完整版三维效果图制作合同3篇
- 解除外墙漆施工合同协议书4篇
- 梯田建筑规划方案(3篇)
- 数字时代的艺术史重构-洞察及研究
- 零星维修工程项目方案投标文件(技术方案)
- 2025年江西省高考物理真题
- 海龟汤题目和答案(100题)
- 学习进阶理论指导下的美国科学课程体系整合研究
- 车队车辆保养维护方案
- 【教学评一体化】第五单元 观世间万物悟人生哲思【大单元公开课一等奖创新教学设计】新统编版语文七年级下册名师备课
- 新课程标准2025版解读
- 非营利组织会计岗位职责
- 电梯维修改造施工方案大修
评论
0/150
提交评论