C++常见问题系列(一)——基础问题
2016-05-11 11:24
337 查看
一 三种基本数据类型
整数型,浮点型和void型;其中表示整数、字符和布尔值的算术类型合称为整形。
二 操作符
操作符说明了表达式的主要目的,并且计算返回结果。按照功能区分操作有算术操作符、关系操作符、逻辑操作符、条件操作符等,不同优先级决定了表达式的运算顺序。
三 自增自减
注意:变量的自增自减是修改变量的值,指针的自增自减是修改指针的指向地址。
四 变量的声明、定义与引用
声明的主要目的是表明变量的类型和名称,定义的主要目的是为变量分配存储空间,引用主要用作函数的形式参数。
五 变量的四种存储类型
自动类型,寄存器类型,外部类型(extern必须是全局变量),静态类型(static,在程序运行过程中静态变量始终占用一个存储空间)
六 关于const
const引用是指向const对象的引用,const引用必须被定义为const类型。
七 break与continue区别
continue语句只能出现在循环语句中,而break语句可出现在switch语句,continue语句不会退出循环,只会终止当次执行循环体并且进入下一次循环体的执行,break语句会退出循环语句。
八 递归
一个过程或函数直接或间接调用自己本身,这种过程或函数叫递归过程或递归函数。
例子:汉诺塔问题
整数型,浮点型和void型;其中表示整数、字符和布尔值的算术类型合称为整形。
二 操作符
操作符说明了表达式的主要目的,并且计算返回结果。按照功能区分操作有算术操作符、关系操作符、逻辑操作符、条件操作符等,不同优先级决定了表达式的运算顺序。
三 自增自减
int i=0,j; j = ++i; //前自增操作,结果j=1,i=1 (优先级大于=,先自加) j = i++; //后自增操作,结果j=1,i=2 (其优先级小于赋值运算符,则先执行=,表达式的值不会发生改变)
注意:变量的自增自减是修改变量的值,指针的自增自减是修改指针的指向地址。
四 变量的声明、定义与引用
声明的主要目的是表明变量的类型和名称,定义的主要目的是为变量分配存储空间,引用主要用作函数的形式参数。
extern int a; //extern关键字声明变量名但不定义 int a = 100; int &reta = a;
五 变量的四种存储类型
自动类型,寄存器类型,外部类型(extern必须是全局变量),静态类型(static,在程序运行过程中静态变量始终占用一个存储空间)
六 关于const
const引用是指向const对象的引用,const引用必须被定义为const类型。
const int a = 10; const int &reta = a; int &reta = a; //错误的,引用必须定义const类型
七 break与continue区别
continue语句只能出现在循环语句中,而break语句可出现在switch语句,continue语句不会退出循环,只会终止当次执行循环体并且进入下一次循环体的执行,break语句会退出循环语句。
八 递归
一个过程或函数直接或间接调用自己本身,这种过程或函数叫递归过程或递归函数。
例子:汉诺塔问题
void Move(int n,char i,char j) { cout<<"send"<<n<<"from"<<i<<"to"<<j<<endl; } void Hannoi(int n,char a,char b,char c) { if (n ==1) { Move(1,a,c) } else { Hannoi(n-1,a,c,b); Move(n,a,c); Hannoi(n-1,b,a,c); } }
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- 关于指针的一些事情
- c++ primer 第五版 笔记前言
- share_ptr的几个注意点
- Lua中调用C++函数示例
- Lua教程(一):在C++中嵌入Lua脚本
- Lua教程(二):C++和Lua相互传递数据示例
- C++联合体转换成C#结构的实现方法
- C++高级程序员成长之路
- C++编写简单的打靶游戏
- C++ 自定义控件的移植问题
- C++变位词问题分析
- C/C++数据对齐详细解析
- C++基于栈实现铁轨问题
- C++中引用的使用总结
- 使用Lua来扩展C++程序的方法
- C++中调用Lua函数实例
- Lua和C++的通信流程代码实例
- C与C++之间相互调用实例方法讲解
- 解析C++中派生的概念以及派生类成员的访问属性