当前位置:   article > 正文

C++day01_cout << "一周总共有:" << day <<"天"<< endl中<<报错;

cout << "一周总共有:" << day <<"天"<< endl中<<报错;

上学期进行了C语言的学习,但在深入的了解了程序及其算法以后,我发现仅用原本的知识是不足以解决更多复杂的问题,因此现在开启C++的学习,作为对C的一个补充。

——第一个C++程序,输出一串字符

  1. #include<iostream>
  2. using namespace std;
  3. int main()
  4. {
  5.      cout<< "Hello,world." << endl;
  6.     system("pause");
  7.     return 0;
  8.  }

与C当中使用printf函数输出不同,C++里面似乎更加直接,使用cout即可

——创建第一个变量

  1. #include<iostream>
  2. using namespace std;
  3. int main()
  4. {
  5.     int a = 10;
  6.     cout << "a = " << a << endl;
  7.     system("pause");
  8.     return 0;
  9. }

注意到,同样和C当中不同,输出变量时,不需要再声明他的类型,直接写上变量名即可。

——创建一个常变量

  1. #include<iostream>
  2. #define day 7//宏定义
  3. using namespace std;
  4. int main()
  5. {
  6.     const int a = 7;
  7.     cout << "一周一共有" << day << "天" << endl;
  8.     cout << "一周一共有" << a << "天" << endl;
  9.     /*
  10.     当对day和a变量赋值时,运行程序将会出错。
  11.     */
  12.     system("pause");
  13.     return 0;
  14. }

——typedef定义

  1. #include<iostream>
  2. using namespace std; //告诉编译器使用 std 命名空间。命名空间是 C++ 中一个相对新的概念。
  3. int main()
  4. {
  5. typedef int love;//typedf为int 取了一个“外号”,即love。
  6. love a = 1;
  7. int b = 1;
  8. cout << "a=" << a << "b=" << b << endl;
  9. system("pause");
  10. return 0;
  11. }

———枚举类型实例

  1. #define _CRT_SECURE_NO_WARNINGS 1
  2. #include <iostream>
  3. using namespace std;
  4. int main() {
  5. enum days { one, two=2, three }day;
  6. day = one;
  7. switch (day) {
  8. case one:
  9. cout << "one" << endl;
  10. break;
  11. case two:
  12. cout << "two" << endl;
  13. break;
  14. default:
  15. cout << "three" << endl;
  16. break;
  17. }
  18. cout << "one=" << one << endl;
  19. cout << "two=" << two << endl;
  20. cout << "three=" << three << endl;
  21. return 0;
  22. }

——变量作用域

  • 在函数或一个代码块内部声明的变量,称为局部变量。

  • 在函数参数的定义中声明的变量,称为形式参数。

  • 在所有函数外部声明的变量,称为全局变量。                              

在函数或一个代码块内部声明的变量,称为局部变量。它们只能被函数内部或者代码块内部的语句使用(包括主函数内部)。

在所有函数外部定义的变量(通常是在程序的头部),称为全局变量。全局变量的值在程序的整个生命周期内都是有效的。

全局变量可以被任何函数访问。也就是说,全局变量一旦声明,在整个程序中都是可用的。

  1. #include<iostream>
  2. using namespace std;
  3. int b = 10;
  4. int main()
  5. {
  6. {
  7. int a = 5;
  8. cout << "a=" << a << endl;
  9. }
  10. cout << "b=" << b << endl;
  11. return 0;
  12. }

改为

  1. #include<iostream>
  2. using namespace std;
  3. int b = 10;
  4. int main()
  5. {
  6. {
  7. int a = 5;
  8. cout << "a=" << a << endl;
  9. }
  10. cout << "a=" << a << endl;
  11. return 0;
  12. }

 发现编译不通过,问题出现在,在main函数里调用了区块内定义的a,而这个变量的生命周期在执行完区块内语句后,就结束了,main里面调用的是一个NULL。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/431705
推荐阅读
相关标签
  

闽ICP备14008679号