c++第三十天
P154~p159:
语句
1、通常情况下顺序执行。
2、C++提供一组控制流(flow-of-control)语句以支持更复杂的执行路径。
3、空语句的作用:语法上需要一条语句,但是逻辑上不需要。
while(val <= ) {
; // 空语句
}
注意:使用空语句时加上注释,提高可读性。
4、复合语句的作用:语法上需要一条语句,但是逻辑上需要多条语句。
ps:复合语句也被叫做块(block),一个块就是一个作用域。
语句作用域
if语句
1、C++规定:else与离它最近的尚未匹配的if匹配。
练习 5.1
见上文
练习 5.2
见上文
练习 5.3
可读性降低。
#include<iostream>
int main()
{
int sum = , val = ;
while(val <= ) sum += val, ++val;
std::cout << sum << std::endl;
return ;
}
练习 5.4
a iter没有初始化
b status应该定义在语句外部
练习 5.5
#include<iostream>
#include<vector>
#include<string>
using std::vector;
using std::string;
int main()
{
const vector<string> scores = {"f", "d", "c", "b", "a", "a++"};
string lettergrade;
int grade;
std::cin >> grade;
if (grade < ) {
lettergrade = scores[]; // vector支持下标访问
} else {
lettergrade = scores[(grade - )/];
if (grade != ) {
if (grade % > ) {
lettergrade += '+';
} else if (grade % < ) {
lettergrade += '-';
}
}
}
std::cout << lettergrade << std::endl;
return ;
}
练习 5.6
#include<iostream>
#include<vector>
#include<string>
using std::vector;
using std::string;
int main()
{
const vector<string> scores = {"f", "d", "c", "b", "a", "a++"};
string lettergrade;
int grade;
std::cin >> grade;
lettergrade = (grade < ) ? scores[] : (grade == ) ? scores[(grade - )/] : (grade % > ) ? scores[(grade - )/] + "+" : (grade % < ) ? scores[(grade - )/] + "-" : scores[(grade - )/];
std::cout << lettergrade << std::endl;
return ;
}
练习 5.7
a 少了分号
b 缺少花括号
c ival要在括号外面定义
d ival未定义。(。。。)
练习 5.8
书上有。else与离它最近的尚未匹配的if匹配。
c++第三十天的更多相关文章
- Bootstrap <基础三十二>模态框(Modal)插件
模态框(Modal)是覆盖在父窗体上的子窗体.通常,目的是显示来自一个单独的源的内容,可以在不离开父窗体的情况下有一些互动.子窗体可提供信息.交互等. 如果您想要单独引用该插件的功能,那么您需要引用 ...
- Bootstrap <基础三十>Well
Well 是一种会引起内容凹陷显示或插图效果的容器 <div>.为了创建 Well,只需要简单地把内容放在带有 class .well 的 <div> 中即可.下面的实例演示了 ...
- Web 开发人员和设计师必读文章推荐【系列三十】
<Web 前端开发精华文章推荐>2014年第9期(总第30期)和大家见面了.梦想天空博客关注 前端开发 技术,分享各类能够提升网站用户体验的优秀 jQuery 插件,展示前沿的 HTML5 ...
- SQLServer DBA 三十问(加强版)
距离最初发布SQLServer DBA 三十问 已有一年多了,大家对其中的某些问题讨论比较激烈,要回答出来这些问题需要比较扎实的SQLServer 基础和一定的实际操作经验,如果你试着去回答其中的问题 ...
- 学习之路三十九:新手学习 - Windows API
来到了新公司,一开始就要做个程序去获取另外一个程序里的数据,哇,挑战性很大. 经过两周的学习,终于搞定,主要还是对Windows API有了更多的了解. 文中所有的消息常量,API,结构体都整理出来了 ...
- 程序员编程艺术第三十六~三十七章、搜索智能提示suggestion,附近点搜索
第三十六~三十七章.搜索智能提示suggestion,附近地点搜索 作者:July.致谢:caopengcs.胡果果.时间:二零一三年九月七日. 题记 写博的近三年,整理了太多太多的笔试面试题,如微软 ...
- 自学 iOS – 三十天三十个 Swift 项目
自学 iOS – 三十天三十个 Swift 项目 github源码地址:https://github.com/allenwong/30DaysofSwift
- COJ966 WZJ的数据结构(负三十四)
WZJ的数据结构(负三十四) 难度级别:C: 运行时间限制:20000ms: 运行空间限制:262144KB: 代码长度限制:2000000B 试题描述 给一棵n个节点的树,请对于形如"u ...
- COJ970 WZJ的数据结构(负三十)
WZJ的数据结构(负三十) 难度级别:D: 运行时间限制:1000ms: 运行空间限制:262144KB: 代码长度限制:2000000B 试题描述 给你一棵N个点的无根树,点和边上均有权值.请你设计 ...
- COJ968 WZJ的数据结构(负三十二)
WZJ的数据结构(负三十二) 难度级别:D: 运行时间限制:5000ms: 运行空间限制:262144KB: 代码长度限制:2000000B 试题描述 给你一棵N个点的无根树,边上均有权值,每个点上有 ...
随机推荐
- iOS - xib中关于拖拽手势的潜在错误
iOS开发拓展篇—xib中关于拖拽手势的潜在错误 一.错误说明 自定义一个用来封装工具条的类 搭建xib,并添加一个拖拽的手势. 主控制器的代码:加载工具条 封装工具条以及手势拖拽的监听事件 此时运行 ...
- IOS实例方法和类方法的区别
类方法和实例方法 实例方法是— 类开头是+ 实例方法是用实例对象访问,类方法的对象是类而不是实例,通常创建对象或者工具类. 在实例方法里,根据继承原理发送消息给self和super其实都是发送给s ...
- Apktool源码解析——第二篇
上一篇讲到ApkDecoder这个类,大部分调用到还是Androlib类,而且上次发现brutall的代码竟然不是最新的,遂去找iBotP.的代码了. 今天来看Androlib的代码: private ...
- MUI ajax数据请求(list)
服务器返回格式 { "code": "1001", "message": "查询成功", "data" ...
- C# EMS Client
从 C# 客户端连接 Tibco EMS 下面例子简要介绍 C# 客户端怎样使用 TIBCO.EMS.dll 来连接 EMS 服务器. using System; using System.Diagn ...
- css - Position定位属性与层级关系
今天同事发现一个有意思的问题,关于position的层级关系的,他要不说我也没注意过 测试后果然有趣,有待深入研究: <!DOCTYPE html> <html> <he ...
- hql 语法与详细解释<转>
HQL查询 HQL查询: Criteria查询对查询条件进行了面向对象封装,符合编程人员的思维方式,不过HQL(Hibernate Query Lanaguage)查询提供了更加丰富的和灵活的查询特性 ...
- Navicat 创建 Mysql 函数
1.点击新建函数 2.写函数,保存为v1 3.调用 SELECT id,v1(id) from 表
- linux 中怎样返回上一层目录的命令?
可以使用cd命令,cd命令的功能是切换到指定的目录:命令格式:cd [目录名]目录名有几个符号有特殊的含义,“..”代表上一级目录.“~”代表HOME目录.“-”代表前一目录.因此返回上一级目录可以使 ...
- 字符串处理(String)
字符串类型(String类)需要注意的几个函数: 1.字符串的连接.一般而言,Java不允许运算符直接应用到String对象,唯一的例外是"+"运算符,它用来连接两个字符串,产生一 ...