1.if else语句注意:为了避免二义性,C++语言规定:else总是与它前面最接近的if配对。所以好的习惯是每个判断的语句块都使用{}括起来。
2.If中判断条件的表达式只要非0即为真。
3.Switch语句的用法:
switch(表达式)
{case 常量表达式1:
语句1;
Break;
case 常量表达式2:
语句2;
Break;
…
case 常量表达式n:
语句n-1;
Break;
default :
语句n; }
4.各case和default子句的先后顺序可以变动,而不会影响程序执行结果。如果中间不写break的话则执行和上一个表达式相同的操作,直到遇到break才会跳出。
5.Default后不需要写break。
6.复合语句:被{}括起来的若干语句。一个复合语句内部的变量,它的作用域位于该复合语句的内部。
7.当多个变量的名字相同时,应该注意观察他们的作用域,查找离自己最近的,从里到外查找。
8.在switch语句中当我们需要在某个case标签下定义一个变量的时候,那么该标签下所有的语句应该构成一个"复合语句"带上大括号,在整个序列的最后一个条件下,可以不使用复合语句。
代码如下图:
#include <iostream>
using namespace std;
int iValue = 30; //全局变量
void main() //程序的入口
{
//最简单的语句:空语句
; //合法,但无意义
// 语句 = 表达式 + ;
float fValue = 7.5f; //合法且有意义
fValue; //合法,但无意义
fValue + 5.3f; //合法,但无意义
fValue += 1.2f; //合法且有意义
int iValue = 20; //局部变量
// 复合语句:被{}括起来的若干个语句
{
int iValue = 10; //一个复合语句内部的变量,
//它的作用域位于该复合语句的内部
cout<<iValue++<<endl; // 10
cout<<iValue<<endl; // 11
}
//int iValue = 40;//反例:当变量具有相同的作用域时,
//变量名不能重名,否则程序将报错
cout<<"iValue = "<<iValue<<endl;
//-----if语句-------------
int i = 5;
if( i == 5 )
{
cout<<"变量i中的值为5"<<endl;
}
if( i = 10 )
{
cout<<"变量i可以赋值为10"<<endl;
cout<<"赋值后:"<<i<<endl;
}
if( i = 0 ) //特别提示:该条件不成立
{
cout<<"变量i可以赋值为0"<<endl;
cout<<"赋值后:"<<i<<endl;
}
cout<<"::::"<<i<<endl;
//伪代码:仅仅体现编程思路的代码
/*
if( (男士)&&(体重>150斤) )
干活去......
*/
//---------switch语句-----------
/*
特别注意:
1、当我们需要在某个case标签下定义一个变量的时候,那么
该标签下所有的语句应该构成一个"复合语句"
2、在整个序列的最后一个条件下,可以不使用复合语句
*/
int iDate = -1; // 0 - 6 周日 --- 周六
cout<<"请输入0-6之间的值:"<<endl;
cin>>iDate;
switch(iDate)
{
case 0:
{
int iMoney = 1000;
cout<<"周日"<<endl;
cout<<"今天发工资:"<<iMoney<<endl;
}
break;
case 1:
cout<<"周一"<<endl;
break;
case 2:
cout<<"周二"<<endl;
break;
case 3:
cout<<"周三"<<endl;
break;
case 4:
cout<<"周四"<<endl;
break;
case 5:
cout<<"周五"<<endl;
break;
case 6:
int iTemp = 100;
cout<<"周六"<<endl;
cout<<iTemp<<endl;
break;
}
system("pause");
}
9.for循环的语法for(表达式1;表达式2;表达式3)
语句;
执行顺序:1先执行表达式1在执行2在执行语句执行3在执行2,语句,3如此循环直到跳出表达式2.
10.do while 和while 的区别 do while是先执行循环体在进行判断。
11.return语句只能出现在函数中,用于结束当前函数的调用并返回当前函数需要返回的值
12.break语句只能用在switch语句或循环语句中,其作用是跳出switch语句或跳出本层循环,转去执行后面的程序。
13.Continue跳出本次循环执行下次循环。
14.Goto语句需要和label连用,容易让程序混乱避免使用。
15.For循环的嵌套操作: 外层循环可以看成行,内层循环可以看成列。
16.do while最后的while后必须写上分号!!!!
17.代码如下:
#include <iostream>
using namespace std;
//--------循环语句-------------
void main()
{
cout<<"-------------for循环--------------"<<endl;
/*
格式:
for(表达式1 ; 表达式2 ; 表达式3)
{
循环体
}
*/
//输出1-100之间的所有数据
for( int i = 1 ; i < 100 ; ++i )
{
cout<<i<<endl;
}
cout<<"-----------------------"<<endl;
//输出1-100之间的数据,但是不包含50
for(int i = 1 ; i<100 ; ++i)
{
if( i == 50 )
continue;
else
cout<<i<<endl;
}
//将1-100之内的所有能够整除5的数据加在一起,求和
cout<<"---------------------------"<<endl;
int iSum = 0;
for( int i = 1 ; i < 100 ; ++i )
{
if( i%5 == 0 )
iSum+=i;
}
cout<<"iSum = "<<iSum<<endl;
//--------关于for循环的各个表达式:--------
cout<<"----关于for循环的各个表达式1----"<<endl;
int i = 1;
for( ; i < 100 ; ++i)
{
cout<<i<<endl;
}
cout<<"22222222222"<<endl;
//cout<<"----关于for循环的各个表达式2----"<<endl;
省略表达式2:意味着条件始终成立,构成死循环
//for( int i = 1; ; ++i)
//{
//cout<<i<<endl;
//}
//cout<<"----关于for循环的各个表达式3----"<<endl;
省略表达式3将导致循环控制变量无法改变
//for( int i = 1; i < 100 ; )
//{
//cout<<i<<endl;
//}
//典型的for循环的死循环写法
//cout<<"----关于for循环的各个表达式,都省略----"<<endl;
//for( ; ; )//分号必须有
//{
//cout<<"aaaaaaaaaaa"<<endl;
//}
//------for循环的嵌套操作-------
cout<<"------for循环的嵌套操作-------"<<endl;
for(int i = 0 ; i < 4 ; ++i)
{
for(int j = 0 ; j < 4 ; ++j)
{
if( i == j )
cout<<" 1";
else
cout<<" 0";
}
cout<<endl;
}
//-----------------while循环------------------
i = 0;
while(i<10)
{
cout<<i<<endl;
++i;
}
while的死循环
//while(true)
//{
//}
//--------do while循环-----------
//do while的循环体至少能够执行1次
cout<<"-------- do-while循环 -----------"<<endl;
i = 0;
do
{
cout<<i<<endl;
++i;
}while( i < 10 ); //该分号必须有!否则将报错
do while 的死循环
//do
//{
//}
//while(true);
//--------------break语句:跳出循环功能--------------
cout<<"--------break语句---------"<<endl;
int j = 0;
while(true)
{
if( j > 5 )
break;
else
cout<<j<<endl;
++j;
}
system("pause");
}