c++精解和程序设计第五章

                           第五章 重复和循环语句

5.1计数循环和while语句

循环体:在循环中被重复执行的一组语句。
计数器控制的循环(计数循环):由循环控制变量的值决定循环执行次数的循环。
循环控制变量:决定循环执行次数的变量。

5.1.1while语句

循环语句:用于确定是否执行循环体的条件,当该条件为真时,执行循环;当该条件为假时,跳出循环体。

5.1.2while语句的语法规则

死循环:永远执行下去的循环。

while(循环条件)
语句;

注释:如果首次测试循环条件时其值为假,则不执行循环语句。

5.2在循环中累计求和或乘积

在循环中加入加法或乘法。

5.2.1程序风格——编写通用的循环

5.2.2求一组数据的乘积

条件循环:当某个特定条件为真时,重复执行数据处理过程的循环。

5.2.3复合赋值运算符

几种格式的赋值语句:
 1)变量=变量 op 表达式;
 2)变量 op =表达式;
 3)变量=变量 op(表达式);
 op 为算术运算符

5.3for语句

  格式:for(初始化表达式;
           循环条件;
           更新表达式)
           语句;
  例子:for(i=0;i<max;i++)
        cout<<i << endl;
        //显示小于max的非负数

副作用:执行某一操作而引起变量的值发生改变。

//计算阶乘的函数
int fact(int n)
{
  int product; //定义生产数
  product=1;
  for(int i=n;i>1;i--)  //阶乘
  product=product*i;
  return product; //返回生产数 
}

5.4条件循环

 //条件循环的格式:
 初始化循环控制变量
 while包含循环控制变量的条件为true
      执行循环体
      更新循环控制变量   
//条件循环的语句实现:
cout<<"Enter number of employees: ";
cin>>numEmp;   //输入数据
while(numEmp<0)  //测试
{
 cout<<"Negative number invalid; try again: ";
 cin>>numEmp;   //更新
}

5.5 标志控制的循环

//格式
1)设置标志的值为假。
2)while标志的值为false时
     3)执行某些操作。
     4)如果预期事件发生,则重置标志的值。

//例子:
char getDigit()
{
 char nextChar; //输入-下一个数据字符
 bool digitRead;  //状态标志——设置为真
                  // 当数据字符可读
 digitRead=false;  //还没有数据字符可读
 while(!digitRead)
 {
 cin>>nextChar;
 digitRead=(('0'<=nextChar)&&(nextChar<='9')); 
 }
 return nextChar; //返回第一个数据字符
}

5.6do—while语句

格式:do
     语句:
     while(表达式);
 例子:do
     {
       cout<<"Enter a digit character: ";
       cin>>ch;
     }while((ch<'0')||(ch>'9'));

5.7while,for和do-while循环

while:当循环为非计数循环时,最常用的循环。循环条件的测试先于循环体的执行,循环体有可能一次也不执行。
for:常用于计数循环,当初始化及更新步骤简单时,使用for循环十分便利。循环条件的测试先于循环体的执行。
do-while:该循环常用于循环体至少执行一次的场合。

5.8循环嵌套

例子:显示乘法表

#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
//显示表标题
cout<<"  ";
for(int colHead=0;colHead<11;colHead++)
 cout<<setw(3)<<colHead;
 cout<<endl;
 cout<<"_ _ _ _ _ _ _ _ _"<<endl;
 //显示表,逐行
 for(int rowVal=0;rowVal<10;rowVal++)
 {
  cout<<setw(3)<<rowVal<<' ';
  //显示全部的乘法表
  for(int colVal=0;colVal<11;colVal++)
    cout<<setw(3)<<rowVal*colVal;
    cout<<endl;
 } 
 return 0;
}

5.9调试,测试程序

观察窗口:程序调试过程中跟踪显示变量的窗口。
诊断输出语句:程序调试过程中显示中间结果的输出语句。
循环控制变量边界值:循环控制变量的初值和终值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值