prism

C 语言编程 — 高级数据类型 — 结构体与位域

我与影子孤独终老i 提交于 2020-04-05 18:48:15
目录 文章目录 目录 前文列表 结构体 定义结构体 初始化结构体变量 访问结构体成员 将结构体作为实参传入函数 指向结构体变量的指针 位域 定义位域 使用位域结构体的成员 前文列表 《 程序编译流程与 GCC 编译器 》 《 C 语言编程 — 基本语法 》 《 C 语言编程 — 基本数据类型 》 《 C 语言编程 — 变量与常量 》 《 C 语言编程 — 运算符 》 《 C 语言编程 — 逻辑控制语句 》 《 C 语言编程 — 函数 》 《 C 语言编程 — 高级数据类型 — 指针 》 《 C 语言编程 — 高级数据类型 — 数组 》 《 C 语言编程 — 高级数据类型 — 枚举 》 结构体 结构体是 C 中另一种由用户自定义的数据类型。与枚举类型的枚举值都是整型不同,结构体允许存储不同数据类型的数据项。 结构体常被用于表示一条记录,假设使用结构体来跟踪图书馆中书本的动态,我们可以这样自定义一个结构体的数据项: Title Author Subject Book ID 定义结构体 使用 struct 关键字来类型结构体数据类型: struct tag { member member member . . . } variable ; tag 是结构体的标识(名字)。 member 是几结构体的成员,为标准的变量定义语句,比如: int i 。 variable-list 结构体变量

C 语言编程 — 高级数据类型 — 共用体

风流意气都作罢 提交于 2020-04-05 18:44:45
目录 文章目录 目录 前文列表 共用体 定义共用体 访问共用体成员 前文列表 《 程序编译流程与 GCC 编译器 》 《 C 语言编程 — 基本语法 》 《 C 语言编程 — 基本数据类型 》 《 C 语言编程 — 变量与常量 》 《 C 语言编程 — 运算符 》 《 C 语言编程 — 逻辑控制语句 》 《 C 语言编程 — 函数 》 《 C 语言编程 — 高级数据类型 — 指针 》 《 C 语言编程 — 高级数据类型 — 数组 》 《 C 语言编程 — 高级数据类型 — 枚举 》 《 C 语言编程 — 高级数据类型 — 结构体与位域 》 共用体 共用体是一种特殊的数据类型,允许在相同的内存空间存储不同的数据类型。共用体具有多个成员,但同一时刻只能有一个成员被赋值。共用体提供了一种使用相同的内存空间的有效方式。 定义共用体 使用 union 关键字定义共用体类型: union [ union tag ] { member definition ; member definition ; . . . member definition ; } [ one or more union variables ] ; union tag 是共用体类型的标识(共用体名称),为可选。 member definition 是标准的变量定义,比如 int i; 。 在共用体定义的末尾

基于XGBOOST的电能消耗预测

佐手、 提交于 2020-04-05 18:15:11
基于XGBOOST的电能消耗预测 数据探索分析(EDA) 数据读取 数据可视化 评价指标(metric) 训练集测试集(train_test_split) 基线模型(baseline) 建立时序特征(time series) 数据建模 XGBoost 模型 特征重要性 测试集预测 结果分析 测试集的评测指标 第一个月的预测结果 根据error降序排序 按照abs_error 降序排序 按照abs_error 升序排序 最好和最差的那一天 Python数据分析的基本技能点 技能 时间 知识点 Python编程 30% numpy,pandas,文本处理,矩阵运算 数据建模 30% scikit,分类与回归,线性回归,逻辑回归,决策树,梯度提升树 实战调优 40% 数据清洗,特征提取,特征选择,模型选择,参数调优 PJM INT.,L.L.C.(以下简称为PJM)是经美国联邦能源管制委员会(FERC)批准,于1997的3月31日成立的一个非股份制有限责任公司,它实际上是一个独立系统运营商(ISO)。PJM目前负责美国13个州以及哥伦比亚特区电力系统的运行与管理。作为区域性ISO,PJM负责集中调度美国目前最大、最复杂的电力控制区,其规模在世界上处于第三位。PJM控制区人口占全美总人口的8.7%(约2300万人),负荷占7.5%,装机容量占8%(约58698MW)

enum-使用宏管理你的枚举型数据

那年仲夏 提交于 2020-04-05 18:14:44
高级枚举型定义实现 C源文件 # include <sys/stat.h> # include <fcntl.h> # include <stdio.h> # include <string.h> # include <unistd.h> # include <stdlib.h> /* 实现原理说明: 首先在枚举型结构体中定义宏定义 #define ENUM_(name,num,size,desc) MACRO_##name = num, 然后在引入头文件,头文件包含的宏定义的调用将在这里进行展开,展开之后,会得到一个由宏定义扩展之后的 枚举型结构体 */ enum MACRO_ENUM { # define ENUM_(name,num,size,desc) MACRO_##name = num, # include "enum_example.h" MACRO_MAX , } ; int main ( int argc , char * argv [ ] ) { /* 经过宏扩展的之后的枚举型变量大小 */ printf ( "after macro MACRO_MAX = [%d]\n" , MACRO_MAX ) ; return 0 ; } enum_example.h /** * @brief 宏定义实现枚举型的扩展 * @    该头文件仅用于扩展对应文件宏定义 */

java基础 -- 数据类型,基本程序结构

偶尔善良 提交于 2020-04-05 17:43:36
JAVA基础概念 程序示例 //public 访问修饰符,这些修饰符用于控制程序的其他部分对这段代码的访问级别 // 关键字 class 表明Java程序中全部的内容都包含在类中,这里只需要将类作为加载程序逻辑的容器 //程序逻辑定义了程序的行为 //java应用陈旭中的全部内容都必须放置在类中 //System.out.println() 方法使用会进行自动换行,System.out还有一个print方法,该方法不会进行换行 public class FirstSample { public static void main ( String [ ] args ) { System . out . println ( "Hellow World\n" ) ; } } java数据类型 整型 类型 存储需求 取值范围 int 4字节 -2147483648~2147483647 short 2字节 -32768~32767 long 8字节 -9223372036854775808~9223372036854775807 byte 1字节 -128~127 浮点类型 浮点类型用于表示有小数部分的数值,在java中有两种浮点类型 类型 存储需求 取值范围 float 4字节 大约±3.40282347E+38F(精度6-7位) double 8字节 大约±1

SQLite数据库C语言接口使用实例教程

南笙酒味 提交于 2020-04-05 17:22:24
文章目录 SQLiteC语言操作说明 `SQLITE3` 为什么要用 `SQLite`? `SQLite`命令 常用SQL语句 创建表 修改表 数据表测查询 限定和排序 多表连接 外连接 交叉连接 子查询 条件结果 处理SQLite中的NULL 高级SQL 修改数据 插入数据 跟新记录 删除数据 本文用到的函数说明 数据的删除 delete的实现 插入数据 更新数据 使用二进制的形式对数据库进行保存 SQLiteC语言操作说明 SQLITE3 ​ 在开始之前先介绍一下什么是 SQLite 数据库, SQLite 是一款开源的、嵌入式关系型数据库, SQLite 非常适合前途是产品,因为其没有独立运行的进程,它与服务的应用程序在应用程序的进程空间内共生共存。它的代码和应用程序的代码是在一起的或者说是嵌入其中,作为托管它的程序的一部分。 ​ 为什么学习数据库建议你先学习 SQLite 数据库,特别是嵌入式开发的人员。因为 SQLite 的作者都说过 SQLite 是一款无论你使用的是什么操作系统,都能够在5分钟内完成,数据库的安装配置,以及创建自己的第一个数据库。 为什么要用 SQLite ? 不需要一个单独的服务器进程或操作的系统(无服务器的)。 SQLite 不需要配置,这意味着不需要安装或管理。 一个完整的 SQLite 数据库是存储在一个单一的跨平台的磁盘文件。 SQLite

Leetcode: NO.8 字符串转换整数 (atoi)

China☆狼群 提交于 2020-04-05 15:50:34
题目: 链接:https://leetcode-cn.com/problems/string-to-integer-atoi 请你来实现一个 atoi 函数,使其能将字符串转换成整数。 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。接下来的转化规则如下: 如果第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字字符组合起来,形成一个有符号整数。 假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成一个整数。 该字符串在有效的整数部分之后也可能会存在多余的字符,那么这些字符可以被忽略,它们对函数不应该造成影响。 注意:假如该字符串中的第一个非空格字符不是一个有效整数字符、字符串为空或字符串仅包含空白字符时,则你的函数不需要进行转换,即无法进行有效转换。 在任何情况下,若函数不能进行有效的转换时,请返回 0 。 提示: 本题中的空白字符只包括空格字符 ’ ’ 。 假设我们的环境只能存储 32 位大小的有符号整数,那么其数值范围为 [−231, 231 − 1]。如果数值超过这个范围,请返回 INT_MAX (231 − 1) 或 INT_MIN (−231) 。 示例 1 : 输入 : "42" 输出 : 42 示例 2 : 输入 : " -42" 输出 : - 42 解释 : 第一个非空白字符为 '-' ,

bash-shell高级编程--引用

本小妞迷上赌 提交于 2020-04-05 15:39:35
引用 在shell中,引用的意思就是时讲字符串使用双拥好括起来,他的作用就是保护字符串中的特殊字符、不被shell或者shell脚本重新解释,或者扩展。 andrew@andrew:~$ ls -l [ Ss ] * -rwx------ 1 andrew andrew 3849 1月 19 01:07 sources.list andrew@andrew:~$ ls -l "[Ss]*" ls: 无法访问 '[Ss]*' : 没有那个文件或目录 andrew@andrew:~$ 某些程序和工具能够重新解释或者扩展被引用的特殊字符,引用的一个重要的作用就是保护命令行参数不被shell解释,但是还是能够让调用的程序来扩展它。 引用变量 在一个双引号中通过直接使用变量名的方法来引用变量,一般情况下都是没有问题的。这么做将阻止所有在引号中的特殊字符被重新解释 – 包括变量名 – 但是 $ 和 \ 除外。保持 $ 作为特殊字符的意义是为了能够在双引号中也能够正常引用比变量,也就是说变量在双引号中能够被他的值所取代。 使用双引号能够阻止单词分割,如果一个参数被双引号括起来的话,那么这个参数讲认为是一个单元,即使这个参数包含空白,那里面的单词也不会被分隔开。 # 定义一个变量 variable1 = "a variable containing five words" #

bash-高级编程--位置变量

孤街醉人 提交于 2020-04-05 15:15:38
特殊变量类型 局部变量 这种变量只有代码块或者函数中才可见 如果变量用local 来声明, 那么它就只能够在该变量被声明的代码块中可见. 这个代码块就是局 部"范围". 在一个函数中, 一个局部变量只有在函数代码块中才有意义. 环境变量 这种变量将影响用户接口和 shell 的行为 通常情况下,每个进程都有自己的"环境",这个环境是由一组变量组成的, 这些变量存有进程可能需要引用的信息。 一个脚本可以通过 export 传递环境变量给子进程,但是子进程不能传递环境变量给父进程。 位置参数 从命令行传递到脚本的参数: $0, $1, $2, $3 ... $0 就是脚本自身的名字 #! /bin/bash # 这个脚本用于测试脚本变量 # $0 代表变量本省 echo -e ' $0 ' "= $0 " # 脚本的第一个参数 echo -e ' $1 ' "= $1 " # 第二个参数 echo -e ' $2 ' "= $2 " # 第三个参数 echo -e ' $3 ' "= $3 " 运行结果: andrew@andrew:/work/linux-sys/bash/2.基本/src$ bash bash_name.sh name s d $0 = bash_name.sh $1 = name $2 = s $3 = d bash_name_test.sh #!/bin

[Prism]Composite Application Guidance for WPF(7)——模块

僤鯓⒐⒋嵵緔 提交于 2020-03-31 05:01:33
[Prism]Composite Application Guidance for WPF(7)——模块 周银辉 既然是Composite Application ,毫无疑问地将涉及到“模块(Module)”以及“模块化(Modularity)”,今天简单地谈谈Prism中的模块,这包括:模块化,如何在Prism中枚举和加载模块等等 1,模块化 事实上“模块化”这个标题足以让我心惊胆战而无法完成此篇随笔,因为其是一个非常大的话题,并且在生活中随处可见,如果你对此感兴趣的话,不妨阅读一下 《设计规则:模块化的力量》 这本书。不过就比较狭隘地从软件开发这个角度上讲:我们通常将一个大的软件系统按照功能划分成若干子系统,一个子系统完成相对单一的一个功能,这可以让模块本身足够的单纯、自包含以及提高重用性。对于开发者而已,一个好的模块划分可以让模块更好地独立出来以便相对独立的开发、测试,因为往往复杂的沟通所带来的消耗让我们感到无穷困窘,并且,重用性也是一个非常值得注意的问题。说到重用性,我想引入一个话题是:我们知道,目前国内的大多数公司都会按照模块化的思想将开发人员的开发责任划分出来,开发人员D1领到模块M1的开发任务,开发人员D2领到模块M2的开发任务,然后各自开发去了,但从代码的角度上,很可能M1和M2有交叉(重复)的部分