比特鹏哥2-数据类型和变量【自用笔记】

news2024/11/26 10:30:11

比特鹏哥2-数据类型和变量【自用笔记】

      • 1.数据类型介绍
        • 字符,整型,浮点型,布尔类型
      • 2.signed 和unsigned
      • 3.数据类型的取值范围
        • sizeof 展示字节大小--- 计算机中单位:字节
      • 4.变量 常量
        • 4.1 变量
            • 创建变量(数据类型 变量名)
            • 创建变量的时候可以进行初始化
          • 变量:全局变量 /局部变量
          • 变量的使用
          • 变量的作用域和生命周期
        • 4.2 常量
          • const修饰的常变量
          • define定义的标识符常量
          • 枚举常量:可以一一列举
      • 5.算术操作符:+、-、*、/(除法)、%(取模)---【双目操作符】
        • 5.1 /(除法)
        • 5.2 % (取模)
      • 6.赋值操作符:=和复合赋值
      • 7.单目操作符:++、--
        • 7.1 ++:前置++,后置++
        • 7.2 --:前置--,后置--
          • 单目操作符的sizeof
          • 单目操作符:~(按二进制位取反)
      • 8.强制类型转换
      • 9.scanf和printf介绍

1.数据类型介绍

在这里插入图片描述

%d  -打印整型
%c  -打印字符
%f  -打印浮点数字 -小数
%s  -打印字符串
%p  -打印地址

字符,整型,浮点型,布尔类型

//字符:char

char ch='A'printf ("%c\n",ch)
//整型 :短整型  整型  长整型  

///短整型 short [int], [signed] short [int], unsigned short [int] 
///整型 int ,  [signed] int, unsigned int
///长整型 long [int],  [signed] long [int], unsigned long [int]

short int  q = 5printf ("%d/n",q)int  w = 5printf ("%d/n",w)long  e= 5printf ("%d/n",e)
//浮点型 float,double,long double
float f = 5.0printf ("%f/n",f)
//字符型 char, [signed] char ,  unsigned char
float f = 5.0printf ("%f/n",f)
//布尔类型:0表示假 非0表示真
_Bool
布尔类型需要使用头文件 <stdbool.h>
布尔类型变量的取值:true 或者  false

2.signed 和unsigned

C语言使用 signed 和 unsigned 关键字修饰字符型和整型类型的。
signed 关键字,表示一个类型带有正负号,包含负值;
unsigned 关键字,表示该类型不带有正负号,只能表示零和正整数。unsigned int = int![请添加图片描述](https://img-blog.csdnimg.cn/1e9eb009883f41de880de0ee189a32ac.png)

3.数据类型的取值范围

在这里插入图片描述
字节

sizeof 展示字节大小— 计算机中单位:字节

在这里插入图片描述
计算机中单位:字节
bit 比特位:存放一个二进制位
Byte 字节:1 byte = 8 bit
kb:1 kb =1024 bit

4.变量 常量

int age = 20;
float weight = 95.6f; //防止出现警告

4.1 变量

创建变量(数据类型 变量名)

在这里插入图片描述

创建变量的时候可以进行初始化

在这里插入图片描述

变量:全局变量 /局部变量
 全局变量:定义在({})以外的变量
 局部变量:定义在({})以内的变量------作用域:局部变量所在的局部范围
int a= 100; //全局变量
int main ()
{
int b = 20; //局部变量
}

/// 全局变量与局部变量可以同时存在,但当两者名字一样的,局部变量>全局变量。
// 建议全局变量与局部变量的名称尽量不要相同。

内存的三个区域: 栈区,堆区,静态区
在这里插入图片描述

变量的使用
 //计算两个数的和
 int num1 = 0;
 int num2 = 0;
 scanf("%d%d",&num1,&num2);
 int sum = 0;// c语言规定,变量要定义在当前代码块的最前面【最好就是把这句话写到定义的位置】
 sum =num1+num2;
 printf("sum = %d/n",sum);
 return 0;
 
 
 //输入数据--使用输入函数
 //输入函数: scanf("%变量类型”,&变量名称)

变量的作用域和生命周期

作用域:

	全局变量的作用域是整个工程。
	局部变量的作用域是变量所在的局部范围。

生命周期:

	全局变量的生命周期:整个程序的生命周期
	局部变量的生命周期:进入作用域生命周期开始,出作用域生命周期结束。

4.2 常量

const修饰的常变量
//const 后,num后续不可以修改。
const int num =4;
define定义的标识符常量
#define Max 10 //define定义的标识符常量

int main(){
printf("%d\n",MAX);
return  0;
}
枚举常量:可以一一列举
//性别:男,女,
//三原色:红、黄、蓝
//星期: 1,2,3,4,5,6,7

enum Sex
{
MALE;
FEMALE;
}

int  main()
{
printf("%d\n",MALE);
printf("%d\n",FEAMALE);

return 0;
}



>>>>>>输出结果:
0
1

5.算术操作符:+、-、*、/(除法)、%(取模)—【双目操作符】

5.1 /(除法)

除法两端都是整数,结果也只能是整数
除法两端至少有一个hi浮点数,结果才会出现

5.2 % (取模)

运算符%表示求模运算,即返回两个整数相除的余值。这个运算符只能用于整数,不能用于浮点数。
负数求模的规则是,结果的正负号由第一个运算数的正负号决定。

6.赋值操作符:=和复合赋值

从右向左赋值

7.单目操作符:++、–

7.1 ++:前置++,后置++

前置++:先++,后使用
后置++:先使用,再++
//后置++:先使用,再++
int main(){
	int a = 10;
	int b = a++;
	printf("a=%d  b=%d\n",a,b);// a= 11  b=10
	return 0;
}


//前置++:先++,后使用
int main(){
	int a = 10;
	int b = ++a;
	printf("a=%d  b=%d\n",a,b);// a= 11  b=11
	return 0;
}

7.2 --:前置–,后置–

//后置--:先使用,再--
int main(){
	int a = 10;
	int b = a--;
	printf("a=%d  b=%d\n",a,b);// a= 9  b=10
	return 0;
}


//前置--:先--,后使用
int main(){
	int a = 10;
	int b = --a;
	printf("a=%d  b=%d\n",a,b);// a= 9  b=9
	return 0;
}

单目操作符的sizeof

在这里插入图片描述

单目操作符:~(按二进制位取反)

在这里插入图片描述
在这里插入图片描述

8.强制类型转换

()类型
int a =3.14 //a是int类型,3.14是double类型,两边类型不一样,会报警。

为了消除报警

int a =(int ) 3.14 //进行强制类型转换。

9.scanf和printf介绍

scanf

	vs认为scanf函数不安全,考虑使用scanf_s替换
	解决办法:
	①在当前代码的第一个加上:#define   _CRT SECURE NO_WARNINGS 1
	②#define  _CRT SECURE NO_WARNINGS 1
#define _CRT_SECURE_NO_WARNINGS 1

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

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

相关文章

awk基础知识和案例

文章目录 awk1 awk用法入门1.1 BEGIN和END语句块1.2 awk语法1.2.1 常用命令选项1.2.2 awk变量内置变量自定义变量 1.3 printf命令1.3.1 格式1.3.2 演示 1.4 操作符 2 awk高阶用法2.1 awk控制语句(if-else判断)2.2 awk控制语句(while循环)2.3 awk控制语句(do-while循环)2.4 awk控…

PingCAP 入选 Gartner 《Hype Cycle for Data Management 2023》代表厂商

日前&#xff0c;全球科技咨询与研究机构 Gartner 发布了《Hype Cycle for Data Management 2023》&#xff08;2023 年数据管理技术成熟度曲线报告&#xff09;&#xff0c;PingCAP 凭借技术积累和产品优势&#xff0c;入选报告“用于数据管理的生成式人工智能”&#xff08;G…

Win10下webots2020b闪退

下载安装完之后打开软件就会停留在这个界面几秒钟&#xff0c;什么都点不了&#xff0c;然后就会闪退回桌面 原因: webots安装路径中有中文 解决方案&#xff1a; 安装路径下的中文改为英文

真的不想知道录音转文字怎么弄才简单吗

哇哦&#xff01;听说你想知道如何将录音转成文字&#xff1f;这简直是一个超酷的技能&#xff0c;让我来为你揭开这个神奇的面纱吧&#xff01;想象一下&#xff0c;当你有一堆录音文件需要处理时&#xff0c;你不再需要费尽心思地一遍遍倾听、抄写。现在&#xff0c;你只需要…

【Go 基础篇】开发环境搭建与开发工具选择

介绍 Go语言&#xff0c;也被称为Golang&#xff0c;是由Google开发的一门开源编程语言。它以其简洁高效、并发性能优异而备受开发者青睐。若想开始Go语言的学习和开发&#xff0c;首先需要搭建适合的开发环境&#xff0c;并选择合适的开发工具来提高效率。本篇博客将详细介绍…

迭代器模式(C++)

定义 提供一种方法顺序访问一个聚合对象中的各个元素&#xff0c;而又不暴露(稳定)该对象的内部表示。 应用场景 在软件构建过程中&#xff0c;集合对象内部结构常常变化各异。但对于这些集合对象&#xff0c;我们希望在不暴露其内部结构的同时&#xff0c;可以让外部客户代…

kafka:java client使用总结塈seek() VS commitSync()的区别(三)

最近一段日子接触了kafka这个消息系统&#xff0c;主要为了我的开源中间件项目simplemq增加kafka支持&#xff08;基于kafka-client【java】&#xff09;&#xff0c;如今总算完成&#xff0c;本文是对这个过程中对kafka消息系统的使用总结 线程安全 关于线程安全&#xff0c…

04-2_Qt 5.9 C++开发指南_SpinBox使用

文章目录 1. SpinBox简介2. SpinBox使用2.1 可视化UI设计2.2 widget.h2.3 widget.cpp 1. SpinBox简介 QSpinBox 用于整数的显示和输入&#xff0c;一般显示十进制数&#xff0c;也可以显示二进制、十六进制的数&#xff0c;而且可以在显示框中增加前缀或后缀。 QDoubleSpinBox…

无人车沿着指定线路自动驾驶与远程控制的实践应用

有了前面颜色识别跟踪的基础之后&#xff0c;我们就可以设定颜色路径&#xff0c;让无人车沿着指定线路做自动驾驶了&#xff0c;视频&#xff1a;PID控制无人车自动驾驶 有了前几章的知识铺垫&#xff0c;就比较简单了&#xff0c;也是属于颜色识别的一种应用&#xff0c;主要…

Vue + Cesium快速搭建,全流程(最新总结)

方式一&#xff1a;直接引入&#xff08;最简单&#xff09; 1.安装Cesium&#xff08;Vue搭建可以看我上一期的文章&#xff09; npm i cesium -save2.将node_modules\cesium\Build\Cesium文件夹拷贝到项目的public文件中 3.在public\index.html引入Cesium <!DOCTYPE h…

1466. 重新规划路线

题目描述&#xff1a; 主要思路&#xff1a; 将所有有向边抽象为无向边&#xff0c;将原有的方向权重置为1&#xff0c;其余置为0。 从0开始遍历所有城市&#xff0c;ans权重和。 class Solution { public:vector<vector<int>> a,w;int ans0;bool book[500010];v…

Node.js |(一)Node.js简介及计算机基础 | 尚硅谷2023版Node.js零基础视频教程

学习视频&#xff1a;尚硅谷2023版Node.js零基础视频教程&#xff0c;nodejs新手到高手 文章目录 &#x1f4da;关于Node.js&#x1f407;为什么要学Node.js&#x1f407;Node.js是什么&#x1f407;Node.js的作用&#x1f407;Node.js下载安装&#x1f407;命令行工具&#x1…

【Linux】多路转接 -- poll函数

文章目录 1. poll函数原型2. poll服务器3. poll的优点和确定 1. poll函数原型 poll函数和与我上一篇文章介绍的select函数一样&#xff0c;都是系统提供的多路转接接口&#xff0c;允许进程或线程在同一时间监听多个文件描述符。 本篇文章的一部分内容与上一篇介绍select函数…

Report Sharp-Shooter Lite Edition Crack

Report Sharp-Shooter Lite Edition Crack 报告Sharp Shooter™ 是为.NET Framework设计的&#xff0c;使用C#编写&#xff0c;并且只包含100%的托管代码。Report Sharp Shooter能够从多个数据源生成任何复杂的报告&#xff0c;并将生成的报告导出为大多数格式&#xff0c;包括…

UNIX 入门

与 UNIX 建立连接启动会话登录命令提示符修改口令退出系统 简单的 UNIX 命令命令格式ls 命令who 命令虚拟终端 tty伪终端 ptywho am i 命令 cal 命令help 命令man 命令 shell 概述shell 命令更换 shell临时更改 shell永久更改 shell 登录过程 与 UNIX 建立连接 启动会话 要启…

Java Set集合:HashSet和TreeSet类

Set 集合类似于一个罐子&#xff0c;程序可以依次把多个对象“丢进”Set 集合&#xff0c;而 Set 集合通常不能记住元素的添加顺序。也就是说 Set 集合中的对象不按特定的方式排序&#xff0c;只是简单地把对象加入集合。Set 集合中不能包含重复的对象&#xff0c;并且最多只允…

【无标题】发大水

发大声道TOC 欢迎使用Markdown编辑器 你好&#xff01; 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章&#xff0c;了解一下Markdown的基本语法知识。 新的改变 我们对Markdown编辑器进行了一些功能拓展与语…

K8s集群安全机制

1.访问K8s集群的时候&#xff0c;需要经过三个步骤完成具体操作 &#xff08;1&#xff09;认证&#xff08;2&#xff09;鉴权&#xff08;授权&#xff09;&#xff08;3&#xff09;准入控制 进行访问的时候&#xff0c;过程中都要经过apiserver&#xff0c;apiserver做统…

Qt小项目贪吃蛇实线,主要掌握定时器、信号与槽、按键事件、绘制事件、坐标运算、随机数生成等

Qt小项目贪吃蛇实线&#xff0c;主要掌握定时器、信号与槽、按键事件、绘制事件、坐标运算、随机数生成等 Qt 贪吃蛇演示QWidget 绘制界面项目源文件 注释清晰widget.hwidget.cpp 拓展QTimerQKeyEventQRectFQPointFQPainterQIcon Qt 贪吃蛇演示 QWidget 绘制界面 项目源文件 注…

java版直播商城平台规划及常见的营销模式 电商源码/小程序/三级分销+商城免费搭建 bbcbbc

​ Java版工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离 1. 涉及平台 平台管理、商家端&#xff08;PC端、手机端&#xff09;、买家平台&#xff08;H5/公众号、小程序、APP端&#xff08;IOS/Android&#xff09;、微服务平台&#xff08;业务服务…