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

C++ ——从C到C++

1、C++的学习方法

(1)C++知识点概念内容比较多,需要反复复习

(2)偏理论,有的内容不理解,可以先背下来,后续可能会理解更深

(3)学好编程要多练习,简单的也要手写确认一遍,记笔记

(4)学习过程中不可能每个知识点都100%懂,有些内容可能经过多年的程序开发实践才领悟,所以即使有不懂的,也按进度计划前行

2、C和C++的区别 

C语言是面向过程编程(POP)

C++是面向对象编程(OOP)

那么面向过程编程和面向对象编程有什么区别呢?

        举个例子:比如做饭、洗衣服、扫地三件事

C语言面向过程编程,会这样做:

        自己做饭,自己洗衣服,然后自己扫地

        把事情分条目,按步骤一步一步来做,有条不紊的进行完成。优点:把握细节,符合计算机的思维,运行效率高;缺点:开发效率低

C++面向对象编程,会这样做:

        找个厨师对象来,让他来做饭,找个保姆对象来,让他来洗衣服和扫地

        优点:调用不同的对象来处理不同的事物,符合人的思维;缺点:运行效率低,但开发效率高

3、C++基础

C++的基础与C语言大致一样,例如:注释、变量、常量、整型、实型、字符型、布尔类型、算数/赋值/比较/逻辑运算符

3.1 基础格式 

#include <iostream>  //iostream:输入输出流文件 ,相当于stdint.h
using namespace std;  //命名空间
int main()  //入口函数
{
    cout << "Hello World!" << endl;  //cout:输出;endl:换行
    return 0;
}
Ctrl+a:全选
Ctrl+i:格式化文档

3.2 C++关键字

3.3 转义字符

转义字符意义ASCII码值(十进制)
\a响铃(BEL)007
\b退格(BS),将当前位置移到前一列008
\f换页(FF),将当前位置移到下页开头012
\n换行(LF),将当前位置移到下一行开头010
\r回车(CR),将当前位置移到本行开头013
\t水平制表(HT)009
\v垂直制表(VT)011
\'单引号039
\"双引号034
\\反斜杠092

3.4 输入输出语句

C++中除了可以使用C语言中printf、scanf进行输入输出外,又新增了一套新的,更容易使用的输入输出库,即iostream

        输出:cout << 字符串信息;

        输入:cin >> 变量;

3.5 C++新的赋值语法 

    //方法一
    int c(2); //相当于给c赋值2
    int d(c); //相当于把c的值赋值给d
    //方法二
    int e{d};  //相当于赋值
    //()和{}赋值的区别:{}更安全,{}为一致性赋值,数据窄化赋值是会警告
    double f=3.14;
    int g(f);
    cout<<g<<endl;  //3
//    int h{f};  //会报错(数据窄化赋值是会警告)

3.6 字符串类型

3.6.1 字符串输入输出

    string uname;
    cin>>uname;  //输入
    cout<<"姓名:"<<uname<<endl;  //输出
    //但是C++中提供了一种可以包含空白的字符串的输入方法:getline
    string addr;
    getline(cin,addr);
    cout<<"地址:"<<addr<<endl;
    //字符串类型string需要导入头文件string
    string str1="admin";
    cout<<str1<<endl;
    //获取字符串的长度
    cout<<"获取字符串的长度:"<<str1.length()<<endl;
    cout<<"获取字符串的长度:"<<str1.size()<<endl;
    //访问字符:索引和at()方法
    //区别:at()方法更安全
    cout<<str1[0]<<endl;  //索引
    cout<<str1.at(0)<<endl;  //at()方法
//    cout<<str1[19]<<"***"<<endl;  //访问超过最大索引值时,是随机值
//    cout<<str1.at(20)<<endl;  //程序终止执行,会爆出out off range错误

3.6.2 字符串的遍历

    //字符串的遍历
    for(int i=0;i<str1.size();i++){
        cout<<str1.at(i)<<"   ";
    }
    cout<<endl;
    //遍历的简便写法,脱离下标,推荐使用
    for(char c:str1){
        cout<<c<<"   ";
    }
    cout<<endl;

3.6.3 数字字符串与整数之间的转换

    //需要导入字符串流头文件sstream
    //(1)将整数转成字符串类型
    int count=123;
    stringstream ss;  //字符串流
    ss<<count;
    string res1=ss.str();
    cout<<res1<<endl;  //字符串类型的"123"
    //(2)将字符串转成整数
    string ww="1234";
    istringstream is(ww);
    int res2;
    is>>res2;
    cout<<res2<<endl; //数字类型1234
http://www.lryc.cn/news/534832.html

相关文章:

  • 【图片转换PDF】多个文件夹里图片逐个批量转换成多个pdf软件,子文件夹单独合并转换,子文件夹单独批量转换,基于Py的解决方案
  • 前端学习之Flex布局
  • 游戏引擎学习第97天
  • Mysql中存储引擎各种介绍以及应用场景、优缺点
  • PHP 运算符
  • Vue全流程--Vue3.0与Vue2.0响应式原理对比
  • C语言学习笔记:子函数的调用实现各个位的累加和
  • 【大模型】本地部署DeepSeek-R1:8b大模型及搭建Open-WebUI交互页面
  • Python 调用 Stabilityai API在本地生成图像
  • Python3中异常处理:try-finally语句的示例
  • Lua限流器的3种写法
  • 基于 GEE 利用插值方法填补缺失影像
  • linux部署ollama+deepseek+dify
  • 在微服务中,如何使用feign在各个微服务中进行远程调用
  • Kafka中的KRaft算法
  • vue3 -- 集成 amap(高德地图)
  • 基于用户的协同过滤算法推荐
  • 4.python+flask+SQLAlchemy+达梦数据库
  • 神经网络常见激活函数 4-LeakyReLU函数
  • PHP盲盒商城系统源码 晒图+免签+短信验证+在线回收 thinkphp框架
  • 单例模式详解(Java)
  • 2025年度Python最新整理的免费股票数据API接口
  • 2.10学习总结
  • 原生鸿蒙版小艺APP接入DeepSeek-R1,为HarmonyOS应用开发注入新活力
  • 从Word里面用VBA调用NVIDIA的免费DeepSeekR1
  • 【SpringBoot篇】基于Redis分布式锁的 误删问题 和 原子性问题
  • 【JVM详解三】垃圾回收机制
  • MySQL的字符集(Character Set)和排序规则(Collation)
  • 2025影视泛目录站群程序设计_源码二次开发新版本无缓存刷新不变实现原理
  • 常用的python库-安装与使用