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个点的无根树,边上均有权值,每个点上有 ...
随机推荐
- C++11新特性之三——auto
C++11中引入的auto主要有两种用途:自动类型推断和返回值占位.auto在C++98中的标识临时变量的语义,由于使用极少且多余,在C++11中已被删除.前后两个标准的auto,完全是两个概念 1. ...
- 使用WdatePicker获取比当前时间大的写法
<input name="today.date" class="Wdate" type="text" onClick="Wd ...
- 搭建FastDFS
---恢复内容开始--- FastDFS是用c语言编写的一款开源的分布式文件系统.FastDFS为互联网量身定制,充分考虑了冗余备份.负载均衡.线性扩容等机制,并注重高可用.高性能等指标,使用Fast ...
- fabric入门
author: headsen chen date: 2018-08-12 23:13:16 1,安装 yum -y install epel-releaseyum -y install fabr ...
- Mac环境下搭建PhoneGap环境
首先,官方文档中,要求,编译需要使用Intel架构的 Mac OS X系统的Mac设备,最低要使用XCode4.5以上版本和Mac OS X 10.7以上的系统以及IOS6.0 以上的SDK,至于发布 ...
- 微信小程序 --- 登录页面
思路:在个人中心页面,首先判断全局的 app.js 里面的 globalData 里面的 is_login 状态,并且判断 缓存数据中的 is_login 状态,如果都为真,就正常显示,如果有一个为假 ...
- 熵 互信息 Gini指数 和 不纯度
在学习决策树类的算法时,总是绕不开 信息熵.Gini指数和它们相关联的概念,概念不清楚,就很难理解决策树的构造过程,现在把这些概念捋一捋. 信息熵 信息熵,简称熵,用来衡量随机变量的不确定性大小,熵越 ...
- 【node】------node连接mongodb操作数据库------【巷子】
1.下载第三方模块mongodb cnpm install mongodb --save 2.检测是否连接成功 1.引入第三方模块mongodb并创建一个客户端 const MongoClient = ...
- python使用MySqlDB
下载安装MySQLdb <1>linux版本 http://sourceforge.net/projects/mysql-python/ 下载,在安装是要先安装setuptools,然后在 ...
- HDU 5652 India and China Origins(并查集)
India and China Origins Time Limit: 2000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/ ...