白话编程--数据篇(1)基本数据类型

前言

        数据是程序的另一个重要组成部分.对于程序的两个理解,一是在实现逻辑;二是在处理数据.综合起来,程序以处理数据的方式表达逻辑.

引入

        什么是数据?数据的概念是相当广泛的.他相当于客观世界中的"物体".用一个桔子来做类比,我们可以把桔皮,桔梗,桔的汁液,桔的籽,甚至桔汁中的分子都看成"物体".如果用计算机来模拟这个桔子,那么前面的"物体"都可以看成是"数据".当然,这里的数据更多是以面向对象的思想,以"对象"来描述更为贴切.

基本数据类型

        不管数据被怎样去定义,有一些数据类型是编程语言已定义好,程序员可以直接使用的.通常情况下有整型,浮点型,字符型等几种(指针属于非常重要的类型,另外叙述).他们的特点是直接映射硬件寄存器.

        short int 简称short ,短整型占16位2个字节

        int,整型占32位4个字节,如果是32位机,可能是16位2个字节

        long,长整型,占64位8个字节

        char,字符型,占8位1个字节

        float,浮点型,占32位4个字节

        double,双精度浮点型,占64位8个字节

为什么占位一样长,但是又不同的数据类型出现呢?

        这是配合开发语言中的其他模块而存在的,比如打印到屏幕上,数据类型配合输出符号,才能在屏幕上打出正确的数值.

数据书写格式

        举例:int a=10;

        数据类型 变量名 = 值;

        如果在函数中定义了形参,那么传值和变量都是可以的.

  自定义数据类型   

           当有了基本数据类型之后,也可以自定义数据类型,来表达想描述的事物.

            常见的数据类型有结构体(C语言),共用体和枚举,类(C++)等

             ---共用体实际使用不多,枚举的用途很广,单独列出;面向对象数据类型也是放在后面

             结构体

                定义:结构体中含有基本数据类型或者其他结构体变量

                举例:
 

                        struct Student{int age;int height;  struct clothes clothes;              }/*学生*/struct Clothes{char shirt[20];char trousers[20];            }/*衣着*/struct Clothes xiaomingclothes={"tiger","crocodile"};struct Student xiaoming;/*生成名为xiaoming的学生变量*/xiaoming.age=18;        /*赋值年龄*/xiaoming.height=178;    /*赋值身高*/xiaoming.clothes=xiaomingclothes;     /*赋值衣着*/                  

                在结构体clothes中用两个字符串表示衬衣和长裤;

                结构体student中用了两个整型数据age和height分别表示年龄和身高,然后用结构体变量

                表示衣着.

                上述定义了两个结构体,分别描述了 "衣着"和"学生"这两种个体.

                 注意:结构体定义相当于声明了新数据类型,赋值操作过程和前面描述相同 

                 可以看出,结构体操作还是比较复杂的,所以有了面向对象的数据类定义

简单数据集合-数组

        简单数据集合就1个---数组,把相同类型的数据元素放一起,用索引即可访问数据元素.

        为什么叫简单数据集合,因为还有复杂的嘛.

        复杂的也没有多复杂,就是链表啦,将在指针部分给出

         举例:int a[]={0,1,2,3,4} /*整数集合*/struct Student xiaoming;struct Student xiaohong;struct Student std[]={xiaoming,xiaohong} /*结构体Student数组,未赋值默认0*/

注意:凡是有数据集合的地方,必然需要遍历数据集合内的数据元素,遍历数据必然用到指针

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

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

相关文章

快速找到文件夹中匹配和不匹配的图片文件

一、脚本简介 在日常的软件开发和数据处理中,经常需要处理大量的文件和数据。针对一些分类的模型结果,这个脚本可以帮助快速找到文件夹中匹配和不匹配的图片文件。 二、完整代码 import osdef find_mismatched_images(folder1, folder2, subfolder):#…

04 双向链表

目录 1.双向链表 2.实现 3.OJ题 4.链表和顺序表对比 1. 双向链表 前面写了单向链表,复习一下 无头单向非循环链表:结构简单,一般不会单独用来存数据。实际中更多作为其他数据结构的子结构,如哈希桶、图的邻接等。另外这种结构在…

windows用mingw(g++)编译opencv,opencv_contrib,并install安装

windows下用mingw编译opencv貌似不支持cuda,选cuda会报错,我无法解决,所以没选cuda,下面两种编译方式支持。 如要用msvc编译opencv,参考我另外一篇文章 https://blog.csdn.net/weixin_44733606/article/details/1357…

初识人工智能,一文读懂机器学习之逻辑回归知识文集(1)

🏆作者简介,普修罗双战士,一直追求不断学习和成长,在技术的道路上持续探索和实践。 🏆多年互联网行业从业经验,历任核心研发工程师,项目技术负责人。 🎉欢迎 👍点赞✍评论…

进击的 Serverless:Java 应用如何从容地面对突增流量

作者:袭周、十眠 让我们从一个十分常见的业务场景说起。 移动互联网时代,许许多多的业务都有着流量的周期性变化,无论是直播、游戏、点单系统、电商平台等等,都会存在着流量的高峰与波谷。如果采用固定的计算资源部署服务&#…

02-docker下部署seata

官方部署文档 http://seata.io/zh-cn/docs/ops/deploy-by-docker 配置参数说明 http://seata.io/zh-cn/docs/user/configurations 1、镜像拉取 docker pull seata-server2、复制配置文件 mkdir /home/server/seata cd /home/server/seata docker run -d -p 8091:8091 -p 709…

sqli-labs通关笔记(less-11 ~ less16)

上一篇文章说了sqli-labs的less-1到less-10的注入方法,这一篇从less-11开始。 由于从11关开始都是post请求,不会像前十关一样存在符号转成url编码的麻烦,所以不再使用apifox,直接从页面上进行测试。 Less-11 老规矩,…

解决vue 2.6通过花生壳ddsn(内网穿透)实时开发报错Invalid Host header和websocket

请先核对自己的vue版本,我的是2.6.14,其他版本未测试 起因 这两天在维护一个基于高德显示多个目标(门店)位置的项目,由于高德要求定位必须使用https服务,遂在本地无法获取到定位坐标信息,于是…

JVM实战篇:GC调优

目录 一.GC调优的核心指标 1.1吞吐量(Throughput) 1.2延迟(Latency) 1.3内存使用量 二.GC调优的方法 2.1监控工具 Jstat工具 VisualVm插件 Prometheus Grafana 2.2诊断原因 GC日志 GC Viewer GCeasy 2.3常见的GC模…

Unity中Interface修饰符:初学者指南

什么是Interface? 在Unity和其他面向对象的编程语境中,interface是一种特殊的结构,它定义了一组方法和属性,但不提供它们的实现。在C#中,interface是通过关键字interface来声明的。它像是一个合约,规定了实…

手把手教你开发第一个HarmonyOS (鸿蒙)移动应用

⼀、移动应⽤开发的介绍 移动应⽤开发: AndroidIOSHarmonyOS (鸿蒙) ⼆、HarmonyOS介绍 文档概览-HarmonyOS应用开发官网 2.1 系统的定义 2.1.1 系统的定位 HarmonyOS有三⼤特征: 搭载该操作系统的设备在系统层⾯融为⼀体、形成超级终…

opencv#27模板匹配

图像模板匹配原理 例如给定一张图片,如上图大矩阵所示,然后给定一张模板图像,如上图小矩阵。 我们在大图像中去搜索与小图像中相同的部分或者是最为相似的内容。比如我们在图像中以灰色区域给出一个与模板图像尺寸大小一致的区域,…

编译onnxruntime+OpenVINO,提示“Unsupported OpenVINO version“(已解决)

编译OnnxRuntimeOpenVINO,提示"Unsupported OpenVINO version"(已解决) 昨天刚填完编译OnnxRuntimeOneDNN的坑,今天编译了一天的OnnxRuntimeOpenVINO,一直接提示Unsupported OpenVINO version,无法编译通过。 CMake E…

展开说说provide和inject

写在前面 今天讲一下关于vue组件传值里面的其中一个跨组件传值,之前文章写过一篇关于组件传值,里面也有提过关于这块跨组件传值的方式,其中就提到了provide 和 inject的方式,但是并没有展开说,今天就简单的展开说一下&…

CRM的定义、功能,以及国内外CRM系统排名

什么是客户关系管理? CRM是(客户关系管理)的缩写,是一个管理与客户关系的系统。CRM的主要功能是管理基本客户信息和购买历史的客户管理、分析潜在客户和新客户的客户分析、对询问的自动回复的响应以及通过电子邮件通讯和研讨会吸引客户。它是加强和维护与客户和潜…

opencv#30 线性滤波

均值滤波原理 均值滤波步骤 Step1:求和。 Step2:计算平均值。 所谓均值滤波,就是求平均值的意思。我们假设在一个3*3的范围内有一个图像,其中这个图像每一个像素可能含有噪声,也可能不含噪声,我们是不知道的,因此通…

持续集成工具Jenkins的使用之配置篇(二)

上一篇 :持续集成工具Jenkins的安装配置之安装篇(一)-CSDN博客 接上文 三.Jenkins配置 Jenkins配置主要是针对创建构建任务前做的一些基本配置,这些配置有些是必须的,有些是可以帮我们提高效率的,总之都是Jenkins管理员都要会的…

论文阅读笔记整理(持续更新)

KV存储 ROLEX: A Scalable RDMA-oriented Learned Key-Value Store for Disaggregated Memory Systems FAST 2023 Paper 泛读笔记 针对分离式内存系统中,KV存储性能不高的问题,由于内存节点资源有限,现有方法难以直接修改B树或学习索引的模…

从物联网看智慧文旅的未来:技术与实践的完美结合,重塑旅游体验的新篇章

一、物联网技术:智慧文旅的基石 随着科技的飞速发展,物联网技术已经深入到我们生活的方方面面,尤其在智慧文旅领域,物联网技术更是起到了不可或缺的作用。它如同智慧文旅的基石,为旅游行业带来了前所未有的创新和变革…

VRRP6协议--负载均衡配置

VRRP6负载均衡 VRRP6负载均衡指的是创建多个备份组,多个备份组同时承担数据转发的任务,对于每一个备份组,都有自己的Master和若干Backup设备。 VRRP6负载分担与VRRP6主备备份的基本原理和报文协商过程都是相同的。同样对于每一个VRRP6备份组,都包含一个Master设备和若干Ba…