当前位置: 首页 > news >正文

1.24号c++

C++绪论

c++是c语言的扩充,C++包含了C的所有属性,换一句话说,C语言在C++中都合法。

C语言编程思想:面向过程

c++编程思想:面向对象

可以说在C++中一切皆对象。

c++的三大属性:封装,继承,多态。

C++对C的兼容

1> C语言文件

编写一个C语言文件:XXX.c 编译:gcc XXX.c

2> C++语言文件

编写一个C++文件:XXX.cpp 编译:g++ XXX.cpp

3> 头文件

C: 以.h结尾的文件 eg:#include

C++: 不以.h结尾 eg:#include

C++的第一条语句

cout

cout是输出类的类对象,具有输出功能,可以自动识别数据类型,无需加格式符。

<<  插入符 (输出符)

endl :换行

cin

cin 是输入类的类对象,具有输入功能,可以自动识别数据类型,无需加格式符

>> 提取符(输入符)

不需要给变量加地址符

C++中的数据类型

C++的数据类型:基本数据类型、构造数据类型

基本数据类型:char、short、int、long、float、double、bool、string

构造数据类型:数组、指针、结构体、共用体、枚举、类

C++中字符串类型string

字符串类型的初始化和赋值

    string str1; // == int a  无参构造函数

    string str2 = "hello world"; //定义变量的同时赋值,初始化
    cout << str2 << endl;

    string str3 = str2; //将str2的值赋值给str3
    cout << str3 << endl;

    string str4(str3); //str4 = str3  有参构造函数
    cout << str4 << endl;

    str1 = "hello kitty"; //赋值操作

    string str5(str1,3); //将str1从下标为3的地方开始赋值给str5
    cout << str5 << endl;
    
    char *p = (char *)"abcdfdjgk"; //string 类型和char *不是一种类型

字符串中常用的函数

size(): 元素个数

empty(): //判断字符串是否为空,如果为空放回true,否则false

capacity(): //计算容量大小

C++中的字符串和C语言中字符串的风格互换

1> C语言风格的字符串可以直接转换成C++风格的字符串

2> C++风格的字符串不可以直接转换成C语言风格的字符串

字符串元素的访问

1> 下标 -------->不判断是否越界

2> at() ----------->判断是否越界

字符串的比较

由于C++中有字符串类型的变量,所以字符串之间的比较,就可以使用关系运算符直接比较即可。

字符串的输入

    string userName;
    //cin >> userName; //cin输入字符串  以空格作为结束
    //cout << userName << endl;


    getline(cin,userName); //包含空格


    cout << userName << endl;

C++数组array

需要包含头文件 #include <array>

    array< array<int,2>, 3> a; // === int a[3][2]
    array< array<int,2>, 3>::iterator iter1; //迭代器 遍历每一个一维数组
    array<int, 2>::iterator iter2; //遍历一维数组的每一个元素
    for(iter1 = a.begin(); iter1 != a.end(); iter1++)
    {
        for(iter2 = (*iter1).begin(); iter2 != (*iter1).end(); iter2++)
        {
            cin >> *iter2;
        }
    }
    for(iter1 = a.begin(); iter1 != a.end(); iter1++)
    {
        for(iter2 = (*iter1).begin(); iter2 != (*iter1).end(); iter2++)
        {
            cout << *iter2 << " ";
        }
        cout << endl;
    }

作业

http://www.lryc.cn/news/287022.html

相关文章:

  • 【GitHub项目推荐--12 年历史的 PDF 工具开源了】【转载】
  • React16源码: React中的PortalComponent创建, 调和, 更新的源码实现
  • Hive-SQL语法大全
  • 编译原理2.3习题 语法制导分析[C++]
  • JUC-CAS
  • Effective C++——关于重载赋值运算
  • vscode debug
  • 数据库选型其实技术维度不太重要
  • 【C++】入门(二)
  • Nginx 代理服务路径带/和不带/的问题
  • C# CefSharp 输入内容,点击按钮,并且滑动。
  • 历经15年,比特币以强势姿态进军华尔街!270亿美元投资狂潮引发市场震荡!
  • GBASE南大通用的接口程序GBase ADO.NET
  • 算法训练营Day57(回文子串--总结DP)
  • 使用OpenCV从一个矩阵提取子矩阵
  • 微信云托管:基本使用指南
  • WEB前端IDE的使用以及CSS的应用
  • python中排序函数sorted的简单运用
  • k8s的helm
  • [MySQL]基础的增删改查
  • 简易播放器 以及触发的异常
  • 【Flutter跨平台插件开发】如何实现kotlin跟C++的相互调用
  • Apache SeaTunnel社区荣获“2023快速成长开源项目”奖项
  • Unity 桥接模式(实例详解)
  • Xftp连接不上Linux虚拟机的原因解决方法
  • 代码随想录刷题笔记 DAY12 | 二叉树的理论基础 | 二叉树的三种递归遍历 | 二叉树的非递归遍历 | 二叉树的广度优先搜索
  • Linux问题 apt-get install时 无法解析域名“cn.archive.ubuntu.com”
  • 蓝桥--鸡哥的购物挑战OJ(4169)
  • MySQL--删除数据表(6)
  • 常用界面设计组件 —— 时间日期与定时器