初识C语言

  1. 什么是C语言:

C语言是一门通用计算机,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、 处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

  1. 第一个从语言程序:

特殊:int main(void)表示mian函数不需要参数

  1. 数据类型:

char 字符数据类型

short 短整型

int 整型

long 长整型

long long 更长的整型

float 单精度浮点数

double 双精度浮点数

计算机中常见的单位:

bit(比特位)-byte(字节)-KB-MB-bB-TB-PB

1byte=8bit

1KB=1024byte

每种类型的大小是多少:

char 1bit

short 2

int 4

long 4

long long 8

float 4

double 8

long double 16

  1. 变量、常量:

不变的值C语言中用常量的概念来表示,变的值C语言中用变量来表示。

变量的命名:

·只能由字母(包括大写和小写)、数字和下划线(_)组成

·不能以数字开头

·变量名不能使用关键字

变量的分类:

变量分为局部变量和全局变量(当局部变量和全局变量同名的时候,局部变量优先使用。)

变量的作用域和生命周期:

作用域:

·局部变量的作用域是变量所在的局部范围

·全局变量的作用域是整个工程

生命周期:

·局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束

·全局变量的生命周期是:整个程序的生命周期

常量:

C语言中的常量分为以下几种:

·字面常量

·const修饰的常变量

·#define定义的标识符常量

·枚举常量(enum:枚举常量的默认是从0开始,依次向下递增一的。)

注:const修饰的常变量在C语言中只是在语法层面限制了变量不能直接被改变,但是其本质上还是一个变量的,所以叫常变量。

  1. 字符串+转义字符+注释:

字符串:

“hello bit.\n”这种由双引号引起来的一串字符称为字符串字面值,或者简称字符串。

注:字符串的结束标志是一个\0的转义字符。在计算字符串长度的时候\0是结束标志,不算做字符串内容。

转义字符:

\?: 在书写连续多个问号时,防止他们被解析成三字母词

\' :用于表示字符常量‘

\":用于表示一个字符串内部的“

\\:用于表示一个反斜杠,防止他被解释为一个转义序列符

\a:警告字符,蜂鸣

\b:退格符

\f:进纸符

\n:换行

\r:回车

\t:水平制表符

\v:垂直制表符

\ddd:ddd表示1~3个八进制数字。如\130 X

\xdd:dd表示2个十六进制数字。如\x30 0

注:\加表中没有的字母也会被视为一个转义字符

注释:

1.代码中有不需要的代码可以直接删除,也可以注释掉。

2.代码中有些代码比较难懂。可以加一下注释文字。

注释有两种风格:

·C语言注释风格/*xxxxxxx*/(缺陷:不能嵌套注释)

·C++注释风格//xxxxxx(可以注释一行,也可以注释多行)

  1. 选择语句:if

  1. 循环语句:

C语言中如何实现循环:

·while、

·for

·do······while

  1. 函数:

9.数组:

C语言中给了数组的定义:一种相同类型元素的集合

数组的定义:

int arr[10]={1,2,3,4,5,6,7,8,9,10};//定义一个整型数组,最多放10个元素

数组的下标:

C语言规定:数组的每个元素都有一个下标,下标是从0开始的//如果数组10个元素,下标的范围是 0~9

  1. 操作符:

算术操作符:+ - * / %

移位操作符:>> <<

位操作符:& ^ |

赋值操作符:= += -= *= /= &= ^= |= >>= <<=

单目操作符: ! 逻辑反操作

- 负值

+ 正值

sizeof 操作符的类型长度(以字节为单位)

~ 对一个数的二进制按位取反

-- 前置、后置--

++ 前置、后置++

* 间接访问操作符

(类型) 强制类型转换

关系操作符:

>

>=

<

<=

!= 用于测试“不相等”

== 用于测试“相等”

逻辑操作符:

&& 逻辑与

|| 逻辑或

条件操作符:

exp1?exp2:exp3

逗号表达式:

exp1,exp2,exp3,···expN

下标引用、函数调用和结构成员:

[] () . ->

10.常见关键字: 10.1typedef:类型重命名

10.2static(静态化):修饰局部变量-延长了变量的生命周期,让静态局部变量出了作用域依然存 在,到程序结束,生命周期才结束。

修饰全局变量-缩小了变量的作用域,让静态全局变量只能在本源文件内使 用,不能在其他源文件内使用。

修饰函数-缩小了函数的作用域,使得这个函数只能在本源文件内使用,不 能在其他文件内使用。

  1. #define定义常量和宏:

define定义标识符常量:#define MAX 1000

define定义宏:#define ADD(宏的名字)(x,y)(宏的参数) ((x)+(y))(宏的实现体)

11.指针:

11.1:内存:内存是电脑上特别重要的储存器,计算机中程序的运行都是在内存中进行的。

所以为了有效地使用内存 ,就把内存划分成一个个小的内存单元,每个内存单元的 大小是一个字节。

为了能够有效的访问到内存的每个单元,就给内存单元进行了编号,这些编号被称 为内存单元的地址。

指针的使用实例:

11.2指针变量的大小:

指针变量的大小取决于地址的大小

32位平台下地址是32个比特位(即四个字节)

64位平台下地址是64个比特位(即八个字节)

12.结构体:

举例:

为结构成员访问操作符:

成都市作为中国西部地区具有战略地位的核心都市,其人口的空间分布状况对于城市规划、社会经济发展及公共资源配置等研究具有基础性数据价值。本文聚焦于2019年度成都市人口分布的空间数据集,该数据以矢量格式存储,属于地理信息系统中常用的数据交换形式。以下将对数据集内容及其相关技术要点进行系统阐述。 Shapefile 是一种由 Esri 公司提出的开放型地理空间数据格式,用于记录点、线、面等几何要素。该格式通常由一组相互关联的文件构成,主要包括存储几何信息的 SHP 文件、记录属性信息的 DBF 文件、定义坐标系统的 PRJ 文件以及提供快速检索功能的 SHX 文件。 1. **DBF 文件**:该文件以 dBase 表格形式保存与各地理要素相关联的属性信息,例如各区域的人口统计数值、行政区划名称及编码等。这类表格结构便于在各类 GIS 平台中进行查询与编辑。 2. **PRJ 文件**:此文件明确了数据所采用的空间参考系统。本数据集基于 WGS84 地理坐标系,该坐标系在全球范围内广泛应用于定位与空间分析,有助于实现跨区域数据的准确整合。 3. **SHP 文件**:该文件存储成都市各区(县)的几何边界,以多边形要素表示。每个多边形均配有唯一标识符,可与属性表中的相应记录关联,实现空间数据与统计数据的联结。 4. **SHX 文件**:作为形状索引文件,它提升了在大型数据集中定位特定几何对象的效率,支持快速读取与显示。 基于上述数据,可开展以下几类空间分析: - **人口密度评估**:结合各区域面积与对应人口数,计算并比较人口密度,识别高密度与低密度区域。 - **空间集聚识别**:运用热点分析(如 Getis-Ord Gi* 统计)或聚类算法(如 DBSCAN),探测人口在空间上的聚集特征。 - **空间相关性检验**:通过莫兰指数等空间自相关方法,分析人口分布是否呈现显著的空间关联模式。 - **多要素叠加分析**:将人口分布数据与地形、交通网络、环境指标等其他地理图层进行叠加,探究自然与人文因素对人口布局的影响机制。 2019 年成都市人口空间数据集为深入解析城市人口格局、优化国土空间规划及完善公共服务体系提供了重要的数据基础。借助地理信息系统工具,可开展多尺度、多维度的定量分析,从而为城市管理与学术研究提供科学依据。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
【顶级EI复现】计及连锁故障传播路径的电力系统 N-k 多阶段双层优化及故障场景筛选模型(Matlab代码实现)内容概要:本文介绍了名为《【顶级EI复现】计及连锁故障传播路径的电力系统 N-k 多阶段双层优化及故障场景筛选模型(Matlab代码实现)》的技术资源,重点围绕电力系统中连锁故障的传播路径展开研究,提出了一种N-k多阶段双层优化模型,并结合故障场景筛选方法,用于提升电力系统在复杂故障条件下的安全性与鲁棒性。该模型通过Matlab代码实现,具备较强的工程应用价值和学术参考意义,适用于电力系统风险评估、脆弱性分析及预防控制策略设计等场景。文中还列举了大量相关的科研技术支持方向,涵盖智能优化算法、机器学习、路径规划、信号处理、电力系统管理等多个领域,展示了广泛的仿真与复现能力。; 适合人群:具备电力系统、自动化、电气工程等相关背景,熟悉Matlab编程,有一定科研基础的研究生、高校教师及工程技术人员。; 使用场景及目标:①用于电力系统连锁故障建模与风险评估研究;②支撑高水平论文(如EI/SCI)的模型复现与算法验证;③为电网安全分析、故障传播防控提供优化决策工具;④结合YALMIP等工具进行数学规划求解,提升科研效率。; 阅读建议:建议读者结合提供的网盘资源,下载完整代码与案例进行实践操作,重点关注双层优化结构与场景筛选逻辑的设计思路,同时可参考文档中提及的其他复现案例拓展研究视野。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值