首页 > 编程语言 >跟我从零开始学C++(C++代码基础)

跟我从零开始学C++(C++代码基础)

时间:2024-06-17 19:30:51浏览次数:14  
标签:cout 代码 C++ 标准 Visual 从零开始 Studio 字节

引言

小伙伴们是不是都等不及了,来啦来啦它来啦,在经历过前边那么多乱七八糟的但又重要的知识后,终于迎来了有关C++代码的这一步,真是不容易呀,小伙伴们,本章小雨会带着大家去从下载软件到一些简单的基础知识,放轻松~ 不过本章全程干货一点都不能错过呀,而且附带的Visual studio的详细教程有需要的小伙伴们点赞收藏以备忘了反复观看。

C++基础

程序语言的的发展

  • 机器语言

    在这里插入图片描述

    • 由计算机可以直接识别的一组由“0”,“1”组成的指令代码组成,通过设备读取到计算机内内部。
  • 汇编语言

    • 使用了助记符代替二进制的0,1,例如add表示加法,mov表示移动等。计算机不能直接识别,需要转换为机器语言执行。
  • 高级语言

    在这里插入图片描述

    • 更接近于人类自然语言,例如a = 10 + 20;计算机不能直接识别,需要转换为机器语言执行。

初识C++

  • C++是在C语言的基础上发展而来的,面向对象的高级程序设计语言。
  • C++98标准:C++标准的第一版,于1998年发布。常见标准
  • C++03标准:C++标准的第一版,于2003年发布。
  • C++11标准:C++标准的第一版,于2011年发布。常见标准
  • C++14标准:C++标准的第一版,于2014年发布。
  • C++17标准:C++标准的第一版,于2017年发布。

C++语言的特点

  1. 继承C语言的优点,语法简洁紧凑,语法结构明确,拥有丰富的运算符和数据结构,程序执行效率高,可移植性好。
  2. C++比C更安全,增加了const常量,引入引用,且以面向对象为主。
  3. C++可复用性高,支持以模板为特征的泛型编程。
  4. C++是编译型语言。

C++语言的应用领域

  1. 服务器端
    • 高并发的网络服务端,比如QQ,腾讯等大型社交软件。大型游戏后台服务器端。
  2. PC客户端
    • 结合QT或DUILib进行客户端或上位机软件开发,例如大型游戏,360安全卫士,QQ客户端等。
  3. 其他高级语言的运行环境
    • java虚拟机,python解释器等。
  4. 图形图像处理
    • 比如AutoCAD的系统开发,OpenCV的视觉识别等。
  5. 网络软件
    • 比如Google的chrome浏览器
  6. 操作系统
  7. 设备驱动程序
  8. 嵌入式和硬件相关
    • 汽车和军工控制器中的程序
  9. 新兴行业
    • 区块链,比特币,车联网等。

Visual Studio

这是我们即将学习的C++使用的编辑平台,这是由微软开发的一个集成开发环境(IDE),它支持多种编程语言,包括 C++。选择 Visual Studio 作为 C++ 学习和开发环境有以下几个原因在这里插入图片描述

  • 功能强大:Visual Studio 提供了一套完整的开发工具,包括代码编辑器、调试器、编译器、性能分析工具等,这些都是开发大型应用程序所必需的。
  • 调试能力强大:Visual Studio 提供了非常强大的调试工具,包括断点、单步执行、查看变量值、调用栈检查等功能,这对于学习 C++ 和理解程序运行流程非常有帮助。
  • 用户界面友好:Visual Studio 的用户界面直观易用,可以帮助初学者更容易地理解和管理他们的项目。
  • 社区和支持:由于 Visual Studio 拥有庞大的用户群体,因此可以很容易地找到相关的学习资源、社区支持和插件。
  • VS Code(Visual Studio Code)和VSS(Visual Studio)是微软推出的两款不同的代码编辑器和开发环境又想了解的可以点击下边两个链接
  • VSS(Visual Studio)使用教程
  • VS Code(Visual Studio Code)使用教程

下载Visual Stuido

我在这里放下了下载地址把这个复制粘贴即可或直接点击链接

Visual Studio下载官网:下载 Visual Studio Tools

下载流程:

1.打开下载官网

在这里插入图片描述

2.下载完成并打开

在这里插入图片描述

3.更改位置选项
在这里插入图片描述

4.等待安装成功
在这里插入图片描述

5.安装成功并打开
在这里插入图片描述

6.点击创建新项目,并点击模板在控制台应用(我们刚开始学习C++,用这个模板会有一些基本的语句可以帮助我们更快的了解它)并放在合适的位置(放哪都行,看个人),最后点击创建。
在这里插入图片描述

7.完成下载并建立新项目,接下来就是学习相关知识了!!!

在这里插入图片描述

C++语法基础

// 此文件包含 "main" 函数。程序执行将在此处开始并结束。

//  单行注释
/*
    多行注释
    允许换行
*/

// 引入库文件
#include <iostream>

// main函数,C++入口函数,程序从这里开始执行。
int main()
{
    // std是标准库的名字,cout是标准库中的成员。
    std::cout << "Hello World!\n";
    
    // main返回,停止程序
    return 0;
}

/*
	基本语法
	用#include 引入库文件
	一行代码只做一件事情,每行语句末尾加分号;
	所有的缩进是4个空格,{}之内的代码块在{处,按级缩进。
	程序的分解符{和}应独占一行并位于同一列。同时与引用它们的语句左对齐。
*/

关键字(keyword)

  • 关键字是由程序本身使用的,有专门的意义和用途。
  • 关键字是对编译器有特殊意义的固定单词,不能在程序中做其他的目的使用。

在这里插入图片描述

标识符

  • 标识符就是名字:项目名、文件名、函数名、方法名、变量名、类名、对象名等。
  • 只能由字母、数字、下划线组成,不能以数字开头。尽量不要使用下划线开头。
  • 不能使用关键字作为标识符
  • 标识符对大小写敏感。
  • 标识符命名规范
    • 标识符要见名知意
    • 普通变量(函数内的变量):类型缩写(小写)+ 单词(首字母大写)。例如,iCount,strStudentName。
    • 类成员变量,m类型缩写(小写)+单词(首字母大写)。例如,m_iCount, m strStudentName。
    • 全局变量,g类型缩写(小写)+单词(首字母大写)。例如,g_iCount, g strStudentName。
    • 常量命名,常量全用大写的字母,用下划线分割单词。例如,MAX_LENGTH
    • 函数命名,动词+名词的组合,第一个单词小写,第二个单词开始首字母大写。getAge(),setAge()。
    • 类命名,由多个单词组成,每个单词首字母大写。

变量

  • 变量是命名的其值可以改变的量,变量的作用是用来保存数据。
  • 变量使用前必须定义,定义时需要指定类型。
  • 变量不能重复定义,同一个作用域内不能定义两个相同名称的变量。
  • 变量可以通过传统、对象、统一三种方式初始化,常用传统方式初始化。
  • 变量可以是C++支持的任何类型。

常量

  • 在程序运行过程中,其值不能改变的量称为常量。
  • 直接常量,直接使用数值或文字表示的值。
  • 符号常量,用标识符表示数值或文字。符号常量只能在定义时指定其值,一旦初始化后不能修改。符号常量可以通过const定义或宏定义。

输入输出

  • cin 输入
  • cout 输出

基本数据类型

  • 整数型
    在这里插入图片描述

    • short,短整型,2字节,16位

    • int,整型,4字节,32位

    • long,长整型,4字节,32位

    • long,长长整型,8字节,64位

    • 无符号的整型在这里插入图片描述

    • unsigned 是 C++关键字,可以使用在整数前面,表示无符号即没有负数,取值从0开始。

  • 浮点型

    • float,浮点型,4字节
    • double双精度浮点型,8字节
    • long double, 8字节
  • 字符型

    • char,字符型,1字节,用于存放1个字符。可以是一个普通字符也可以是一个转意字符。

在这里插入图片描述

  • 布尔型
    • bool,布尔型,1字节,取值只有true(真),false(假)。
    • 非0数字赋值给bool时,转换成true; 0赋值给bool时,转换成false。
    • 空字符赋值给bool时,转换成false,其他字符都是true。

小练习

编写一个收银台小程序,输入物品的个数,物品单价,以及收到金额,输出找零

 //  写一个收银小程序,要求输入购买物品个数,物品单价,以及付款金额,最后输出找零


#include <iostream>

using namespace std;
/*在C++程序中,using namespace std; 这行代码的作用是告诉编译器使用标准命名空间(std),
这样你就不需要在标准库中的对象和函数前加上 std:: 前缀。例如,你可以直接使用 cout 而不需要 std::cout。
*/


int main() {
    cout << "欢迎光临我们的商店!" << endl;

    int quantity;
    double price, payment, change;

    cout << "请输入购买物品的个数: ";
    cin >> quantity;

    cout << "请输入物品的单价: ";
    cin >> price;

    cout << "请输入付款金额: ";
    cin >> payment;

    double total = quantity * price;
    change = payment - total;

    if (change >= 0) {
        cout << "找零金额为: " << change << "元" << endl;
    }
    else {
        cout << "付款不足,还需支付: " << -change << "元" << endl;
    }

    return 0;
}

结语

怎么样呢,今天的学习是不是收获满满呢,今天的小练习小伙伴们有没有做出来呀,没做出来的仔细研究一下代码,看看哪里没有看明白,可以问问身边的朋友,如果还是搞不懂,欢迎大家私信我,我一定会认真给大家讲解的。好了,今天的知识学习就到这里来★,°:.☆( ̄▽ ̄)/$:.°★

标签:cout,代码,C++,标准,Visual,从零开始,Studio,字节
From: https://blog.csdn.net/m0_58077690/article/details/139662353

相关文章

  • 跟我从零开始学C++(C++代码基础)3
    引言小伙伴们大家好呀,又到了每日学习的时候了,今天小杨同学给大家带来了新的知识点哟,大家准备好了么,昨天学习的任务有没有消化好呢,昨天的课后练习怎么样了呢,有没有费了一番功夫弄出来呢。没有把基础打好的小伙伴们千万不要着急呀,毕竟根基不牢是要出大事情的,小伙伴们加油呀,跟......
  • 代码题答案
    importjava.util.Random;publicclassMain{publicstaticvoidcharCode(){StringBuildersb=newStringBuilder();Randomrandom=newRandom();for(inti=0;i<5;i++){intrandomCharType=random.nextlnt(2);/随机选择大小写if(randomCharType==0){/......
  • 一行Python代码可以做什么,超出你想象
    哈喽,大家好,我是木头左!揭秘编程语言的灵活性在编程的世界里,简洁就是力量。Python以其优雅和简洁而著称,让开发者能够用更少的代码做更多的事。但这并不意味着功能上的妥协——Python的强大之处在于它允许在一行代码中执行多个语句,这不仅能提高的编码效率,还能使代码更加紧凑和易......
  • 魂断代码读书笔记1
    《梦断代码》的第一章“死定了”集中描绘了Chandler项目在2003年7月的初期阶段面临的种种混乱和困难。作为一个开源项目,Chandler并没有商业项目那样的资金支持和明确的管理体系,因此在技术和管理上遇到了很多问题。技术问题在技术层面,Chandler项目遇到了许多挑战。首先是技术选型......
  • 数据结构代码常用模板
    目录线性表顺序表单链表循环单链表栈和队列顺序栈链栈队列树与二叉树二叉树的遍历并查集哈夫曼树串KMP图深度优先搜索与广度优先搜索拓扑排序克洛斯卡尔最小生成树弗洛伊德最短路排序快速排序直接插入排序希尔排序简单选择排序冒泡排序线性表顺序表#include<iostream>#includ......
  • C++类虚函数实现多态求长方体和圆柱体的体积
    #include<iostream>usingnamespacestd;#definePI3.14classContainer{ public: Container(doubleh){ height=h;//简单的方法初始化h } virtualdoublegetvolumn()=0;//纯虚函数 protected: doubleheight;};classCube:publicC......
  • 代码随想录第10天 | 栈与队列part01
    题目:232.用栈实现队列思路:1.使用双栈,一个作为输入,一个作为输出代码:classMyQueue{private:stack<int>A,B;public:MyQueue(){}voidpush(intx){A.push(x);}intpop(){//删除A栈底元素并返回元素intresult=this->p......
  • 构建LangChain应用程序的示例代码:35、如何使用假设性文档嵌入(HyDE)技术来改善文档索引
    使用假设性文档嵌入(HyDE)改善文档索引摘要本文介绍了如何使用假设性文档嵌入(HypotheticalDocumentEmbeddings,简称HyDE),这是根据一篇论文中描述的技术。HyDE是一种嵌入技术,它接收查询,生成一个假设性的答案,然后嵌入该生成的文档,并将其作为最终示例使用。代码及注释froml......
  • 05梦断代码阅读笔记
    《梦断代码5》前台与人对话,后台与比特对话,言简意赅。创建还是复用?每个软件迟早都会到达这个岔路口。的确,我们不也是这样,复用固然便利简单,但能否完全适合自己现在的编程环境仍是一个未知数。而创建虽然费时费力但无疑是针对自己的状况,两者各有优劣。向往未来那种程序可由复用......
  • 2024华为OD机试真题-出租车计费 、靠谱的车-(C++/Python)-C卷D卷-100分
    2024华为OD机试题库-(C卷+D卷)-(JAVA、Python、C++) 题目描述:程序员小明打了一辆出租车去上班。出于职业敏感,他注意到这辆出租车的计费表有点问题,总是偏大。出租车司机解释说他不喜欢数字4,所以改装了计费表,任何数字位置遇到数字4就直接跳过,其余功能都正常。比如:23再多......