您的位置:首页 > 编程语言 > C语言/C++

C++常见问题系列(一)——基础问题

2016-05-11 11:24 337 查看
一 三种基本数据类型

整数型,浮点型和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++