1.C++简介

2023-05-16

学习目标:

初识C++,介绍C++一些简单的语法:

  • 初识C++
  • 数据类型
  • 运算符
  • 程序流程结构

学习内容:

1. 初识C++

一个简单的C++框架,

#include<iostream>
using namespace std;
int main()
{
    cout << "你好,中国!" << endl;
    system("pause");
    return  0;
}

在这里插入图片描述
上图箭头处表示一个C++程序常用的格式,红色框表示主函数,一个C++程序只有一个主函数。运行结果如下图所示:
在这里插入图片描述

关于注释

<1>单行注释://注释内容
<2>多行注释:/注释内容/

变量

变量:给指定内存空间命名,便于操作这段内存,语法如下:
数据类型 变量名 = 变量
例如:int a = 18;

常量

常量:用于描述程序中不能更改的数值,通常有两种方式:
<1> 宏常量#define,例如,#define month 12
一般放在主函数main()的上方
<2>const修饰的变量,语法:const 数据类型 变量名 = 变量
例如, const int month 12;
一般放在主函数main()的里面

变量标识符的命名规则

<1>不能用while、goto等关键字命名;
<2>只能用数字、字母或下划线命名且第一个字符不能是数字
<3>区分字母的大小写

2. 数据类型

在创建一个变量时必须指明相应的数据类型,便于分配内存空间。

整型

<1>short - 2个字节
<2>int - 4个字节
<3>long - 4个字节
<4>long long - 4个字节
使用sizeof(数据类型或者变量)可以查看该数据类型或变量的内存大小。例如:
sizeof(int)或者sizeof(12)

实型

用来表示小数,分为单精度float和双精度double

数据类型占用空间有效数字范围举例
float4个字节7位有效数字float f = 3.14f
double8个字节15~16位有效数字double f = 3.14

在指定单精度时,必须加上f.
科学计算法:
float f1 = 3e2;// 3 × 1 0 2 3\times10^2 3×102
float f2 = 3e-2;// 3 × 1 0 − 2 3\times10^{-2} 3×102

字符型

用来显示单个字符,语法为:
char str = 'a
<1>只能使用单引号将字符括起来,不能使用双引号
<2>单引号内只能有一个字符,不能是字符串
在C语言和C++中,字符变量只占用一个字节。字符变量是将相对应的ASCII编码放在内存中,比如
A--65 a--97

字符串型

用来表示字符串,一般有两种形式:
<1>C语言:char 变量名[] = "字符串";,要用双引号括起来
<2>C++:string 变量名="字符串";,使用时必须加上头文件#include<string>

示例一

#include<iostream>
using namespace std;
int main()
{
    char name[] = "中国";
    cout << "你好, " << name <<"!" << endl;
    system("pause");
    return  0;
}

在这里插入图片描述

示例二

#include<iostream>
#include<string>
using namespace std;
int main()
{
    string name = "中国";
    cout << "你好, " << name <<"!" << endl;
    system("pause");
    return  0;
}

在这里插入图片描述

布尔数据类型(bool)

bool类型代表真或假的值,占1个字节大小。

数据输入

从键盘中获取数据,关键字cin
语法:cin>>变量

#include<iostream>
using namespace std;
int main()
{
    int scores = 0;
    cout << "请输入分数:";
    cin >> scores;
    cout << "您的得分为" << scores<< endl;
    system("pause");
    return  0;
}

在这里插入图片描述

3. 运算符

规定:两个整数相除后的结果依然为整数
取模:10%3 -->1 两个小数是不能进行取模运算的

前置递增: ++a
前置递减: - - a

#include<iostream>
using namespace std;
int main()
{
    int a = 3, b;
    b = ++a;
    cout << "a = " << a <<endl;//由于是前置递增,首先a要先递增变成a=4
    cout << "b = " << b << endl;//相当于将4赋值给b
    system("pause");
    return  0;
}

在这里插入图片描述
后置递增:a++
后置递减:a–

#include<iostream>
using namespace std;
int main()
{
    int a = 3, b;
    b = a++;
    cout << "a = " << a <<endl;//由于是后置递增,首先a=3要先赋值给b,再递增变成a=4
    cout << "b = " << b << endl;//相当于将3赋值给b
    system("pause");
    return  0;
}

在这里插入图片描述
比较运算符:用于比较表达式,返回一个真值(1)或者假值(0)
逻辑运算符:与(&&)、或(||)、非(!)

4. 程序流程结构

4.1 顺序结构

一般简单的程序都是顺序结构(该部分略

4.2 选择结构

4.2.1 if结构与三目运算符

if结构

<1>单行if语句:
  if(条件){条件满足执行的语句};
<2>多行if语句
  if(条件){条件满足执行的语句} else {条件不满足执行的语句};
<3>多条件if语句
  if(条件){条件满足执行的语句} else if{执行的语句}……else {执行};

三目运算符

语法:表达式1?表达式2:表达式3
若表达式1为真,则执行表达式2;若表达式1为假,则执行表达3.

4.2.2 switch语句–执行多条件分支

语法:switch(表达式)
  {
case 1:执行语句1;break;
case 2:执行语句2;break;
…………
default:执行语句;break;
  }

#include <iostream>
using namespace std;
int main()
{
    int score = 0;
        cout << "打分" << endl;
        cin >> score;
        switch (score)
        {
        case 10:
            cout << "经典" << endl; break;
        case 9:
            cout << "优秀" << endl; break;
        case 8:
            cout << "一般" << endl; break;
        default:
            cout << "烂片" << endl; break;
        }
    system("pause");
    return 0;
}

在这里插入图片描述

4.3 循环结构

4.3.1 while循环

语法:while(条件){循环语句}

#include<iostream>
using namespace std;
int main()
{
    int i = 1;
    while (i <= 10)
    {
        cout << i << "\t";
        i++;
    }
    system("pause");
    return  0;
}

在这里插入图片描述

4.3.2 do{循环语句}while(条件)循环

该语法首先会执行一次,再判断条件

#include<iostream>
using namespace std;
int main()
{
    int i = 1;
    do { cout << i << "\t"; i++; } while (i <= 10);
    system("pause");
    return  0;
}

在这里插入图片描述

4.3.3 for循环语句

语法:for(起始表达式;条件表达式;末尾循环体){循环语句}

#include<iostream>
using namespace std;
int main()
{
    for (int i = 1; i<=10; i++)
    {
        cout << i << "\t";
    }
    system("pause");
    return  0;
}

在这里插入图片描述
break结束该层循环体
continue跳出该层循环体后,继续下一轮循环体

5. 产生随机数案例

添加随机数种子,利用当前系统时间生成随机数,防止每次生成的随机数一样。在主函数中加上srand((unsigned int)time(NULL));并在头文件中加上#include<ctime>.
随机产生一个随机数:
语法:ran()%10生成0到9之间的随机数
rand()%10+1生成1到10之间的随机数

#include<iostream>
#include<ctime>
using namespace std;
int main()
{
   srand((unsigned int)time(NULL));
  int  a = rand() % 10 + 1;
  cout <<"随机数为:"<< a << endl;
  system("pause");
  return  0;
}

在这里插入图片描述


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

1.C++简介 的相关文章

  • 安卓SDK和API是什么意思?

    安卓SDK和API是什么意思 xff1f 一 SDK SDK就是kit xff0c 通俗讲就是工具箱 一系列的工具组合在一起 xff0c 能实现补全代码 自动错误检查之类的功能 xff0c 比如点一下run xff0c 会调用编译器来自动编
  • 3D视觉(五):对极几何和三角测量

    3D视觉 五 xff1a 对极几何和三角测量 对极几何 xff08 Epipolar Geometry xff09 描述的是两幅视图之间的内在射影关系 xff0c 与外部场景无关 xff0c 只依赖于摄像机内参数和这两幅试图之间的的相对姿态
  • 关于产品的一些思考——写在前面的话

    自己是一个十足的Geek xff0c 喜欢使用各种新奇的东西 xff0c 包括软件 硬件 技术 xff0c 又因为自己一点点轻微的强迫症和完美主义 xff0c 在这个过程中总会有自己的一些思考 xff0c 又因为技术出身 xff0c 总会考
  • mybatis映射文件mapper.xml的写法。

    在学习mybatis的时候我们通常会在映射文件这样写 xff1a lt xml version 61 34 1 0 34 encoding 61 34 UTF 8 34 gt lt DOCTYPE mapper PUBLIC 34 myba
  • layer的弹出层的简单的例子

    如果不了级的基本的清楚官网查看api网址为 http layer layui com 我用的是iframe 如果是iframe层 layer open type 2 content 39 http sentsin com 39 这里cont
  • 左链接Column 'id' in field list is ambiguous

    如题错误如左链接Column 39 id 39 in field list is ambiguous 今天在写sm的时候 xff0c 用到两个表的联合查询出现的如下的错误 xff0c 仔细查找才发现原来两个表的id重复了 xff0c use
  • 我所理解的人工智能

    很多人容易把人工智能理解为机器人 机器人是人工智能的一个实际体现 人工智能应用很广泛 下面我来谈谈我的理解 人工智能可分开理解为 人工 和 智能 xff0c 即人类创造出来的智能 xff0c 从广义上来讲只要人类创造出来 xff0c 能为人
  • maven出现:Failed to execute goal on project ...: Could not resolve dependencies for project ...

    1 我的项目结构是一个父项目 xff0c 多个子项目目录如下 xff1a 2 我这里就举个例子 xff0c 所以应用的也就是core和domain这两个项目 3 两个项目都继承父项目 4 在模块中domain依赖于core xff0c 在c
  • 有关Shiro中Principal的使用

    1 定义 principal代表什么那 xff1f 如果阅读官方文档或者源码你会得到如下的定义 xff1a 解释 xff1a 1 xff09 可以是uuid 2 xff09 数据库中的主键 3 xff09 LDAP UUID或静态DN 4
  • 关于shiro的 subject.getPrincipal()方法

    1 说明 上一篇文章说明了 principal xff0c 而subject getPrincipal 是用来干嘛的 xff0c 他就是来获取你存储的principal xff0c 内部是怎么获取的那 xff0c 多个principal怎么
  • CentOS7 64位安装solr7.2.0

    声明 xff1a 本人为学习solr的新手 xff0c 如编写过程中有部队的地方还请各位大佬指正 本文为原创 xff0c 如要转载请注明出处 你能学到 xff1a 1 linux上solr的安装部署 xff0c 官方给出的运行方式 2 添加
  • 阿里巴巴20121009 研发/算法工程师 笔试试题【修正】

    第19题 a i 在排序后的位置是 i k i 43 k xff0c a i 43 2k 在排序后的位置是 i 43 k i 43 3k xff0c 必然有a i lt 61 a i 43 2k 所以数组a里实际上有2k个各自有序的 交错的
  • printf() % lf出错

    printf 函数中不存在 lf xff0c 输入 double 用 lf 输出用 f
  • 奔腾系列的CPU 和酷睿系列的CPU

    以后奔腾要沦为中下层产品 奔腾D是接替奔腾4的型号 也是INTEL的第一代双核处理器 技术还比较粗糙 发热量控制的也不够好 至于酷睿系列 这可是INTEL的最新力作 性能上有绝对的优势 技术上也对老对手AMD保持了领先 而且功耗控制的也非常
  • 为什么神经网络被称为黑匣子

    数学层面 xff1a 由于网络参数与近似的数学函数之间缺乏明确的连接 xff0c 人工神经网络通常被称为 黑匣子
  • 第八弹 ROS发布者Publisher的编程实现

    1 话题模型 xff08 发布与订阅 xff09 2 创建功能包 catkin create pkg learning topic roscpp rospy std msgs geometry msgs turtlesim 建立一个名为le
  • TRIZ创新思维方法_简要复习

    一 TRIZ介绍 TRIZ理论成功地揭示了创造发明的内在规律和原理 xff0c 着力于澄清和强调系统中存在的矛盾 xff0c 其目标是完全解决矛盾 xff0c 获得最终的理想解 它不是采取折中或者妥协的做法 xff0c 而且它是基于技术的发
  • Generalized Focal Loss: Learning Qualified and Distributed BBoxes for Dense Object Detection论文翻译阅读

    Generalized Focal Loss Learning Qualified and Distributed Bounding Boxes for Dense Object Detection论文翻译阅读 论文下载地址 xff1a 点
  • ubuntu16.04对SD卡进行分区

    赶在2020年上半年的最后一天 xff0c 匆忙地写上一个博客 这篇博客是对自己的一个反思 xff0c 我的博客属于自己完全开辟的内容几很少 xff0c 有些博客大家随便在网上一搜就能找到 说实话 xff0c 有时候我会怀疑自己的智商有问题
  • RT-thread移植指南-RISC-V

    目录 RT thread移植指南 RISC V 1 概述 1 1 移植资料参考 1 2 移植开发环境准备 2 移植步骤 2 1 全局中断开关函数 2 2 线程上下文切换函数 2 3 线程栈的初始化 2 4 时钟节拍的配置 2 5 中断函数

随机推荐

  • 寒假学习心得--从0开始学破解

    寒假学习心得 从0开始学破解 写给和我一样将要接触或者才接触破解 的朋友们 前提 你必须得真正喜欢 她 一 工欲善其事 必先利其器 1 找一个中文版的OD PEID 记得就OD就有咱PYG版的某牛人强化版的等等等等 找一个合适的工具 干起事
  • 常用的“密码重置”代码

    61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61
  • ORACLE多表查询优化

    转自某地 对作者很愧疚 不晓得地址了 ORACLE 多表查询优化 这里提供的是执行性能的优化 而不是后台数据库优化器资料 参考数据库开发性能方面的各种问题 收集了一些优化方案统计如下 当然 象索引等优化方案太过简单就不列入了 嘿嘿 执行路径
  • Word to PDF Converter v3.0 算法分析及注册机

    Word to PDF Converter v3 0算法分析及注册机 详细过程 1 xff0c 主程序在C Program Files doc2pdf DOC2PDF dll xff0c PEID查壳为ASProtect 1 23 RC1
  • 安全策略调整步骤

    1 修改防火墙 xff0c 保留22 SSHD 8081 APACHE 80 关闭端口443 HTTPS 3306 MYSQL 8080 8088 53 123 2 针对PHP的BUG和安全漏洞 xff0c 只有升级版本一途 xff0c 经
  • 获取微信openid(或昵称头像)的授权登录及其代理

    lt php 本页用于微信授权登录及其代理 64 version V2 0 64 author ty1921 lt ty1921 64 gmail com gt 64 param backurl 传get参数backurl xff0c 则授
  • 常用的PHP文件头和HTML5文件头(含移动端)

    lt php PHP Header Created by ty1921 64 gmail com Ver V1 Date 2017 8 18 1 session session start 2 display errors ini set
  • VB+PHP实现在线修改Windows服务器的配置文件

    本文仅供记录 存档备案用 用途 xff1a 某电话转接系统 xff0c 需要每天修改配置文件 并重启服务端程序 原理 xff1a WEB用于展示修改界面 xff0c 提交 保存配置文件的相关数据 VB端用于定时轮训WEB上保存的数据 xff
  • OLLVM分析

    一 LLVM是什么 LLVM最初是Low Level Virtual Machine的缩写 xff0c 定位是一个 xff0c 但是是比较底层的虚拟机 然而LLVM本身并不是一个完整的编译器 xff0c LLVM是一个编译器基础架构 xff
  • A General Optimization-based Framework for Local Odometry Estimation with Multiple Sensors论文翻译整理

    综述部分 x1f4cc 多传感器融合有两个趋势 xff1a 基于滤波的融合 xff08 MSCKF EKF UKF xff09 基于优化的滤波 xff08 BA xff09 基于滤波器的方法对时间同步很敏感 任何迟来的测量都会引起麻烦 xf
  • 按键精灵的5级开发认证,笔试题参考

    4题是抄的 xff0c 只是为了过级 最后得93分 xff0c 可能代码还是不够最优 xff0c 有看出的大大希望能不吝指点 1 写一个脚本 xff0c 要求启动时 xff0c 记录 xff08 录制 xff09 当前鼠标的移动轨迹 xff
  • 常见端口号和对应服务的概念和作用

    端口号的主要作用是表示一台计算机中的特定进程所提供的服务 网络中的计算机是通过IP地址来代表其身份的 xff0c 它只能表示某台特定的计算机 xff0c 但是一台计算机上可以同时提供很多个服务 xff0c 如数据库服务 FTP服务 Web服
  • 51单片机学习历程---单片机入门

    主要用来做控制的 xff0c 如果要驱动外部设备的话 xff0c 需要使用驱动电路 proteus 模拟 51 8位 最小系统 晶振电路 提供时钟 12M xff08 方便计算机器周期 xff09 11 0592M xff08 非常适合串行
  • 手把手教你使用--常用模块--HC05蓝牙模块,无线蓝牙串口透传模块,(实例:手机蓝牙控制STM32单片机点亮LED灯)

    最近在学STM32 xff0c 基本的学完了 xff0c 想学几个模块来巩固一下知识 xff0c 就想到了蓝牙模块 玩啥好难过有很多博客教怎么连的 xff0c 但自己看起来还是有点糊涂 模块的原理和知识点我就不讲解了 xff0c 这里我主要
  • FreeRTOS实时操作系统----机制

    四 机制 目录 四 机制 4 1任务优先级 4 1 1高优先级抢占低优先级 4 1 2时间片 4 2任务调度器 4 3临界段的保护 4 4空闲任务与阻塞延时 4 5任务延时列表 4 6消息队列 4 6 1消息队列的基本概念 4 6 2消息队
  • 三极管导通条件

    NPN三极管 xff0c 箭头朝外 xff1a 高电平导通 PNP三极管 xff0c 箭头朝里 xff1a 低电平导通
  • 74HC1G66模拟开关,多路复用

    SEL为低电平的时候 xff0c SD导通 SEL为高电平的时候 xff0c SD不导通 直接看数据手册
  • 一张图了解MOS管导通条件

    不管他长什么样 xff0c 直接就看箭头指向 箭头向栅极 xff0c 就是nmos管 xff0c 高电平导通 箭头向外 xff0c 就是pmos管 xff0c 低电平导通 一边连了两根线的就是s极
  • Android SDK的安装配置

    SDK xff1a xff08 software development kit xff09 软件开发工具包 被软件开发工程师用于为特定的软件包 软件框架 硬件平台 操作系统等建立应用软件的开发工具的集合 因此 xff0c Android
  • 1.C++简介

    学习目标 xff1a 初识C 43 43 xff0c 介绍C 43 43 一些简单的语法 xff1a 初识C 43 43 数据类型 运算符 程序流程结构 学习内容 xff1a 1 初识C 43 43 一个简单的C 43 43 框架 xff0