基于C++程序设计(原书第3版)进行大一期末C++快速复习(第二部分)

本文详细介绍了C++中的循环结构,包括while、do while和for循环,以及循环嵌套。讨论了如何处理最小化数字错误,讲解了进制转换的原理和方法。此外,还深入探讨了函数的定义、调用和相关概念,如无返回值函数、函数重载、函数原型和缺省参数。同时,文章涵盖了数组基础,包括一维和二维数组,以及C字符串的操作,如字符串函数的使用和字符串与数字之间的转换。
摘要由CSDN通过智能技术生成

第五章

while 循环

While(循环条件)

{   循环体}

(循环条件不符合结束循环)

Eg: int x=100;

int s=0;       { while(x>=2)   {s=s+x;x=x-2;}  }

   cout <<"S="<<s;(计算2——100的偶数和)

do while循环

do

{循环体

}

While(循环条件);

注:while 后要加   ;

Eg: do{  if(x%15==0)  cout<<x<<endl;   x++;}

while(x<=500);

for 循环

for(A,B,C)    (执行顺序ABDCBDCBDC…至B为假结束循环)

{  D   }

Eg: int a=0;

    for(x=0;x<=100;x++)

    { if(!(n%2))  x=x+a;    }

 cout<<x<<endl;

循环嵌套

int i=1,j=0;

     while(i<=3)

     {         cout<<"i="<<endl;

         while (j<5)

         {

            cout<<" j="<<j;

            j++;

         }

     i++;}

     cout<<endl;

         return 0;

  }

最小化数字错误

在计算机程序中,使用浮点数进行循环可能会导致累积误差(也称为舍入误差或最小化数字错误),这是因为浮点数在计算机内部是以近似值存储的。尤其是在进行多次迭代或连续的小数减法、乘法和除法运算时,这种误差会逐渐积累。

进制转化

  1. 十进制转任意进制(例如二进制、八进制、十六进制):

    • 采用除基取余法。首先将十进制数不断除以目标进制基数(如2、8、16),每次得到的余数就是目标进制下的数字,然后从下到上排列这些余数即为结果。例如,将十进制数转换为二进制时,不断地除以2并记录余数。
  2. 任意进制转十进制

    • 按权展开求和。将每个位置上的数字乘以其所在位置的位权(该位权等于基数的相应次方,从右向左第一位的位权为0,第二位为基数的1次方,第三位为基数的2次方,依此类推),然后将所有乘积相加即可得到十进制数。
  3. 二进制转八进制或十六进制

    • 每3位二进制数转换成一位八进制数,或每4位二进制数转换成一位十六进制数。
    • 对于二进制转八进制,从二进制数的最右边开始,每3位一组(不足3位时左边补0),将每组转换成对应的八进制数。
    • 对于二进制转十六进制,同样从二进制数的最右边开始,每4位一组(不足4位时左边补0),将每组转换成对应的十六进制数。
  4. 八进制转二进制

    • 将每一位八进制数转换为其对应的3位二进制数(八进制数8对应二进制数1000,7对应0111,以此类推)。
  5. 十六进制转二进制

    • 类似地,将每一位十六进制数转换为其对应的4位二进制数(十六进制数A对应二进制数1010,F对应1111,等等)。

举例说明:

  • 十进制数100转换为二进制:100 ÷ 2 = 50 ... 0, 50 ÷ 2 = 25 ... 0, 25 ÷ 2 = 12 ... 1, 12 ÷ 2 = 6 ... 0, 6 ÷ 2 = 3 ... 0, 3 ÷ 2 = 1 ... 1, 1 ÷ 2 = 0 ... 1,所以结果为1100100。
  • 八进制数123转换为二进制:先分别转换每位八进制数,1 -> 001, 2 -> 010, 3 -> 011,拼接起来得到二进制数00101011。

关键字break和continue

Break语句

作用:用于跳出选择结构或循环结构

Break使用时机:

1出现switch条件语句中,作用是终止case并跳出switch.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乘~风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值