- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
二级考试重要知识点
二级考试重要知识点
函数参数的三种传递方式,特别是值传递、引用传递、地址传递的区别。
静态变量的记忆功能、变量的作用域以及类中的静态成员性质。
递归函数的求解。
指针操作字符串。
与指针变量定义相近似的6种形式以及对数组的访问方法。
break与continue语句的区别。
构造函数与析构函数的特性、作用、调用以及在派生类中的调用顺序。
this指针的概念与应用。
10. 虚函数与赋值兼容性的区别。
11. 运算符重载的形式以及利用成员和友元进行重载时的参数个数上的区别,包括一些特殊运算符,如=、++、――(前置与后置的区别)。
12. 链表的四大基本操作语句:插入、删除、移动、访问。
13. 一些基本的算法程序(在讲义的92页)。
1 (参数传递)
阅读下列程序,写出运行结果。
#includeiostream.h
void swap1(int *p1,int *p2){int t;t=*p1;*p1=*p2;*p2=t;}
void swap2(int *p1,int *p2){int *t;t=p1;p1=p2;p2=t;}
void main(){
int a=5,b=6;
swap1(a,b);couta\tb\n;
swap2(a,b);couta\tb\n;}
运行后输出: (1)
(2)
阅读下列程序,写出运行结果。
#includeiostream.h
void swap(int t1,int t2){int t;t=t1;t1=t2;t2=t;}
void main(){
int a=10,b=20;
swap(a,b);couta\tb\n;}
运行后输出 。
阅读程序,执行后的结果为 。
#include iostream.h
int test1(){
int x=0;
x++;
return x;
}
int test2(){
static int x=0;
x++;
return x;
}
void main(){
int i,m,n;
for(i=0;i3;i++){
m=test1();
n=test2();
}
coutm’,’n;
}
A.1,1 B.1,3 C.3,1 D.3,3
解答:B
分析:在函数test1与test2中分别定义了局部变量x,这两个x是互不相关的。在函数test1中的x为普通的局部变量,在主函数中每次调用test1时均重新赋初始值0,故每次m的值均为1。而在test2中定义的x为静态局部变量,只在第1次调用时赋初始值,其后每次调用均使用原来的空间,故每次调用时其值在原来的基础上变化,因而第1次调用时x值为1,第2次调用时x值为2,第3次调用时x值为3,故最后输出n的值为3。
例6.用递归法将一个整数n转化成字符串。例如,输入456,则输出“456”。n的位数不确定。
分析:将整数转化成字符串可分3步进行:
(1)将整数转化成对应的数字;
(2)将数字转化成对应的字符;
(3)按要求输出对应的字符(正序或逆序)。
其中,第1步和第3步的实现有种方法:递归和循环。在数据位数不确定的情况下,正序输出通常采用递归的方法,逆序输出用递归和循环都较容易实现。字符是以其ASCII码值的方式存储的,故将数字t转化成对应字符c的方法是c=0+t,反之将字符c转化成对应数字t的方法是t = c- 0。
编程实现:
#includeiostream.h
void fun(int m){
int t;
char c;
if(m==0)return; //当m为0时,结束递归。
else{
t=m%10; //求一个数的数字,而这个数字是末位数字
c=0+t; //A将数字t转化为字符,如数字4,转化为字符’4’
fun(m/10); //B
coutc; //C
}
}
void main(){
int n;
cout请输入一个整数:;
cinn;
cout转化成的字符串是:;
fun(n);
cout\n;
}
运行结果:
请输入一个整数:456
转化成的字符串是:456
理解与思考:
1.如果要将数字字符串转换成数据,如何实现?如:“23456”转换成:23456。
2.若要得到逆序字符串“654”,需作怎样的改动?
以下程序完成了一个字符串的逆序操作,函数的结果是指向被逆序的字符串的指针。请完善程序。
#include iostream.h
char *backward( char *str){ char *p1 , *p
文档评论(0)