C++复习之路五——语句

4人阅读 评论(0) 收藏 举报
分类:

语句:一个表达式加上一个分号就构成了一个语句。

一、最简单的语句——空语句

空语句只由一个分号构成。

; //空语句

【注意】:在写代码的时候不要漏写分号,也不要多写分号。否则我们的代码可能会违反我们的本意

if(i == 0); //如果i等于零,不进行任何操作,但是有可能本意是如果i等于0,就给i赋值为1
 i = 1;     //这样写不管i是否为0,都会给i赋值为1

如果想实现以上的想法,应该这样写

if(i == 0)  //这样就是当i等于0的时候给i赋值,如果i不为0,就不会给i赋值为1
 i = 1;

通过以上的两个例子我们就可以知道加不加分号的重要性了!

二、复合语句

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

【注意】一个块就是一个作用域!,复合语句不以分号结束。

三、语句的作用域

定义在控制结构当中的变量只在相应的语句的内部可见,一旦语句结束,变量也就超出其作用域了。

四、条件语句

C++提供了两种按条件执行的语句,if语句和switch语句

if语句

判断一个条件是否为真,根据判断的结果决定是否执行相应的操作。

if语句有两种形式

if(condition)
 statement;   

if(condition)
  statement1;
else 
  statement2;
在使用if else语句嵌套的时候要注意,if和else的匹配,else 与离它最近的且尚未匹配的 if 匹配

switch语句

switch 语句的形式

switch (表达式)
{
 case 标签1: 语句1; break; 
 case 标签2: 语句2; break;
 default : 语句3; break;
}

switch语句会根据表达式的值,来与case后面的标签比较,如果相匹配就会执行那条程序,否则就会一直往下找,如果所有的标签都比较结束了也没有找到与之匹配的,就会进入default语句。

【注意】:每条case后面的break不是必须的,如果没有break,当找到一个匹配的标签后,就会从这条语句开始执行,知道switch语句结束。如果我们只想执行其中一条语句,我们就要加上一个break

例子: 不加break的

int num = 2;

switch (num)
{
case 1: cout << 'a';
case 2: cout << 'b';
case 3: cout << 'c';
default: cout << " no this num" << endl;
	break;
}         

最后输出 bc no this num, 首先switch会根据num来找匹配的case, 找到了case2,然后除数b,由于没有break, 所以会一直往下执行。

例2:加上break的:

int num = 2;

switch (num)
{
case 1: cout << 'a'; break;
case 2: cout << 'b'; break;
case 3: cout << 'c'; break;
default: cout << "no this num" << endl;
	break;
}

最后输出 b,switch找到了case2, 执行完之后,因为有一个break,所以会跳出这个switch,所以只输出一个b。

建议 :我们写代码的时候最好在每个case后面都加上一个break。

五、迭代语句

迭代语句就是我们所说的循环,C++中的迭代语句有这样的三种,for语句, while 语句, do while 语句。

while语句

语法形式

while (condition)
  statement;

只要条件为真,就会执行循环体内的语句。

for语句

语法形式

for(init-statement; condition; expression)
 statement;

init-statement 负责初始化一个值,这个值是会伴随着循环二改变的, condition是判断条件,如果条件满足就会执行循环体内的语句,也就是statement, 然后expression会修改init_statement初始化的这个值。

do while语句

语法形式

do 
  statement;
while(condition);

do while 语句首先执行一次循环体,然后在判断条件是否满足。

【注意】:while后面的分号不要漏掉!

do while和 while 的区别

do while至少执行一次循环体。先执行,后判断

while 先判断后执行。

六、跳转语句

1、break语句

break语句负责终止离它最近的while 、do while、 switch、 for语句,并且从这些语句之后的第一条语句开始执行。

2、continue语句

continue语句负责终止离它最近的循环中的当且迭代,并且开始下一次迭代。

【注意】continue 只能出现在while 、 do while 、for语句中或者嵌套在此类循环里的语句或者块的内部

break语句和continue语句的区别:

break:结束循环,并且跳出整个循环体,从循环的下一条语句开始执行。

continue:结束当前循环,并且从下一个循环开始不会跳出整个循环体。


查看评论

【sql server 2008】从零开始的数据库复习之路(二)

苦逼的数据库复习之路
  • qq_37706414
  • qq_37706414
  • 2017年12月21日 10:24
  • 49

SQL语句复习

***SELECT***   select *(列名) from table_name(表名) where column_name operator value   ex:(宿主)  select *...
  • kaibinsj
  • kaibinsj
  • 2004年12月13日 10:34
  • 1279

C++期末复习知识点

1.  面向对象技术有哪些特点?(7条) a)   模块性:对象是一个功能和数据独立的单元,相互间只能通过对象认可的途径进行通信,可重用。 b)   封装性:为信息隐蔽提供具体的实现手段,用户只需了解...
  • zxm1306192988
  • zxm1306192988
  • 2017年02月26日 13:10
  • 684

C++ 复习要点

本文总结一下C++面试时常遇到的问题。
  • csdn_chai
  • csdn_chai
  • 2017年09月20日 15:03
  • 4909

找工作之C++复习

static关键字至少有下列n个作用: (1)函数体内static变量的作用范围为该函数体,不同于auto变量,该变量的内存只被分配一次,因此其值在下次调用时仍维持上次的值; (2)在模块内的...
  • u011148330
  • u011148330
  • 2016年07月29日 10:30
  • 476

一名C++程序员的成长之路

1.不要看到别人的回复第一句话就说:给个代码吧!你应该想想为什么。当你自己想出来再参考别人的提示,你就知道自己和别人思路的差异。   2.初学者请不要看太多太多的书那会误人子弟的,先找本系统...
  • wo17fang
  • wo17fang
  • 2015年06月06日 10:58
  • 1343

C++学习之路(15)---C++ 资源大全(太全了)

C++是在C语言的基础上开发的一种集面向对象编程、泛型编程和过程化编程于一体的编程语言。应用较为广泛,是一种静态数据类型检查的,支持多重编程的通用程序设计语言。 关于 C++ 框架、库和资源...
  • qq_38906523
  • qq_38906523
  • 2017年10月23日 11:34
  • 444

C++编程知识快速复习(上)(精华高效全面版)

1. 基本结构    C++语言由头文件与源文件组成。    头文件中包含:版权与版本信息,宏定义,函数声明和类的声明。宏定义为是了防止头文件被重复引用。&lt;&gt;引用头文件则直...
  • huixieqingchun
  • huixieqingchun
  • 2018年02月21日 15:02
  • 42

C++编程知识快速复习(中)(精华高效全面版)

1.栈存储与堆存储的区别    C++程序编译占用的内存可以分为以下几个部分:    栈区:由编译器自动分配释放,存放函数的参数值、局部变量等,用于存放占用空间小、生命周期短的数据;    堆区:由用...
  • huixieqingchun
  • huixieqingchun
  • 2018年02月21日 15:22
  • 40

【数据库复习】SQL

SQL:Structured Query Language(结构化查询语言);   数据模型:对于数据的描述方式;比如关系数据模型是用二维表来描述,层次数据模型用树来描述数据。 数据模型由三部分...
  • xiazdong
  • xiazdong
  • 2012年04月27日 14:41
  • 7298
    个人资料
    持之以恒
    等级:
    访问量: 1819
    积分: 240
    排名: 32万+
    文章分类
    文章存档
    最新评论