本文内容目录

  • 一,编程环境
  • 二,新建项目
  • 三,变量和常量
  • 四,数据类型
  • 五,运算符
    • 5.1 算术运算符
    • 5.2 赋值运算符
    • 5.3 比较运算符
    • 5.4 逻辑运算符
  • 六,其他
    • 6.1 关键字汇总
    • 6.2 数据输入和输出
    • 6.3 注释

一,编程环境

系统环境:Microsoft Windows 版本 20H2(专业版)64位

开发工具:Microsoft Visual Studio 2019 社区中文版(其他工具DeV C++、CLion、C-Free、Xcode、C4droid也可以,看个人习惯)

下载地址:https://visualstudio.microsoft.com/zh-hans/downloads/(其他的IDE也是一样)

编译器工作流程:源代码(source code)->预处理器(preprocessor)->编译器(compiler)->目标代码(object code)->链接器(Linker)->可执行程序(executables)

关于编译器版本:https://www.cnblogs.com/icmzn/p/5911661.html

二,新建项目

在VS中建立第一个项目。

点击 - > 【文件】->【新建】-> 【项目】->【空项目】


【视图】->【工具栏】->【自定义】中可以自定义显示的视图。

三,变量和常量

【变量】作用是给一段内存命名,方便操作这段内存。定义变量的语法是数据类型 变量名 = 初始值。(在创建变量时,必须给变量一个初始值,否则会报错)。

变量的命名规则:

  • 标识符不能是关键字
  • 标识符只能由字母、数字、下划线组成
  • 第一个字符必须为字母或下划线
  • 标识符中字母区分大小写

【常量】用于记录程序中不可改变的数据。

#define宏定义和const定义常量的区别和联系?


1.define无类型,不进行安全检查,可能会有一些想不到的错误发生,导致边缘效应

【边缘效应】#define N 2+3, N 的值是 5,

double a; a = (float)N/(float)2;

在编译时我们预想 a=2.5,实际打印结果是 3.5 原因是在预处理阶段,编译器将 a=N/2 处理成 a=2+3/2,这就是边缘效应。

所给出的还是一个立即数,预处理时只是进行简单的字符串替换,会把所定义的常量值和所定义的常量的名字联系起来。在预处理阶段进行替换。预处理后占用代码段空间,不分配内存,给出的是立即数,有多少次使用就进行多少次替换,在内存中会有多个拷贝,消耗内存大

2.const有数据类型,在编译的时候会进行类型检查。本质上还是该类型,占用空间大小和数据的类型一样。在编译的时候确定值得。用数据段空间,在静态存储区中分配空间,在程序运行过程中内存中只有一个拷贝。

四,数据类型

数据类型的作用是为了更好地解决计算机对数据的存储和运算问题。就相当于是一种容器,每个容器都有大小之区分。如果总是用大号容器的装少量的水,就会造成资源浪费。如果用大量的水放在小号的容器,就会造成水的“满出”。

各个数据类型的取值范围:

数据类型 占用空间 取值范围
short(短整型) 2字节 (-2^15 ~ 2^15-1)
int(整型) 4字节 (-2^31 ~ 2^31-1)
long(长整形) Windows为4字节,Linux为4字节(32位),8字节(64位) (-2^31 ~ 2^31-1)
long long(长长整形) 8字节 (-2^63 ~ 2^63-1)
float 4字节 7位有效数字
double 8字节 15~16位有效数字
char 1字节
bool 1字节

在不知道数据类型所占的空间大小时,可以使用sizeof关键字统计一个数据类型所占的字节大小。

int main()
{cout << "int 类型所占内存空间为: " << sizeof(int) << endl;cout << "long long 类型所占内存空间为: " << sizeof(long long) << endl;system("pause");return 0;
}

五,运算符

作用:用于执行代码的运算。

C++中所有的运算符可以归为以下几类:

分类 作用
算术运算符 处理四则运算
赋值运算符 用于将表达式的值赋给变量
比较运算符 用于表达式的比较,返回一个true,false
逻辑运算符 用于根据表达式的值返回真值或假值
5.1 算术运算符

处理四则运算

notice: 在除法运算中,除数不能为0

5.2 赋值运算符

表达式的值赋给变量
主要包含以下几种符号。

5.3 比较运算符

用于表达式的比较,并返回一个真值或假值

5.4 逻辑运算符

用于根据表达式的值返回真值或假值

六,其他

6.1 关键字汇总

关键字是C++中预先保留的单词(标识符)。定义变量或常量的时候,不能使用关键字
所有关键字如下:

auto double inline short typeid
bool dynamic_cast int signed typename
break else long sizeof union
case enum mutable static unsigned
catch explicit namespace static_cast using
char export new struct virtual
asm do if return typedef
class extern operator switch void
const false private template volatile
const_cast float protected this wchar_t
continue for public throw while
default friend register true
delete goto reinterpret_cast try
6.2 数据输入和输出
int main(){//整型输入int a = 0;cout << "请输入整型变量:" << endl;cin >> a;cout << a << endl;system("pause");return EXIT_SUCCESS;
}
6.3 注释

作用:在代码中加一些说明和解释,方便自己或其他程序员程序员阅读代码
两种格式

  1. 单行注释// 描述信息

    • 通常放在一行代码的上方,或者一条语句的末尾,对该行代码说明
  2. 多行注释/* 描述信息 */
    • 通常放在一段代码的上方,对该段代码做整体说明

加一些说明和解释,方便自己或其他程序员程序员阅读代码

两种格式

  1. 单行注释// 描述信息

    • 通常放在一行代码的上方,或者一条语句的末尾,对该行代码说明
  2. 多行注释/* 描述信息 */
    • 通常放在一段代码的上方,对该段代码做整体说明

【C++】(一)C++入门第一课相关推荐

  1. Opencv入门第一课打开窗口

    Opencv入门第一课打开窗口 一.如何打开图片(代码解释如下) Mat src = imread("D:/images/lena.jpg"); 解释:imageread图片读取 ...

  2. 人工智能入门第一课:手写字体识别及可视化项目(手写画板)(mnist)

    人工智能入门第一课:手写字体识别及可视化项目(手写画板)(mnist),使用技术(Django+js+tensorflow+html+bootstrap+inspinia框架) 直接上图,项目效果 1 ...

  3. 【C++】入门第一课

    文章目录 C++入门第一课 1. C++发展简史 2.C++关键字 3.C++运行环境 4.C++头文件以及输入输出 4.1 头文件 4.2输入输出 5.命名空间(namespace) 5.1命名空间 ...

  4. janusgraph 引入 java_JanusGraph入门第一课和官方文档踩坑

    入门第一课是在IDEA里创建一个项目,有些小曲折.这里运行的Demo是读取janusgraph示例的"神之图"(Graph of the Gods)数据并打印,采用Hbase+ES ...

  5. 摩托入门第一课[老猫]

    摩托入门第一课 老猫 2001-02-24 早就想给新入门的摩托朋友写一点东西了,因为自己当初也是那么的一脸茫然.想不出什么好的题目,就用了"第一课"的字眼,希望读者老兄不要介意. ...

  6. 大数据入门第一课 Hadoop基础知识与电商网站日志数据分析

    大数据入门第一课 Hadoop基础知识与电商网站日志数据分析 本课程从Hadoop核心技术入手,以电商项目为依托,带领你从0基础开始上手,逐步掌握大数据核心技术(如:HDFS.YARN.MapRedu ...

  7. C#编程入门第一课 Visual studio 2019使用,cs文件构成,打开项目文件,两句最简单语句,运行前,运行程序,显示行号,设置字体

    C#编程入门第一课 文章目录 C#编程入门第一课 1 2 3 Visual Studio 2019 4. cs文件构成 5. 打开项目文件 6. 两句最简单语句 7. 运行前 8.运行程序 9.显示行 ...

  8. Linux运维工程师入门第一课-赵永刚-专题视频课程

    Linux运维工程师入门第一课-75人已学习 课程介绍         本课程包含许多工作中会遇到的问题及解决方案,解决大家工作当中遇到的问题.非常适合刚刚入门的同学来学习linux基础入门. 本课程 ...

  9. python编程入门第一课_python入门前的第一课 python怎样入门

    人工智能时代的到来,很多文章说这么一句:"不会python,就不要说自己是程序员",这说的有点夸张了,但确实觉得目前python这个语言值得学习,而且会python是高薪程序员的必 ...

  10. NXP KW38蓝牙开发(一)入门第一课:官网蓝牙广播和连接例程,NMI禁止

    首先要下载开发使用的IDE:MCUXpresso IDE 下载链接: 进入nxp的官网,搜索KW38 向下翻看,找到Xpresso,点击进入 习惯使用IAR开发的同学也可以下IAR版本,这里以Xpre ...

最新文章

  1. J2EE学习笔记三:EJB基础概念和知识 收藏
  2. java上传+限制单文件,VereMVC 之 单文件上传
  3. 操作系统都是用c语言写的吗,用C语言写关于操作系统的一个问题。
  4. Python列表解析式,还支持异步?你知道吗?
  5. Exchange 2013 邮箱管理
  6. 区块链技术核心概念与原理讲解-Tiny熊
  7. 自动化测试——接口测试——增删改查
  8. fft_fft_control
  9. 动词变名词的变化规则_动词变名词的变化规则例子
  10. 宣布造车后股价上演“过山车”,开心汽车如意算盘恐落空
  11. 【前端面试】04 HTTP协议
  12. error: redefinition of ‘xxx’问题的解决
  13. 多组两两比较用什么检验方法_手把手教你多组独立样本的非参数检验及两两比较...
  14. ios 日志系统 lumberjack
  15. OC 技术 原生地图(源码)
  16. 图论(四)最短路算法Dantjig的实现
  17. mac备份_备份Mac的最佳方法
  18. scapy python3_【Python3黑帽子学习笔记 on Mac】第四章 Scapy:网络的掌控者
  19. 如何使IIS7支持ASP
  20. 申请iso27000认证是什么认证?

热门文章

  1. 制作美联英语在线VIP页面----特色服务模块
  2. 基于LCC谐振补偿网络的无线充电技术的研究
  3. fa-cog css,完整的Font Awesome 3.2.1 图标参考
  4. 你知道数据分析报告应该如何写吗?
  5. 直线拟合fitLine函数的用法
  6. 驾驶员理论考试通过!
  7. 利用python画圆
  8. qt5的configure选项说明(2)
  9. 利用VB批量增加行高,解决Excel打印字体显示不全问题
  10. 设计模式(工厂模式)