13天带你了解C++ ---DAY1 用c++写下第一个程序

13天带你了解C++ ---DAY1 用c++写下第一个程序,第1张

1.什么是C++?

         C++是在C语言基础上迭代出的高级语言,它向下兼容C语言,向上进行了扩充,引入了面向对象的概念。


所以说C++既是面向过程的语言,又是面向对象的语言。


从内容上看,C++相对C语言主要变化是提供了强大的STL库,其对C语言中的栈,堆,队列等数据结构进行了封装,减少了程序员“造轮子”的环节,同时提供了一些算法,方便了日常使用。


2.面向对象和面向过程有区别?

        面向对象主要是将事务看成一个个实体,每个实体都有自己的属性和方法,一件具体事情的完成是由各个对象彼此分工,相互协作来实现的。


面向过程是强调过程,它是将事情划分为一步一步的实际 *** 作过程,一般简单逻辑使用面向过程,复杂逻辑使用面向对象编程。


        就拿番茄炒蛋打比方,面向过程就是将做法分为先打碎鸡蛋,然后搅匀,加调味料,下锅炒,捞出,炒番茄直到出汁,混入鸡蛋翻炒,装盘。


面向对象就是将番茄,鸡蛋,锅,调味料看成对象,各自都有属性和方法,比如鸡蛋的方法就是打碎,搅匀,锅的方法就是翻炒。


如此是不是好理解多了。


        它们有各自的优缺点,面向过程性能高于面向对象,但是可维护性低。


而面向对象的封装、继承、多态特性能够使设计出的系统更加灵活。


3.如何写一个C++程序?
#include                                                                                                                                                  
   
   int main(){
   
     using namespace std;
     cout<<"hellocpp!"<

 输出

4.cin,cout,endl

        endl是C++中的换行符,类似于C语言的"\n";

        cin和cout分别为C++中的标准输入和标准输出,类似于C语言中的scanf和printf函数,使用它们时需要包含头文件以及std标准命名空间。


        cin、cout和scanf、printf各自的优缺点

        优点:cin将判断变量类型的工作交给了编译器,而scanf是指针 *** 作,需要程序员给出变量类型,优点是简化了程序员的工作;对类类型的处理更加智能;

       缺点:编译器判断变量类型会导致效率降低。


        cout和printf也是具备以上优缺点,同时,cout运算符是可以重载的,这也就意味着将刷新缓冲区的权利交给了程序员,而printf中是没有缓冲区的。


幸运的是,C++是兼容二者的,使用哪一个就看个人习惯了。


5.using namespace std是什么玩意? 5.1 namespace (命名空间)

       在c++中函数名变量名都是大量存在的,如果直接放在全局变量中,那么我们自己定义变量名或者类名时大概率会产生命名冲突,所以命名空间这个概念应运而生。


实际上命名空间是一个作用域,它将其中的成员函数和变量的作用范围限制在此作用域中,当我们需要使用其中变量时,再把这个命名空间拿过来使用。


    命名空间有以下三种使用方式

namespace test{
    int a=1;
    int b=2;
    int add(int a,int b){
        return a+b;
    }
}

       (1)加命名空间名称以及作用域限定符

int main(){
    printf("%d\n",test::a);
    return 0;
}

     (2)使用using将命名空间中的成员引入

using test::b;
int main{
    printf("%d",b);
    return 0;
  }

     (3)使用using namespace将命名空间名称引入

using namespace test;
int main{
    printf("%d",b);
    return 0;
  }
5.2 std

        std是C++中的标准库,里边定义了许多函数,比如cin,cout,容器,迭代器等等。


所以上边我们使用cin,cout时需要使用命名空间调用std这个库,想了解更多std库的内容,可以具体搜索。


6.C++中的缺省参数

         缺省参数的意思是在函数声明或者函数定义时,为函数设置一个默认值。


如果在调用时未指定实参则使用该初始值。


缺省参数也分为半缺省和全缺省。


6.1全缺省参数
#include

using namespace std;

void fun(int a=1,int b=2,int c=3){
    cout<

调用时完全未赋值,定义时赋值。


6.2半缺省参数
#include

using namespace std;

void fun(int a,int b=2,int c=3){
    cout<

注意:

*半缺省参数必须从右往左依次提供,不能间隔的赋值

*缺省参数不能在声明和定义同时出现

*缺省值必须为全局变量或者常量

        以上就是我们第一天的内容啦,如果有问题的小伙伴们可以在评论区留言,我会很快回复的呦,那么明天再见喽!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/563323.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-02
下一篇 2022-04-02

发表评论

登录后才能评论

评论列表(0条)