C++程序设计基础【一】

news2025/2/28 23:35:41

C++程序设计基础【一】

  • 一、一个程序的开发步骤
    • 1.编辑程序
    • 2.编译程序
    • 3.链接程序
    • 4.执行程序
    • 5.测试
  • 2.基础代码解读
    • 1.预处理指令(#include <iostream>)
    • 2.块注释(/* */)
    • 3.行注释(//)
    • 4.using namespace std
    • 5.int main()
    • 6.{}
    • 7.std::cin、std::cout、std::endl
    • 8.return 0
  • 二、变量、值、常量
    • 1.变量
    • 2.值
  • 3.常量
  • 三、C++程序的组成部分
    • 1.标识符
      • 1.标识符
        • 1.关键字
        • 2.预定义标识符
        • 3.用户自定义标识符
      • 2.字面量
      • 3.符号
        • 1.算术运算符
        • 2.关系运算符
        • 3.逻辑运算符
        • 4.位运算符
        • 5.赋值运算符
        • 6.杂项运算符
        • 7.运算优先级
  • 四、数据类型
    • 1.整数类型
    • 2.字符类型
    • 3.布尔类型
    • 4.浮点类型
    • 5.void类型
    • 6.字符串类
  • 1.为什么C++项目的格式是.h、.cpp

一、一个程序的开发步骤

1.编辑程序

使用文本编辑器编写、编辑程序,将写好的程序(源文件)保存到磁盘中,作为编辑器的输入

2.编译程序

通过编译器将源文件翻译成机器语言

3.链接程序

链接器将系统函数和源程序中的函数组装到可执行文件中

4.执行程序

通过加载器将程序加载到内存中

5.测试

通过构建测试用例来进行程序测试

2.基础代码解读

1.预处理指令(#include )

预处理器检查预处理命令,然后编译器执行命令中需要的操作,随后删除预处理命令,最后编译

2.块注释(/* */)

块注释用于展示给用户或者代码审查者的注释,被编译器完全忽略

3.行注释(//)

整行被编译器忽略

4.using namespace std

当对象没有姓氏时,在其前面插入std::,使其名称完整

5.int main()

每个C++程序都是从main函数开始的

6.{}

花括号必须成对,每一个函数定义都必须包含在其中

7.std::cin、std::cout、std::endl

std是标准库,cout、endl是对象
为避免方向混淆,使用时可简单理解为>>是输入,数据向右移动,<<是输出,数据向左移动
cin的对象是变量名,cout的对象是值

8.return 0

C++运行器等待返回0时,程序运行成功并结束程序

二、变量、值、常量

1.变量

在使用变量之前,必须先定义变量,告诉编译器要使用具有给定名称和给定类型的内存位置,变量声明时若没有给定值则没有存储任何值

2.值

变量的内容称为"值"

3.常量

常量的值是不能变的,声明保存它的内存位置时,用const修饰符限定其名称(不建议使用字面量)

三、C++程序的组成部分

1.标识符

一个不包含注释的C++程序是一个标记符序列。标记符包含标识符、字面量或符号

1.标识符

标识符必须以字母或者下划线开头,可包含不限制数量的数字、字母或下划线
标识符可以归属于关键字、预定义标识符和用户自定义标识符

1.关键字

关键字不能重新定义,关键词请添加图片描述

2.预定义标识符

预定义的不要改

3.用户自定义标识符

我们自己定义的标识符要是描述性的,名称能说明实体的内容

2.字面量

字面量是不同类型的常量值,包括整形、字符串等。

3.符号

C++使用非字母符号作为运算符和标点符号,参考链接

1.算术运算符

在这里插入图片描述

2.关系运算符

在这里插入图片描述

3.逻辑运算符

在这里插入图片描述

4.位运算符

在这里插入图片描述

5.赋值运算符

在这里插入图片描述

6.杂项运算符

在这里插入图片描述

7.运算优先级

在这里插入图片描述

四、数据类型

数据类型分类如下
在这里插入图片描述
取值范围如下
在这里插入图片描述

1.整数类型

2.字符类型

字符字面量总是使用一对单引号括起来

3.布尔类型

布尔数据类型的大小为一个字节

4.浮点类型

5.void类型

6.字符串类

C语言中,字符串以空字符结尾,实际字符串长度+1(+‘\0’),C++中使用string类,没有空字符

1.为什么C++项目的格式是.h、.cpp

头文件.h是

源文件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/580953.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

云上高校导航 开发指引 与 注意事项

&#x1f52c; 注意事项 大部分数据存储在utils.js中的&#xff0c;页面通过引入utils.js方式渲染数据 图标全部存储在项目images文件夹里,均下载自 iconfont网站&#xff08;自行替换&#xff09; 部分图片引用自 免费图床 - CDN加速图床&#xff08;自行替换&#xff09; …

七年程序员的三四月总结:三十岁、准备婚礼、三次分享

你好&#xff0c;我是 shixin&#xff0c;一名工作七年的安卓开发。 每两个月我会做一次总结&#xff0c;记下这段时间里有意义的事和值得反复看的内容&#xff0c;为的是留一些回忆、评估自己的行为、沉淀有价值的信息。 一转眼 2023 年过去了三分之一&#xff0c;这两个月经…

响应式编程实战:Spring WebFlux集成MongoDB和Swagger

1 缘起 新的项目&#xff0c;快速迭代&#xff0c; 技术选型&#xff1a;Spring WebFlux&#xff0c; 非Spring MVC&#xff0c; 之前没有接触过Spring WebFlux&#xff0c;项目中都是使用Spring MVC&#xff0c; 这次学到了新的知识Spring WebFlux&#xff0c;记录下。 2 Sp…

C++实现哈希表

文章目录 前言1.哈希表的相关介绍2.哈希表的实现1.开放定址法实现哈希表1.插入2.查找3.删除 2.链地址法(开链法)实现哈希表1.插入节点2.查找3.删除4.相关的一些补充 3.封装unordered_map与unordered_set1.封装前的改造2.迭代器的实现3.unordered_map和unordered_set复用 前言 …

60题学会动态规划系列:动态规划算法第一讲

坚持就是胜利 - - 文章目录 1.第N个泰波那切数 2.三步问题 3.使用最小花费爬楼梯 4.解码方法 1.第N个泰波那切数 力扣链接&#xff1a;力扣 泰波那契序列 Tn 定义如下&#xff1a; T0 0, T1 1, T2 1, 且在 n > 0 的条件下 Tn3 Tn Tn1 Tn2 给你整数 n&#xff0c…

多线程 -- 线程安全问题(3)

本篇重点: 总结线程安全问题的原因以及解决办法 目录 synchronized 加锁关键字join 和 synchronized 的区别volatile 关键字 在上一篇中我们介绍了Thread类的基本使用方法, 本篇将会介绍有关于线程的安全问题 线程不安全的原因: 抢占式执行(罪魁祸首, 万恶之源) 多个线程修改同…

搜索推荐系统[10]项目实战系列Z5:汽车说明书跨模态智能问答系统,针对汽车说明书(可自定义文档)进行自动问答,采用了OCR、RocketQA等技术

搜索推荐系统专栏简介:搜索推荐全流程讲解(召回粗排精排重排混排)、系统架构、常见问题、算法项目实战总结、技术细节以及项目实战(含码源) 专栏详细介绍:搜索推荐系统专栏简介:搜索推荐全流程讲解(召回粗排精排重排混排)、系统架构、常见问题、算法项目实战总结、技术…

小程序之页面通信派发通知

文章目录 1. 介绍小程序页面通信的概念解释小程序页面通信的意义和必要性介绍小程序页面通信的方法 2. 小程序页面通信的实现示例通过事件传递数据实现页面之间通信通过全局变量实现页面之间通信 3. 实现小程序页面之间的消息通知介绍小程序发布订阅模式的概念使用事件订阅-发布…

网络通信IO模型-BIO

承接上文网络通信IO模型上 BIO的Java代码 服务端创建一个ServerSocket&#xff0c;绑定了端口号8090&#xff0c;目的是让客户端和服务端建立连接后进行通信&#xff0c;然后进入死循环&#xff0c;死循环里面会调用server.accept得到一个socket客户端&#xff0c;打印客户端的…

【PyQt5】指示灯显示

【PyQt5】指示灯显示 1、背景2、代码示例3、QtDesigner绘制 1、背景 利用Qt5写工业控制软件交互界面的时候&#xff0c;经常需要在界面上有指示灯功能。 例如下面的明暗表示串行端口的连接和断开。 我们本质是用Qt5的label文本标签来实现的&#xff0c;即通过设置标签的样式表…

115.删除有序数组中的重复项 removeDuplicatesFromSortedArray

文章目录 题目描述解题思路代码详解运行截图 题目描述 题目链接 给你一个 升序排列 的数组 nums &#xff0c;请你 原地 删除重复出现的元素&#xff0c;使每个元素 只出现一次 &#xff0c;返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元…

C# | 凸包算法之Jarvis,寻找一组点的边界/轮廓

C#实现凸包算法之Jarvis 文章目录 C#实现凸包算法之Jarvis前言示例代码实现思路测试结果结束语 前言 这篇关于凸包算法的文章&#xff0c;本文使用C#和Jarvis算法来实现凸包算法。 首先消除两个最基本的问题&#xff1a; 什么是凸包呢&#xff1f; 凸包是一个包围一组点的凸多…

驱动LSM6DS3TR-C实现高效运动检测与数据采集(1)----获取ID

概述 本文将介绍如何驱动和利用LSM6DS3TR-C传感器&#xff0c;实现精确的运动感应功能。LSM6DS3TR-C是一款先进的6轴惯性测量单元&#xff08;IMU&#xff09;&#xff0c;集成了三轴加速度计和三轴陀螺仪&#xff0c;可用于测量和检测设备的加速度、姿态和运动。 本文将提供L…

车载软件架构 —— 闲聊几句AUTOSAR OS(二)

我是穿拖鞋的汉子,魔都中坚持长期主义的工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 在最艰难的时候,自己就别去幻想太远的将来,只要鼓励自己过好今天就行了! 这世间有太多的猝不及防,有些东西根本不配占有自己的情绪,人生就是一场体验,…

牛客HJ43迷宫问题 - 创建智能体通过策略自己找路

文章目录 问题描述思路代码C 问题描述 描述 定义一个二维数组 N*M &#xff0c;如 5 5 数组下所示&#xff1a; int maze[5][5] { 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, }; 它表示一个迷宫&#xff0c;其中的1表示墙壁&#xff0…

SPA首屏加载速度慢的怎么解决?

SPA首屏加载速度慢的怎么解决&#xff1f; 加载慢的原因 网络延时问题资源文件体积是否过大资源是否重复发送请求去加载了加载脚本的时候&#xff0c;渲染内容堵塞了 解决方案 1.减小入口文件体积 常用的手段是路由懒加载&#xff0c;把不同路由对应的组件分割成不同的代码…

如何在华为OD机试中获得满分?Java实现【水仙花数】一文详解!

✅创作者:陈书予 🎉个人主页:陈书予的个人主页 🍁陈书予的个人社区,欢迎你的加入: 陈书予的社区 🌟专栏地址: Java华为OD机试真题(2022&2023) 文章目录 1. 题目描述2. 输入描述3. 输出描述4. Java算法源码5. 测试6.解题思路1. 题目描述 所谓水仙花数,是指一个…

LeetCode高频算法刷题记录10

文章目录 1. 旋转图像【中等】1.1 题目描述1.2 解题思路1.3 代码实现 2. 组合总和【中等】2.1 题目描述2.2 解题思路2.3 代码实现 3. 回文链表【简单】3.1 题目描述3.2 解题思路3.3 代码实现 4. 字符串解码【中等】4.1 题目描述4.2 解题思路4.3 代码实现 5. 多数元素【简单】5.…

高压功率放大器ATA4014VS高压功率放大器HSA42014

高压功率放大器ATA4014VS高压功率放大器HSA42014 一、企业背景&#xff1a; Aigtek是一家来自中国的专业从事测量仪器研发、生产和销售的高科技企业。公司主要研发和生产功率放大器、功率放大器模块、功率信号源、计量校准源等产品。核心团队主要是来自西安交通大学及西北工业大…

ERP系统介绍

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、ERP系统概述&#xff1f;1.什么是ERP2.主流ERP系统介绍3.用友ERP4.部署用友ERP畅捷通T6软件系统环境要求4.用友ERP畅捷通T6软件用户管理4.用友ERP畅捷通T6软…