c++编程入门2 基础知识

c++中的几种操纵符

1.setw(int)用来设置域宽,就是设置数值的显示位数 头文件为iomanip

2.setprecision(int)用来设置浮点数的小数位数(包括小数点) 四舍五入 头文件为omanip

3.endl 插入换行符,并刷新流

#include<iostream>
#include <iomanip>
#include<string>
using namespace std;

void main(){
    cout << setw(10) << 1 << endl;
    cout << setprecision(5) << 1.123456 << endl;
    //setw()和setprecision()只对直接跟在<<后面的数据对象起作用
}

 

c++中的跳转语句

break continue goto语句

常用的break continue自行查找资料

在这里让大家大致了解一下goto语句

goto语句的作用是从goto语句无条件跳转到同一函数内的另一条语句

注意:不要再程序中使用goto语句,因为它使得函数即难理解又难修改

goto语句的语法形式:

goto label;

其中label是用于标识一条语句的标示符

带标签语句是一种特殊的语句,在它之前有一个标示符以及一个冒号

begin : return; //带标签语句,可以用作goto的目标

标签标示符独立于变量或其他标示符的名字所以标签标示符可以和程序中其他实体的标示符使用同一个名字而不会互相干扰

goto语句和控制权转向的那条带标签的语句必须位于同一个函数内

//用goto实现 1+2+....+9+10
    int value=1,sum=0;
value ://带标签语句
    sum += value;
    value++;
    if(value<=10) goto value;
    cout << sum << endl;

 

和switch语句类似,goto语句也不能将程序的控制权从变量的作用域之外转移到作用域之内

goto end;
    int ix = 10;
end:
    ix = 42;
    //错误:goto语句绕过了一个带初始化的变量定义

 

在switch中如果我们需要为某个分支定义并初始化一个变量,我们应该把变量定义在块中,从而确保后面的所有case标签都在变量的作用域之外

bool mark = true;
switch (mark){
    case true:{
        string name="name"; 
        cout << name << endl;
        break;
    }
    case false:{

    }
}

 

向后跳过一个已经执行的定义是合法的,跳回到变量定义之前意味着系统将销毁该变量,然后重新创建它

int num = 0;
begin:
int sz =num;
num++;
if (sz<=10) goto begin;

2018-10-18

posted @ 2018-10-18 20:39  CCSU_CBG  阅读(152)  评论(0编辑  收藏  举报