C++primer学习笔记(三)——Chapter 5

时间:2022-04-05 08:54:57

5.1   Simple Statements

1、记得每个语句后面加上”;”不过现在编译器都有实时编译,一般都不会忘记的,

2、空语句

(1)就是啥都没有。只有一个“;”

(2)还是有很多用处的,例如

while (cin>>s  && s!= sought)
;

不停的监测是不是输入的是sought,还有很多地方是这样的说~。

3、括号

主要记住括号的作用:

(1)用在if  while  case 等等语句的后面,把多个语句复合在一起。

(2)括号后面不用以“;”

5.2  Statement Scope

1、如果变量定义在if  switch  while 和for 语句的里面的话,那么这些变量的存在范围就只在if  witch  while for 语句结束之前。

2、如果一个变量要保证在这个函数内访问就不能再上述结构中定义。

5.3  Conditional Statements

一、if语句

if(condition)
{
statement
}
if else(condtion2)
{
statement2
}
else
{ 
     statement3
}

PS:(1)else匹配离自己最近的一个if,所以要检查逻辑是否有问题。

(2)嵌套语句的时候最好加上花括号。

二、switch语句

switch (ch)
{
case 'a':
case 'b':
case 'c':
case 'd': default:
break;
}

1、首先每一个case如果后面没有break的话;就会继续执行下一个case,直到switch的结尾。所以我们要根据情况进行选择。

2、default就是在所有的case都没有匹配的情况下才会执行的。即使你没有写,也会默认生成一个空的default。

5.4  循环

一、The while Statement

1、格式

while(condition)
statement

当条件成立的时候就执行下面的语句,否则就结束循环.

2、注意点

(1)记得,一定要有循环结束的出口,否则便成为死循环,

(2)在循环内定义的变量的作用域只有在循环内,出了循环便失效~

二、The  for Statement

a、继承C的for循环

1、格式

for(initilalizer;condition;expression)
statement

这个是传统的方法,也是C继承下来的,其中初始化语句只执行一次,然后判断条件,为真,则执行statement,最后执行完expression后再进行判断。

2、注意点:

(1)初始化处可以定义变量,变量的作用域只在循环内,而且由于只能是一个语句,所以定义的变量可以有多个,但是类型必须相同。

(2)括号内的三个语句可以选择性的设为空,只要能不成为死循环即可。

b、C++新11特性

1、格式

for(declaration:expression)
statement

这个可以快速的提供遍历一个序列内全部元素的方法.

2、注意点

(1)如果要改变其中变量的值,需要引用变量

(2)vector如果元素个数有发生改变,那么之前取得end多半会失效。

三 the do while Statement

1、格式

do
statement
while(condition);

一样是继承C的循环方法.

2、注意点

记得一定先执行一遍statement,然后才进行条件的判断

5.5  The jump Statement

1、break      直接跳出循环

2、continue     跳出本次循环

3、goto            直接跳到标记点。

5.6  循环和文本输入

cin>>ch;                 //不接受空格和换行符
cin.get(ch); //可以接受任何字符,而且是使用C++中的新方法,声明函数为引用,这样子的话 //形参就直接成为引用形式