[C++]01.基础,数据类型,运算符

01.基础,数据类型,运算符

  • 一.C++基础入门
    • 1.HelloWorld
    • 2.注释
    • 3.变量
    • 4.常量
    • 5.关键字
    • 6.命名规则
  • 二.数据类型
    • 1.整形
    • 2.sizeof关键字
    • 3.浮点型
    • 4.字符型
    • 5.转义字符
    • 6.字符串型
    • 7.布尔类型
    • 8.数据的输入
  • 三.运算符
    • 1.算数运算符
    • 2.赋值运算符
    • 3.比较运算符
    • 4.逻辑运算符

一.C++基础入门

1.HelloWorld

  • 首先到官网下载并安装Visual Studio
  • 新建项目-新建C++空项目
  • 源文件(右键)-添加-添加项-添加C++文件
  • 编写代码!
#include <iostream>
using namespace std;int main()
{// 向屏幕中输出某种字符cout << "Hello World !" << endl;system("pause");return 0;
}

2.注释

  • 单行注释: // 描述信息
  • 多行注释: /* 描述信息 */

3.变量

  • 给一段指定的内存空间起名, 方便操作这段内存
  • 语法: 数据类型 变量名 = 初始值;
#include <iostream>
using namespace std;int main()
{int a = 10;cout << "a = " << a << endl;  //输出 a = 10system("pause");return 0;
}

4.常量

  • 用于记录程序中不可更改的数据
  • 常量的定义有两种方式
    #define 宏常量: #define 常量名 常量值通常在文件上方进行定义
    const修饰的变量: const 数据类型 常量名 = 常量值
#include <iostream>
using namespace std;// 宏常量
#define Week 7int main()
{cout << "一周总共有 " << Week << " 天" << endl;// const 修饰的常量const int mounth = 12;cout << "一年总共有 " << mounth << " 个月" << endl;system("pause");return 0;
}

5.关键字

  • 不要用关键字给变量起名
    在这里插入图片描述

6.命名规则

  • 标识符不呢有关键字
  • 标识符只能有字母, 数字,下划线组成
  • 字一个字符必须为字母或者下划线
  • 标识符中的字母区分大小写
  • 建议:起名做到见名知意,方便别人的阅读

二.数据类型

  • 在创建一个变量或者常量的时候,必须要指定相应的数据类型,否则无法给变量分配内存

1.整形

数据类型占用空间取值范围
short(短整型)2字节-2^15~2^15-1
int(整形)4字节-2^31~2^31-1
long(长整型)Win为4字节,Linux 32位为4字节, 64位为8字节-2^31~2^31-1
long long(长长整型)8字节-2^63~2^63-1

2.sizeof关键字

  • 利用这个关键字可以统计数据类型所占内存的大小
  • 语法:sizeof(数据类型 或 变量)
#include <iostream>
using namespace std;int main()
{cout << "short 占用内存空间为: " << sizeof(short) << endl;  //输出2cout << "int 占用内存空间为: " << sizeof(int) << endl;  //4cout << "long 占用内存空间为: " << sizeof(long) << endl;  //cout << "long long 占用内存空间为: " << sizeof(long long) << endl;long long temp = 1234567890;cout << "temp 占用内存空间为: " << sizeof(temp) << endl;system("pause");return 0;
}

3.浮点型

  • 编译器默认情况下会把单独的实数当作双精度数,所以在只需要单精度时需要在数据后加f
    float temp = 3.14f;
  • 默认情况下通过cout输出一个整数只保留6位有效数字
  • 给浮点型赋值的时候可以使用科学计数法
    double d = 314e-2;也可以表示3.14
数据类型占用空间有效数据范围
float4字节7位有效数字
double8字节15~16位有效数字

4.字符型

  • 用于显示单个字符
    char ch = 'a';
  • 字符型的两端是单引号
  • 单引号中只能是单个字符,不能是字符串
  • C与C++中,char类型只占用1个字节
  • 字符型不是把字符放到内存中存储, 而是使用字符对应的ASCII编码
    ASCII编码对照表

5.转义字符

  • 一些有特殊作用的,不能再屏幕中的字符,用转义字符代替

常用转义字符

字符含义ASCII值
\n换行010
\t水平制表 跳到下一个Tab位置009
\r回车将当前位置移到下一行开头013
\\代表一个反斜杠092

6.字符串型

  • C风格字符串:char 变量名[] = "字符串值";
  • C++风格:string 变量名 = "字符串值";
#include <iostream>
using namespace std;
#include <string>  //使用时需要引入头文件int main()
{// C风格char strC[] = "C风格的字串";cout << strC << endl;// C++风格string strCPlus = "C++风格的字串";cout << strCPlus << endl;system("pause");return 0;
}

7.布尔类型

  • 代表真或假的值 布尔型只占1字节大小
  • 只有两个值
    true–真(本质上是1)
    false–假(本质上是0)
    语法bool isNew = flase;

8.数据的输入

  • 从键盘获取输入的数据
  • 语法:cin >> 变量;
#include <iostream>
using namespace std;
#include <string>int main()
{// 整型输入int a = 0;cout << "请输入整型变量: \n";cin >> a;cout << "a = " << a << endl;// 字串类型的输入string str = "";cout << "输入字串: \n";cin >> str;cout << "输入值: " << str << endl;// 布尔类型的输入--非零即为真system("pause");return 0;
}

三.运算符

  • 用于执行代码运算的符号, 本章主要学习一下几种
运算符类型作用
算数运算符用于处理四则运算
赋值运算符用于将表达式的值赋值给变量
比较运算符用于两个值的比较, 返回真或假的布尔值
逻辑运算符用于根据表达式的值,返回真或者假的值

1.算数运算符

运算符作用
+加(正号)
-减(负号)
*
/
%取模(取余运算)
++自增
自减
#include <iostream>
using namespace std;int main()
{// 两个整型相除,结果还是一个整数int num1 = 3;int num2 = 10;cout << num2 / num1 << endl; //输出3int num3 = 20;cout << num2 / num3 << endl; //输出0// 注意!!除数不能为0!!// 取模运算cout << num2 % num1<< endl; //输出1  10 % 3 = 1cout << num1 % num2 << endl; //输出3  3 % 10 = 3cout << 0 % num2 << endl; //输出3  0 % 10 = 0// x % 0 会报错  对浮点数取余也会报错int a = 2;int b1 = a++;cout << b1 << endl;  //先引用再自增  输出2a = 2;b1 = ++a;cout << b1 << endl;  //先自增再引用  输出3a = 2;b1 = --a;cout << b1 << endl;  //先自减再引用  输出1system("pause");return 0;
}

2.赋值运算符

  • 基础赋值运算符就是等于符号=
    int a = 8;
    double pi = 3.14;
  • 在此基础上结合算数运算符可以扩展出, 加等于,减等于, 除等于等运算符
    += -= *= /= %=

3.比较运算符

  • 进行值的比较, 返回一个真或者假的值
运算符作用
==等于(3 == 3 返回 1)
!=不等于(3 != 3 返回0)
<小于
>大于
<=小于等于
>=大于等于

4.逻辑运算符

运算符术语
!非(取反)
&&与运算
||或运算
int a = 10;
cout << !a << endl;  //输出0
cout << !!a << endl;  //输出1

学习笔记与课程计划
B站视频链接

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

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

相关文章

Ubuntu新装系统报错:sudo: vim:找不到命令

问题&#xff1a; 新安装的老版本Ubuntu系统&#xff0c;发现在使用vim命令的时候报错&#xff1a; sudo&#xff1a;vim&#xff1a;找不到命令 解决办法 这是因为没有安装vim&#xff0c;直接运行下面命令安装vim sudo apt-get install vim

webshell详解

Webshell详解 一、 Webshell 介绍二 、 基础常见webshell案例 一、 Webshell 介绍 概念 webshell就是以asp、php、jsp或者cgi等网页文件形式存在的一种命令执行环境&#xff0c;也可以将其称做为一种网页后门。黑客在入侵了一个网站后&#xff0c;通常会将asp或php后门文件与…

Eureka 学习笔记4:客户端 DiscoveryClient

版本 awsVersion ‘1.11.277’ DiscoveryClient # cacheRefreshTask // 配置shouldFetchRegistry if (clientConfig.shouldFetchRegistry()) {// 配置client.refresh.intervalint registryFetchIntervalSeconds clientConfig.getRegistryFetchIntervalSeconds();// 配置expB…

【普通人维护windows的方法,不中毒,不弹窗,不卡顿】

前言 IT人也是普通人&#xff0c;我就说说普通人维护电脑的方法。 我的电脑配置 给大家看看&#xff0c;配置一般&#xff0c;运行软件和游戏&#xff0c;可以保持基本流程 日常维护措施 我不太喜欢设定一些非主流的配置&#xff0c;下了一个360卫士,360其他的套餐可以不用下…

跨站脚本攻击(XSS)

1 什么是XSS跨站脚本攻击问题? XSS是跨站脚本攻击(Cross Site Scripting)&#xff0c;为不和层叠样式表(Cascading Style Sheets,CSS)的缩写混淆&#xff0c;故将跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时&#xff0c;嵌入其中Web…

数据结构——绪论

一、绪论 &#xff08;一&#xff09;基本概念 数据&#xff1a;数据是对客观事物的符号表示&#xff0c;在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。 数据元素&#xff1a;数据元素是数据的基本单位&#xff0c;在计算机程序中通常作为一个整…

js实现按照句号将一段文本进行分段

/*** 将给定的文本按照300字并且按照句号分为多个p标签** param text 给定的文本* returns 返回分割后的多个p标签的数组*/ function splitTextByParagraph(text) {// 将文本按照句号分割成多个句子const sentences text.split(。);// 初始化一个空数组来存储生成的p标签const…

【Nginx】nginx配置跳转实现接口静态化

1.配置nginx跳转到oss静态化地址&#xff1b; 2.oss bucket配置回源到服务端接口&#xff1b; 3.服务端接口有处理oss bucket回源地址&#xff0c;按规则拼装完整url以后redirect; 4.服务端需要提供清理oss文件的接口&#xff1b; 5.静态化域名配置&#xff1a;域名解析到O…

Nodejs中的全局对象

今天我们将探讨Nodejs中的全局对象&#xff0c;这是Nodejs中重要且有趣的知识点。我们将通过生动形象的例子和风趣的风格来深入理解这些概念&#xff0c;并比较Nodejs中的全局对象与前端JavaScript中的全局对象之间的异同点。 全局对象是什么&#xff1f; 在Nodejs环境中&…

超详细|ChatGPT辅助论文编写教程

本教程讲述在论文编写中使用ChatGPT进行辅助&#xff0c;提供思路&#xff0c;提升效率 祝看到本教程的小伙伴们都完成论文&#xff0c;顺利毕业。 可以加QQ群交流&#xff0c;一群&#xff1a; 123589938 第一章 论文框架搭建 1.1 明确论文题目 1.1.1 适合的研究方向 首先赋…

springboot多数据源根据开关控制方法访问的数据源

有个需求需要通过开关控制需要访问的数据源&#xff0c;此处参考DS多数据源&#xff0c;采用注解加aop切面实现此功能。 配置文件开关&#xff1a; slave-config:mainSlaveSwitch: true 配置开关类&#xff1a; Component RefreshScope Data ConfigurationProperties("…

STM32 低功耗-睡眠模式

STM32 睡眠模式 文章目录 STM32 睡眠模式第1章 低功耗模式简介第2章 睡眠模式简介2.1 进入睡眠模式2.1 退出睡眠模式 第3章 睡眠模式代码示例总结 第1章 低功耗模式简介 在 STM32 的正常工作中&#xff0c;具有四种工作模式&#xff1a;运行、睡眠、停止和待机模式。 在系统或…

20. 有效的括号

20. 有效的括号 题目-简单难度示例1. if-else2. 优化3. 字典栈 题目-简单难度 给定一个只包括 ‘(’&#xff0c;‘)’&#xff0c;‘{’&#xff0c;‘}’&#xff0c;‘[’&#xff0c;‘]’ 的字符串 s &#xff0c;判断字符串是否有效。 有效字符串需满足&#xff1a; 左括…

动态规划之树形DP

动态规划之树形DP 树形DP何为树形DP 树形DP例题HDU-1520 Anniversary partyHDU-2196 Computer834. 树中距离之和 树形DP 何为树形DP 树形DP是指在“树”这种数据结构上进行的动态规划&#xff1a;给出一颗树&#xff0c;要求以最少的代价&#xff08;或取得最大收益&#xff…

rust学习-构建服务器

单线程server 服务器会依次处理每一个请求&#xff0c;在完成第一个连接的处理之前不会处理第二个连接 // cat main.rs use std::io::prelude::*; use std::net::TcpListener; use std::net::TcpStream;fn main() {let listener TcpListener::bind("127.0.0.1:7878&quo…

uniapp app端 echarts 设置tooltip的formatter不生效问题以及解决办法

需求一&#xff1a; y轴数据处理不同数据增加不同单位 需求二&#xff1a; 自定义图表悬浮显示的内容 需求一&#xff1a;实现方式 在yAxis里面添加formatter yAxis: [{//y轴显示value的设置axisLabel: {show: true,formatter (value, index) > {var valueif (value > 1…

怎么让表格中的一行数据 转置 为一列数据 (WPS )

例如 我现在有一列数据 我想要 变成一行 数据 1.首先选中想要转置的数据&#xff0c;然后control C 2.接着 点击你想放置数据的位置 右键 其实 关键是 找到 选择性复制 3. 找到转置&#xff0c;勾选 最后 确定 反之亦然

linux快速安装mysql

linux快速安装mysql 安装之前检测系统是否有自带的MySQL #检查是否安装过MySQL rpm -qa | grep mysql #检查是否存在 mariadb 数据库&#xff08;内置的MySQL数据库&#xff09;&#xff0c;有则强制删除 rpm -qa | grep mariadb #强制删除 rpm -e --nodeps mariadb-libs-5.5…

mysql的主键索引为什么不能null

mysql的主键索引为什么不能null 官方文档对null的描述再看官方文档对 primary key索引的说明这里的设计其实也是为了符合规范SQL1992题外话&#xff1a;唯一索引和null 这是一个非常奇怪且有趣的问题。可以通过官方文档进行解读 https://dev.mysql.com/doc/refman/5.7/en/gloss…

【Jmeter】 Report Dashboard 生成html图形测试报告

目录 背景 生成图形报告的方式 1、直接使用一个已存在的 CSV文件生成 2、负载测试完成后自动生成 使用示例 报告内容详情 测试报告摘要图 响应时间随时间变化曲线 活跃线程随时间变化曲线 I/O&#xff08;Bytes&#xff09;随时间变化曲线(忽略事务控制器示例结果) …