5. 语句

语句

简单语句以分号结束,如表达式语句、空语句。

v + 5; //表达式语句
cout << v; //表达式语句
; //空语句

1.复合语句(块)

复合语句是指用花括号括起来的语句和声明的序列,复合语句也被称为

一个块就是一个作用域,只在块中引入的名字只能在块内部以及嵌套在块中的子块里访问。 如:

while (v <= 10) {
    sum += v; 
    ++v;
    int ret = sum; //ret在块中定义
} //离开块ret被销毁
cout << ret; //错误,ret已被销毁不能使用

2.while语句

while语句当满处条件时就重复地执行循环体,当不确定要迭代多少次时,使用while循环比较合适。

while (condition) {
    statement;
}

定义在while条件循环体部内的变量每次迭代都要经历从创建到销毁的过程

while (1) {
    int i = 0;
    i++;
} //i不停的创建销毁

3.传统for语句

for语句语法形式:

for (init_statement; condition; expression) {
    statement;
}

for语句执行流程如下:

  1. 循环开始时,先执行一次init-statement.
  2. 判断condition
  3. 如果条件为真,执行循环体。
  4. 最后执行expression

如:

for (int i = 0; i != s.size() && !isspace(s[i]); i++) {
    s[i] =toupper(s[i]); //将当前字符改为大写
}

//等价于while的形式
{//相当于for的作用域
   int i = 0;//这里i属于
   while(i != s.size() && !isspace(s[i])) {
       s[i] = toupper(s[i]); 
       i++;
    }
}
4.范围for语句

范围for语句可以遍历容器或其他序列所有元素。语法形式为:

for (declaration : expression) {
    statement;
}

其中,expression是一个序列对象,如vector或string对象。declaration表示一个变量,用于访问序列中元素statement表示对这个对象进行的某种操作。

如:把string对象中的元素全部打印出来

string s("abcd");
for (char c : s) {
    cout << c<< " ";
}
打印结果为:a b c d 

又如:将s中的小写字符全变成大写字符

string s("akzzzz");
for (auto &c : s) {
    c=toupper(c); //c是一个引用,因此赋值语句将改变s中字符的值
    cout << c ;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值