条件选择语句(可嵌套运用)
if(表达式)语句一 else语句二
if(表达式)
{}//表达式为真执行语句一
else{}//除去if那种情况外的所有情况执行else后的操作
注意事项
在执行if语句时先对表达式一求解,若数制表达式不为零,按”真“处理,如果数值为零则进行else if()中的表达式判断,如果只有else直接进行else后的操作语句
循环语句三种
while循环:
一般形式:
whiile(表达式)语句//若括号表达为真则进行语句,或数字非零
例如:
while(i){
cout<<i<<endl;
i--;
}
注意事项:
常用于循环次数不确定的问题
循环体最少包括一个以上的执行语句,并且用{}括起来
如果没有花括号则范围覆盖到第一个分号处在本例中如果没有{}只进行操作cout<<i<<endl;
应在循环中包括使得循环趋于结束的语句本例中i--;就是此语句。若没有该语句则为死循环
do...while语句
一般形式:
do
语句
whiile(表达式);//若括号表达为真则继续进行语句,或数字非零
特点或与while循环区别:
先进行一次循环在判断条件是否成立;while先判断在循环,二则可以相互转换
例如:
do{
cout<<i<<endl;
i--;
}while(i--);
for循环
一般形式:
for(表达式1;表达式2;表达式3)语句//若括号表达为真则进行语句,或数字非零
常用格式:
for(循环变量赋值语句;循环条件;变量增量)语句
for(auto 变量名:范围)语句
例如:
1 for(int i=0;i<10;i++)cout<<i;
2 for(int i=0;i<10;i++){cout<<i;}
3 int a[3]={1,2,3};
for(auto au;a){cout<<au<<endl;}
int arr[10];
for(int i=0;i<10;i++)
{arr[i]=i;}
for(auto &a:arr)
{cout << a;}
//两个for循环输出结果相同
C++11中,标准委员会赋予了auto全新的含义即:auto不再是一个存储类型指示符,而是作为一个新的类型指示符来指示编译器,auto声明的变量必须由编译器在编译时期推导而得
使用auto减少范围设定减少错误
注意事项:
一般for循环用于已经知道循环次数的问题
表达式1可以省略但是后面的‘;’分号不能省忽略
表达式2不能省略,省略变成死循环
表达式3可以省略;但是要在循环语句中添加语句保证循环正常结束
提前结束循环语句break和continue
break语句
第一种:跳出switch结构进行后面的语句
第二种;跳出循环,提前结束循环
continue语句
跳出本次循环跳过conntinue后面的语句进型下一次循环判定
多分支选择语句
switch(表达式)//表达式数可以为数制类型也可以是字符型
{case 常量表达式1:语句一
case 常量表达式2:语句二
case 常量表达式3:语句三
default:语句//所有case情况之外的情况
}//case和default顺序先后的可以不影响结果
例子:一般结构
switch(a){
case 1:cout<<a; break;
case 2: cout<<2;break;
case 3: cout<<2;break;
default:break;
}
注意事项:
执行语句可以相同;但是case后面的常量表达式不能相同
常用break来跳出switch语句
当要处理的分支较多是虽然可以用if嵌套但是语句过长可读性及降低,所以可以采用switch语句
转向语句
goto语句它有一个致命的缺点:一旦滥用goto语句将会导致逻辑混乱,导致系统崩溃等问题!!!
一般形式:
aga:
语句;
goto aga;//aga只是一个名字可以自己更换
例如:
#include <iostream>
using namespace std;
int main(int argc, const char * argv[]) {
cout<<"1111111"<<endl;
cout<<"2222222"<<endl;
goto EXIT;
cout<<"3333333"<<endl;
cout<<"4444444"<<endl;
EXIT:
cout<<"5555555"<<endl;
return 0;
}
程序的输出结果如下:
1111111
2222222
5555555
从函数返回语句
returnreturn可以用于返回函数 例如return a+b;的结果值。
函数可以有一个返回类型,比如int、float,char等,return可以返回相应类型的值。
如:return a;