C++程序设计与案例分析
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.15 本章小结及常见错误列举

1. 本章小结

数据是程序处理的对象,C++中的数据类型分为基本数据类型和自定义数据类型,本章介绍了各种常见数据类型的常量和变量以及由各种运算符构成的表达式,同时介绍了各种运算符的优先级和结合性。

2. 常见错误列举

【错例1】 输出a的值。

        #include  <iostream.h>
        void  main()
        {
            int  a=10;
            a+=a −=a*a;
            cout << "a = " << a <<endl;
        }

程序运行结果为:

分析:赋值表达式等价于:a = a + (a = a a * a),首先a以10这个初值进行a = a a* a运算,运算的结果为a=−90;然后a以−90这个初值进行a = a + (a = −90)运算,运算的结果为−180,整个表达式的运算结果为a = −180。

【错例2】 计算字符串的长度和存储长度。

字符串"\"Are you ready?\""的长度是______,在内存中的存储长度是______字节。

答案:16 17

分析:字符串的长度是字符的实际个数,注意转义字符(“\"”)整体是一个字符;而字符串的存储长度是字符的个数再加上1位(字符串结束标记'\0')。可以用如下程序测试,其中,strlen()用来测试字符串的长度,sizeof()用来测试字符串的存储长度。

编写程序:

          #include  <iostream.h>
          #include  <string.h>
          void  main()
          {
                  int  a1,a2;
                  a1 = strlen("\"Are you ready?\"");
                  a2 = sizeof("\"Are you ready?\"");
                  cout<<"a1="<<a1<<" a2="<<a2<<endl;  //结果:a1=16  a2=17
          }