第4章:将语句编织成程序

终极目标 ------->数据处理

4.1用运算符对数据进行计算

4.1.1用表达式表达设计意图

4.1.2算数运算符

1.+ - * /:加减乘除

2.%:取余

3.前置运算符的效率优于后置运算符

3.前置运算符不易产生误解

4.1.3赋值操作符

1.算数运算符与赋值操作符复合:

+=/-=/*=//=/%=

4.1.4关系运算符

1.==,>= , <= , !=

2.浮点数不要使用“==”

3.条件运算符:

条件判断表达式 ?true表达式:false表达式

4.1.5逻辑运算符

1.!:逻辑非

2.&&:逻辑与

3.||:逻辑或

4.1.6运算符之间的优先顺序

1.与优先于或

2.关系运算符优先于加减

4.1.7将表达式组织成语句

4.2条件选择语句

4.2.1 if语句

1.if 语句中的else部分可以省略

2.if语句可以实现嵌套

3.if语句可以并列

// learn4.4.1.2.cpp : 定义控制台应用程序的入口点。

//

#include "stdafx.h"

#include <iostream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])

{

cout<<"请输入两个整数:"<<endl;

int v1,v2;

//获取用户输入的数字

cin>>v1>>v2;

if( v1 != v2 )//判断v1和v2是否相等,如果不相等,则继续判断大小

{

//第二级if语句

//如果不相等,则继续判断v1是否大于v2

if( v1 > v2 )

{

cout<<" v1 > v2 "<<endl;

}

else

{

cout<<" v1 < v2 "<<endl;

}

}

else                //v1与v2相等

{

cout<<" v1 = v2 "<<endl;

}

return 0;

}

// learn4.4.1.2.cpp : 定义控制台应用程序的入口点。

//

#include "stdafx.h"

#include <iostream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])

{

cout<<"请输入两个整数:"<<endl;

int v1,v2;

//获取用户输入的数字

cin>>v1>>v2;

if( v1 != v2 )//判断v1和v2是否相等,如果不相等,则继续判断大小

{

//第二级if语句

//如果不相等,则继续判断v1是否大于v2

if( v1 > v2 )

{

cout<<" v1 > v2 "<<endl;

}

else

{

cout<<" v1 < v2 "<<endl;

}

}

else                //v1与v2相等

{

cout<<" v1 = v2 "<<endl;

}

int v3, v4;

cin>>v3>>v4;

if( v3 < v4 )//判断v3是否小于v4

{

cout<<" v3 < v4 "<<endl;

}

else if( v1 > v2 )

{

cout<<" v3 > v4 "<<endl;

}

else

{

cout<<" v3 = v4 "<<endl;

}

return 0;

}

4.2.2并列选择的switch语句

// learner4.2.2.3.cpp : 定义控制台应用程序的入口点。

//

#include "stdafx.h"

#include <iostream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])

{

//显示提示信息,提示用户进行选择

cout<<"感谢您购买本书!、请输入序号,选择您从何种途径得知本书。"<<endl;

cout<<"1、通过搜索引擎"<<endl;

cout<<"2、通过朋友介绍"<<endl;

cout<<"3、通过书店"<<endl;

cout<<"4、通过其他途径"<<endl;

//接受用户输入的选项

int nWay;

cin>>nWay;

//使用switch选择结构,比对用户输入的选项,输出相应的信息

switch(nWay)

{

case 1:

cout<<"您是通过搜索引擎得知本书的。"<<endl;

break;

case 2:

cout<<"您是通过朋友介绍得知本书的"<<endl;

break;

case 3:

cout<<"您是通过书店得知本书的。"<<endl;

break;

case 4:

cout<<"您是通过其他途径得知这本书的"<<endl;

break;

default:

cout<<"错误的选择!请输入数字1~4做出选择"<<endl;

}

//显示提示信息,提示用户进行选择

cout<<"欢迎点餐,请选择您要的套餐"<<endl;

cout<<"1.鸡翅套餐"<<endl;

cout<<"2.可乐套餐"<<endl;

//接受用户输入选项

int nOrder;

cin>>nOrder;

//使用switch选择结构

switch(nOrder)

{

case 1:

cout<<"一个鸡翅"<<endl;

case 2:

cout<<"一杯可乐+一包薯片"<<endl;

default :

cout<<"餐巾纸"<<endl;

cout<<"您的餐齐了"<<endl;

}

return 0;

}

4.3循环控制语句

4.3.1while 循环

1.只要…就一直…

// learn4.3.1.cpp : 定义控制台应用程序的入口点。

//

#include "stdafx.h"

#include <iostream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])

{

cout<<"=====每月收支统计程序====="<<endl;

cout<<"请输入你本月的收入(正数)和支出(负数),0表示输入结束"<<endl;

int nInput = 1;

int nTotal = 0;

//判断用户的输入

//如果用户输入不为0,则继续执行循环

//如果用户输入为0,则结束循环

while( 0 != nInput )

{

cout<<"请输入你的收入或支出"<<endl;

cin>>nInput;

//对收支进行统计

nTotal += nInput;

}

//输出统计结果

cout<<"你本月的结余是:"<<nTotal<<endl;

return 0;

}

4.3.2 do…while 循环

#include "stdafx.h"

#include <iostream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])

{

cout<<"=====每月收支统计程序====="<<endl;

cout<<"请输入你本月的收入(正数)和支出(负数),0表示输入结束"<<endl;

int nInput = 1;

int nTotal = 0;

//判断用户的输入

//如果用户输入不为0,则继续执行循环

//如果用户输入为0,则结束循环

while( 0 != nInput )

{

cout<<"请输入你的收入或支出"<<endl;

cin>>nInput;

//对收支进行统计

nTotal += nInput;

}

//输出统计结果

cout<<"你本月的结余是:"<<nTotal<<endl;

int mInput = 0;

int mTotal = 0;

do

{

cout<<"请输入你的收入或支出"<<endl;

cin>>mInput;

mTotal += mInput;

}while( 0 != mInput );

return 0;

}

4.3.3 for循环

1.初始化语句

2.表达式语句

3.更变语句

// learn4.3.3.cpp : 定义控制台应用程序的入口点。

//

#include "stdafx.h"

#include <iostream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])

{

//计算从1到100之间所有的整数的和

//记录和值

int nTotal = 0;

//使用for循环,逐个将1到100之间的整数跟nTotal相加

for( int i = 1 ; i <= 100 ; i++ )

{

//将整数相加

nTotal += i;

}

cout<<"1到100之间所有整数之间之和"<<endl;

return 0;

}

4.3.4循环控制:break和continue

4.4从语句到程序

4.4.1程序是控制语句串联起来的语句

4.4.2豪华工资统计程序

int _tmain(int argc, _TCHAR* argv[])

{

//定义一个常量,表示总员工数

const int MAX_NUM = 1000;

//保存所有工资数据的数据

int nSalary[MAX_NUM];

//输入每位员工的工资

int nTemp = 0;                //临时变量,暂存用户输入的数据

int nIndex = 0;                //输入的序号

//使用循环控制语句接受用户的多次输入

do

{

cout<<"请输入员工"<<nIndex<<"的工资:"<<endl;

cin>>nTemp;

//只要员工不是卖身为奴,他就不可能欠你钱

//所以输入的工资不能为负值,使用条件控制语句

//对输入错误进行处理,提示重新输入

if ( nTemp < 0 )

{

cout<<"你开玩笑?这位员工欠你钱?请重新输入"<<endl;

continue;

}

//将合法的数据保存到数组中,开始下一次输入

nSalary[nIndex] = nTemp;

++nIndex;

}while( nIndex < MAX_NUM );

//计算平均工资

float fAverageSalary;

int nTotal = 0;                //工资总和

//使用循环控制结构对遍历数组中的数据进行统计

for( int i = 0; i < MAX_NUM; ++i )

{

nTotal += nSalary[i];

}

//平均工资 = 工资总和 / 员工数

fAverageSalary = (float)nTotal / MAX_NUM;

cout<<MAX_NUM<<"位员工的平均工资是"<<fAverageSalary<<endl;

//计算最高工资和最低工资

return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值