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

news2024/11/15 23:47:56

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 = 10

	system("pause");
	return 0;
}

4.常量

  • 用于记录程序中不可更改的数据
  • 常量的定义有两种方式
    #define 宏常量: #define 常量名 常量值通常在文件上方进行定义
    const修饰的变量: const 数据类型 常量名 = 常量值
#include <iostream>
using namespace std;

// 宏常量
#define Week 7

int 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;  //输出2
	cout << "int 占用内存空间为: " << sizeof(int) << endl;  //4
	cout << "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; //输出3
	int num3 = 20;
	cout << num2 / num3 << endl; //输出0
	// 注意!!除数不能为0!!


	// 取模运算
	cout << num2 % num1<< endl; //输出1  10 % 3 = 1
	cout << num1 % num2 << endl; //输出3  3 % 10 = 3
	cout << 0 % num2 << endl; //输出3  0 % 10 = 0
	// x % 0 会报错  对浮点数取余也会报错

	int a = 2;
	int b1 = a++;
	cout << b1 << endl;  //先引用再自增  输出2
	a = 2;
	b1 = ++a;
	cout << b1 << endl;  //先自增再引用  输出3
	a = 2;
	b1 = --a;
	cout << b1 << endl;  //先自减再引用  输出1


	system("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.coloradmin.cn/o/832378.html

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

相关文章

【雕爷学编程】MicroPython动手做(30)——物联网之Blynk 4

知识点&#xff1a;什么是掌控板&#xff1f; 掌控板是一块普及STEAM创客教育、人工智能教育、机器人编程教育的开源智能硬件。它集成ESP-32高性能双核芯片&#xff0c;支持WiFi和蓝牙双模通信&#xff0c;可作为物联网节点&#xff0c;实现物联网应用。同时掌控板上集成了OLED…

力扣 C++|一题多解之动态规划专题(1)

动态规划 Dynamic Programming 简写为 DP&#xff0c;是运筹学的一个分支&#xff0c;是求解决策过程最优化的过程。20世纪50年代初&#xff0c;美国数学家贝尔曼&#xff08;R.Bellman&#xff09;等人在研究多阶段决策过程的优化问题时&#xff0c;提出了著名的最优化原理&…

【习题】几道二叉树题目,进来看看你会不?

几道二叉树题目解析 前言正式开始1. 根据二叉树创建字符串&#xff08;力扣606&#xff09;题目描述解析代码 2. 二叉树的层序遍历1&#xff08;力扣102&#xff09;题目描述解析代码 3. 二叉树的层序遍历2&#xff08;力扣107&#xff09;代码 4. 二叉树的最近公共祖先&#x…

接口测试之json中的key获取

在很多情况下我们在进行接口测试的时候都会有获取上个接口返回的json数据中的某个key值&#xff0c;然后下个接口调用这个key值。今天给大家讲解一下针对不同类型的json获取某个key的值。 一、首先是单纯object格式key值获取 获取图中的token的值&#xff0c;首先这是一个响应…

SSM(Vue3+ElementPlus+Axios+SSM前后端分离)【四】

文章目录 SSM(Vue3ElementPlusAxiosSSM前后端分离)--基础环境搭建【四】项目介绍项目功能/界面● SSM 整合项目界面 创建表&#xff0c;使用逆向工程生成Bean、XxxMapper 和XxxMapper.xml1. 创建furns_ssm 数据库和furns 表使用MyBatis Generator 逆向工程生成bean mapper 接口…

基于Jonswap谱的随机波高及波压力生成

内容目录 基于Jonswap谱的随机波高及波压力生成基于Jonswap谱的随机波高及波压力生成 海面高程可视为是平稳高斯随机过程,可通过对波浪谱确定的一系列分量波进行叠加得到。JONSWAP谱是在海洋结构设计和分析中常用的波浪频谱,可以用其来模拟随机波浪。 式中:有义波高H1/3和…

GPIO简介

一、GPIO GPIO&#xff08;General-purpose input/output&#xff09;即通用型输入输出&#xff0c;GPIO可以控制连接在其之上的引脚实现信号的输入和输出 芯片的引脚与外部设备相连&#xff0c;从而实现与外部硬件设备的通讯、控制及信号采集等功能 LED实验步骤 实验步骤 以L…

1. CUDA中的grid和block

1. CUDA中的grid和block基本的理解 Kernel: Kernel不是CPU&#xff0c;而是在GPU上运行的特殊函数。你可以把Kernel想象成GPU上并行执行的任务。当你从主机&#xff08;CPU&#xff09;调用Kernel时&#xff0c;它在GPU上启动&#xff0c;并在许多线程上并行运行。 Grid: 当你…

C高级【day2】

思维导图&#xff1a; 递归实现&#xff0c;输入一个数&#xff0c;输出这个数的每一位&#xff1a; #include<myhead.h>//递归函数 void fun(int num){//num没值不再递归if(0 num){return;}//输出数的最后一位printf("%d\t", num%10);//递归fun(num/10);}…

AI Chat 设计模式:11. 状态模式

本文是该系列的第十一篇&#xff0c;采用问答式的方式展开&#xff0c;问题由我提出&#xff0c;答案由 Chat AI 作出&#xff0c;灰色背景的文字则主要是我的一些思考和补充。 问题列表 Q.1 你知道状态模式吗A.1Q.2 它与有限状态机有什么联系吗&#xff1f;A.2Q.3 知道了&…

Spring:IOC技术、Bean、DI

前言 Spring是一个开源的项目&#xff0c;并不是单单的一个技术&#xff0c;发展至今已形成一种开发生态圈。也就是说我们可以完全使用Spring技术完成整个项目的构建、设计与开发。Spring是一个基于IOC和AOP的架构多层j2ee系统的架构。 SpringFramework&#xff1a;Spring框架…

ROS2学习(四)进程,线程与节点的关系

节点与节点执行器 节点&#xff0c;英文是node,在ROS2中&#xff0c;节点是一个抽象的实体&#xff0c;它可以代表某种或某类特定功能的抽象集合体&#xff0c;它可以存在于进程中&#xff0c;也可以存在于线程中。所有ROS2的基础功能最基础的载体是节点&#xff0c;所有的通信…

mysql的InnoDB和myISAM引擎对比:插入数据

mysql主流引擎是InnoDB和myISAM。两者简单来说&#xff0c;InnoDB是行锁&#xff0c;支持事务&#xff1b;myISAM是表锁&#xff0c;不支持事务。具体理论上的区别&#xff0c;网上有很多说法&#xff0c;我这里不多说了。 这里做了一个试验&#xff0c;插入100w条数据&#x…

redis+token+分布式锁确保接口的幂等性

目录 1.幂等性是什么&#xff1f; 2.如何实现幂等性呢&#xff1f; 1.新增管理员&#xff0c;出弹窗的同时&#xff0c;请求后台。 2.后端根据雪花算法生成唯一标识key&#xff0c;以雪花数为key存到redis。并返回key给前端。 3.前端保存后端传过来的key。 4.前端输入完成…

使用事件侦听器和 MATLAB GUI 查看 Simulink 信号研究

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

异或运算详解

异或运算详解 定义特性用途总结 定义 参与运算的两个数据,按二进制位进行 ^ 运算,如果两个相对应为值相同结果为0,否则为1 1 ^ 0 1 0 ^ 1 1 0 ^ 0 0 1 ^ 1 0特性 异或^运算只能用于数值(整数) x ^ 0 x x ^ x 0用途 两个值交换,而不用使用临时变量 a a ^ b; b b ^…

2023年08月数据库流行度最新排名

点击查看最新数据库流行度最新排名&#xff08;每月更新&#xff09; 2023年08月数据库流行度最新排名 TOP DB顶级数据库索引是通过分析在谷歌上搜索数据库名称的频率来创建的 一个数据库被搜索的次数越多&#xff0c;这个数据库就被认为越受欢迎。这是一个领先指标。原始数…

vue videojs视频播放插件 动态资源

概览&#xff1a;使用vediojs第三方视频播放插件&#xff0c;视频加载有两种方式&#xff0c;第一种是html方式&#xff0c;类似于img标签的src&#xff0c;写在video标签内的<source src>&#xff1b;第二种方式是js方式&#xff0c;实例化一个videojs对象并且赋值src。…

anaconda创建虚拟环境在D盘

【看一看就行&#xff0c;又是挺水的一期&#xff08;每一季都掺和一点子水分也挺好&#xff09;】 一、创建&#xff1a; conda create --prefixD:\python37\py37 python3.7 这下就在D盘了&#xff1a; 二、激活刚刚那个环境&#xff1a; activate D:\pyhton37\py37​ &…

Zebec APP:构建全面、广泛的流支付应用体系

目前&#xff0c;流支付协议 Zebec Protocol 基本明确了生态的整体轮廓&#xff0c;它包括由其社区推动的模块化 Layer3 构架的公链 Nautilus Chain、流支付应用 Zebec APP 以及 流支付薪酬工具 Zebec payroll 。其中&#xff0c;Zebec APP 是原有 Zebec Protocol 的主要部分&a…