C++入门教程(一)

2023-11-20

目录

一、初识C++

2.程序结构

二、顺序结构程序设计

1.头文件

        1.1 iostream

        1.2 cstdio

        1.3 cmath

2.名称空间

3.输入和输出

        3.1输入

        3.2输出

        3.3各种输入输出优点缺点比较

4.变量

        4.1赋值

        4.2 定义

        4.3 常量

                4.3.1 常量的形式

                4.3.2 常量的定义


一、初识C++

1.语言简介

C++是一种混合型的面向对象性程序设计语言。它既有面向对象的象征,又具有对传统C语言的向后兼容性,具备结构化程序设计的特征。简单来说,C++是一种计算机高级程序设计语言,是由C语言扩展升级而产生的。

2.程序结构

下面我们将用一个题目做示范:

牛吃草问题(题目来自奥数之“牛吃草问题”C++实现 | 《Linux就该这么学》

有一个牧场,牧场上的牧草每天都在匀速生长,这片牧场可供15头牛吃20天,或供20头牛吃10天,那么,这片牧场每天新生的草量可供几头牛吃一天?

程序如下:

#include<iostream>//使用int、cout需调用iostream库
int main()//主程序
{
    int m1,n1,m2,n2;//定义变量m1、n1、m2、n2
    cin>>m1>>n1>>m2>>n2;//输入
    int x=(m1*n1-m2*n2)/(n1-n2);//定义变量x,并赋值
    cout<<x<<endl;//输出
    return 0;//结束程序
}

二、顺序结构程序设计

1.头文件

头文件是放在前几行的代码,所有后面写的函数都需要有头文件调用,我建议初学者用这几个头文件:

1.1 iostream

输入流“cin>>”和输出流“cout<<”都需要调用这个头文件,很好用

1.2 cstdio

格式化输入 "scanf()" 和格式化输出 "printf()" 都需要调用这个头文件

1.3 cmath

cmath是数学库,从里面可以调用求绝对值 "abs()" ,正弦值"sin()" 等

2.名称空间

名称空间从来声明变量的作用域,代码为

using namespace std;

3.输入和输出

3.1输入

输入有两种,"cin>>"和"scanf()"

3.2输出

输出也有两种,"cout<<"和"printf()"

3.3各种输入输出优点缺点比较

各种输入输出优点缺点一览表
            代码             缺点                        优点
          cout/cin        运行速度慢            代码短,写起来方便
        printf/scanf           代码长

                 运行速度快

4.变量

4.1赋值

“=”作为逻辑运算符,并不表示“等于”判断。赋值语言是由赋值表达式再加上分号构成的表达式语句,它是程序中使用最多的语句之一。

其一般形式为:

变量 = 表达式

4.2 定义

定义变量的语法格式为:

数据类型 变量

例如:

int a = 5,b,c;//定义a为5,b、c的值未知,都为整型变量

char x,y,z;//定义x、y、z为字符变量

4.3 常量

常量指程序中使用的一些具体的数、字符。

4.3.1 常量的形式

十进制形式,如99,-99

八进制形式,以0开头,如014,076

十六进制形式,以0x开头,如0x12A

二进制形式,以0b开头,如0b10100111

4.3.2 常量的定义

其语法格式为:

const 符号常量 = 常量字串


好了,就讲到这吧,我们下次再见!

创作不易,白嫖不好,各位的支持和认可,就是我创作的最大动力,如果喜欢我的文章,给个关注吧!

冰焰狼 | 文

如果本篇博客有任何错误,请批评指教,不胜感激 !

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++入门教程(一) 的相关文章

  • Tensorflow 中的自定义资源

    由于某些原因 我需要为 Tensorflow 实现自定义资源 我试图从查找表实现中获得灵感 如果我理解得好的话 我需要实现3个TF操作 创建我的资源 资源的初始化 例如 在查找表的情况下填充哈希表 执行查找 查找 查询步骤 为了促进实施 我
  • C++ 中的软(不是:弱)引用 - 这可能吗?有实施吗?

    在 C 中我正在使用boost shared ptr and boost weak ptr自动删除不再需要的对象 我知道这些与引用计数一起工作 在 Java 中 内存由垃圾收集器管理 它将内置对象引用视为strong WeakReferen
  • 添加对共享类的多个 WCF 服务的服务引用

    我正在尝试将我的 WCF Web 服务拆分为几个服务 而不是一个巨大的服务 但是 Visual Studio Silverlight 客户端 复制了两个服务共享的公共类 这是一个简单的例子来说明我的问题 在此示例中 有两个服务 两者都返回类
  • 获取两个字符串之间的公共部分c# [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我需要的是获取两个单词之间的共同部分并获取差异 例子 场景1 word1 感言 word2 Test 将返回 公共部分Test 不同之
  • 在 OpenCL 中将函数作为参数传递

    是否可以在 OpenCL 1 2 中将函数指针传递给内核 我知道可以用C实现 但不知道如何在OpenCL的C中实现 编辑 我想做这篇文章中描述的同样的事情 在 C 中如何将函数作为参数传递 https stackoverflow com q
  • 通信对象 System.ServiceModel.Channels.ServiceChannel 不能用于通信

    通信对象System ServiceModel Channels ServiceChannel 无法用于通信 因为它处于故障状态 这个错误到底是什么意思 我该如何解决它 您收到此错误是因为您让服务器端发生 NET 异常 并且您没有捕获并处理
  • Linux TUN/TAP:无法从 TAP 设备读回数据

    问题是关于如何正确配置想要使用 Tun Tap 模块的 Linux 主机 My Goal 利用现有的路由软件 以下为APP1和APP2 但拦截并修改其发送和接收的所有消息 由Mediator完成 我的场景 Ubuntu 10 04 Mach
  • try-catch 中未处理的异常

    try list from XElement e in d Descendants wix File where e Attribute Name Value Contains temp Name e Parent Parent Attri
  • ZLIB 解压缩

    我编写了一个小型应用程序 该应用程序应该解压缩以 gzip deflate 格式编码的数据 为了实现这一点 我使用 ZLIB 库 使用解压缩功能 问题是这个功能不起作用 换句话说 数据不是未压缩的 我在这里发布代码 int decompre
  • 为什么 BOOST_FOREACH 不完全等同于手工编码的?

    From 增强文档 http www boost org doc libs 1 48 0 doc html foreach html foreach introduction what is literal boost foreach li
  • 禁用 LINQ 上下文的所有延迟加载或强制预先加载

    我有一个文档生成器 目前包含约 200 个项目的查询 但完成后可能会超过 500 个 我最近注意到一些映射表示延迟加载 这给文档生成器带来了一个问题 因为它需要根据生成的文档来访问所有这些属性 虽然我知道DataLoadOptions可以指
  • 两组点之间的最佳匹配

    I ve got two lists of points let s call them L1 P1 x1 y1 Pn xn yn and L2 P 1 x 1 y 1 P n x n y n 我的任务是找到它们点之间的最佳匹配 以最小化它
  • C# 创建数组的数组

    我正在尝试创建一个将使用重复数据的数组数组 如下所示 int list1 new int 4 1 2 3 4 int list2 new int 4 5 6 7 8 int list3 new int 4 1 3 2 1 int list4
  • std::bind 重载解析

    下面的代码工作正常 include
  • UWP 无法在两个应用程序之间创建本地主机连接

    我正在尝试在两个 UWP 应用程序之间设置 TCP 连接 当服务器和客户端在同一个应用程序中运行时 它可以正常工作 但是 当我将服务器部分移动到一个应用程序并将客户端部分移动到另一个应用程序时 ConnectAsync 会引发异常 服务器未
  • 从匿名类型获取值

    我有一个方法如下 public void MyMethod object obj implement 我这样称呼它 MyMethod new myparam waoww 那么我该如何实施MyMethod 获取 myparam 值 Edit
  • 以编程方式使用自定义元素创建网格

    我正在尝试以编程方式创建一个网格 并将自定义控件作为子项附加到网格中 作为 2x2 矩阵中的第 0 行第 0 列 为了让事情变得更棘手 我使用了 MVVM 设计模式 下面是一些代码可以帮助大家理解这个想法 应用程序 xaml cs base
  • boost::program_options:带有固定和可变标记的参数?

    是否可以在 boost program options 中使用此类参数 program p1 123 p2 234 p3 345 p12 678 即 是否可以使用第一个标记指定参数名称 例如 p 后跟一个数字 是动态的吗 我想避免这种情况
  • Azure函数版本2.0-应用程序blobTrigger不工作

    我有一个工作功能应用程序 它有一个 blob 输入和一个事件中心输出 在测试版中工作 随着最新的更改 我的功能不再起作用 我尝试根据发行说明更新 host json 文件 但它没有引用 blob 触发器 version 2 0 extens
  • 如何使用 std::array 模拟 C 数组初始化“int arr[] = { e1, e2, e3, ... }”行为?

    注意 这个问题是关于不必指定元素数量并且仍然允许直接初始化嵌套类型 这个问题 https stackoverflow com questions 6111565 now that we have stdarray what uses are

随机推荐