变量

C语言第二次作业

喜欢而已 提交于 2020-03-08 10:23:41
1.笔记 2.视频中的代码列表 3.存在的问题 const关键字及其作用(用法) const定义只读变量的关键字,或者说 const 是定义常变量的关键字。 说 const 定义的是变量,但又相当于常量;说它定义的是常量,但又有变量的属性,所以叫常变量。用 const 定义常变量的方法很简单,就在通常定义变量时前面加 const 即可,如: const int a = 10 ; const 和变量类型 int 可以互换位置,二者是等价的,即上条语句等价于: int const a = 10 ; 用 const 定义的变量的值是不允许改变的,即不允许给它重新赋值,即使是赋相同的值也不可以。所以说它定义的是只读变量。这也就意味着必须在定义的时候就给它赋初值。 如果定义的时候未初始化,对于未初始化的局部变量,程序在执行的时候会自动把一个很小的负数存放进去。这样后面再给它赋初值的话就是“改变它的值”了,即发生语法错误。 用 const 修饰的变量,无论是全局变量还是局部变量,生存周期都是程序运行的整个过程。全局变量的生存周期为程序运行的整个过程这个是理所当然的。而使用 const 修饰过的局部变量就有了静态特性,它的生存周期也是程序运行的整个过程。我们知道全局变量是静态的,静态的生存周期就是程序运行的整个过程。但是用const修饰过的局部变量只是有了静态特性,并没有说它变成了静态变量虽然

听翁恺讲c语言,1、

时光总嘲笑我的痴心妄想 提交于 2020-03-08 09:50:12
一、c在editplus中的配置。 1、环境变量: 进入环境变量后在最后将minGW或gcc的安装目录下的bin路径添加进去。 ​ 例如 D:\mingw\bin 或 D:\gcc\bin。添加语句前去确保是分号。 2、配置编译c和运行c a.编译c:添加工具>设置下面几个参数 菜单文本(Menu text):命名为“编译c” 命令(Command):在浏览中找到gcc所在文件目录选择 gcc.exe 参数(Argument):$(FilePath) -o $(FileDir)/$(FileNameNoExt).exe 起始目录(Initial directory):$(FileDir) 动作(Action):Capture output b.运行c 菜单文本(Menu text):命名为“运行c” 命令(Command):$(FileDir)/$(FileNameNoExt).exe 参数(Argument):空着 起始目录(Initial directory):空着 动作(Action):无 二、C语言基本知识 3、定义变量。 a、变量的基本介绍(c语言是一种有类型的语言,使用之前必须先定义) eg:int price=0(其中变量的名字是price,类型是int变量,初始值为零) 。 变量就是一个储存数据的地方,用一个变量保存了数据,它才能参加到后面的计算中。 b、变量定义

第十二章 并发编程

心已入冬 提交于 2020-03-08 09:38:10
第十二章 并发编程 1、并发:逻辑控制流在时间上重叠 2、并发程序:使用应用级并发的应用程序称为并发程序。 3、三种基本的构造并发程序的方法: 进程,用内核来调用和维护,有独立的虚拟地址空间,显式的进程间通信机制。 I/O多路复用,应用程序在一个进程的上下文中显式的调度控制流。逻辑流被模型化为状态机。 线程,运行在一个单一进程上下文中的逻辑流。由内核进行调度,共享同一个虚拟地址空间。 12.1 基于进程的并发编程 构造并发服务器的自然方法就是,在父进程中接受客户端连接请求,然后创建一个 新的子进程 来为每个新客户端提供服务。 基于进程的并发echo服务器的重点内容 (1)需要一个SIGCHLD处理程序,来 回收 僵死子进程的资源。 (2)父子进程 必须关闭 各自的connfd拷贝。对父进程尤为重要,以 避免存储器泄露 。 (3)套接字的文件表表项中的引用计数,直到父子进程的connfd都关闭了,到客户端的连接才会终止。 注意:进程的模型: 共享文件表 ,但不是共享用户地址空间。 优点:一个进程不可能不小心覆盖两个进程的虚拟存储器。 缺点:独立的地址空间使得进程共享状态信息变得更加困难。进程控制和IPC的开销很高。 Unix IPC 是指所有允许进程和同一台主机上其他进程 进行通信 的技术,包括管道、先进先出(FIFO)、系统V共享存储器,以及系统V信号量。 12.2 基于I

搭建神经网络2

亡梦爱人 提交于 2020-03-08 09:37:32
两层简单神经网络-----前向传播 1、前向传播就是搭建模型的计算过程,让模型具有推理能力,可以针对一组输入给出相应的输出。 2、推导 神经网络共有几层(或当前是第几层网络)都是指的计算层,输入不是计算层,所以a为第一层网络,a是一个一行三列矩阵。 我们把每层输入乘以线上的权重w,这样用矩阵可以计算出y了。 a=tf.matmul(X,W1) y=tf.matmul(a,W2) 3、实现 由于需要计算结果,就要用with结构实现,所有变量初始化过程、计算过程都要放到sess.run函数中。对于变量初始化,我们在sess.run中写入 tf.global_variable_initializer 实现对所有变量初始化,也就是赋初值。对于计算图中的运算,我们直接把运算节点填入sess.run即可,比如要计算y,直接写sess.run(y)即可。 在实际应用中,我们可以一次喂入一组或多组输入,让神经网络计算输出y,可以先用 tf.placeholder 给输入占位。如果一次喂一组数据,shape的第一维位置写1,第二维位置要看有几个输入特征;如果一次喂多组数据,shape的第一维位置可以写None表示先空着,第二维位置写有几个输入特征。这样在feed_dict中可以喂入若干组体积重量了。 4、举例 这是一个实现神经网络前向传输过程,网络可以自动推理出输出y的值。 1

好程序员web前端教程学习之ES6属性知识梳理

非 Y 不嫁゛ 提交于 2020-03-08 09:35:02
好程序员web 前端 教程 学习之ES6属性知识梳理 , ECMAScript 6.0(简称:ES6)是 JavaScript 语言的下一代标准,于2015年6月正式发。目标是使得JavaScript语言可以用来编写复杂的大型应用程序,成为企业级开发语言。现在企业中的项目基本都采用ES6开发,因此学好ES6就变得尤为重要!接下来 好程序员 web前端教程 就给大家简单梳理一下ES6属性知识。 let/const ES6 新增了let命令,用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。 { let a = 10; var b = 1;} a // ReferenceError: a is not defined. b // 1   上面代码在代码块之中,分别用let和var声明了两个变量。然后在代码块之外调用这两个变量,结果let声明的变量报错,var声明的变量返回了正确的值。这表明,let声明的变量只在它所在的代码块有效。 for循环的计数器,就很合适使用let命令。 var oLis = document.getElementsByTagName('li') for (let i = 0; i < oLis.length; i++) { // ... oLis[i].onclick = function(){ console.log(i)

js中的函数

岁酱吖の 提交于 2020-03-08 08:05:31
函数 函数:由事件驱动的或者当它被调用时执行的可重复使用的代码块。语法格式: function 函数名(参数1,参数2) { //用关键字function来声明函数 这里要执行的代码 } 函数名(参数1,参数2) //调用函数 注意:javaScript 对大小写敏感。关键词 function 必须是小写的,并且必须以与函数名称相同的大小写来调用函数。 函数的声明 第一种function关键字: function foo(x, y) { return x + y } 这种声明方式可以通过函数名来调用 第二种:函数表达式 这种方式:没有函数名而是通过变量名来代替函数名,调用函数的时候通过访问变量来调用 var foo = function (x, y) { return x + y }; 第三种:function构造函数,没有人用 var foo = new function() 带有返回值的函数 var foo = function (x, y) { return x + y }; var f = foo(3, 4); alert(f) 注意:在使用 return 语句时,函数会停止执行并不是整个javascript 停止,并返回指定的值 ,函数的返回值你不需要声明他只需要使用 return 运算符后跟要返回的值即可。如果return没有返回值

【规范】alibaba编码规范阅读

冷暖自知 提交于 2020-03-08 07:58:55
一、编程规范 (一)命名规范 1、代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束 2、代码中的命名严禁使用评语与英文混合的方式,更不允许直接使用中文的方式 3、类名使用UpperCamelCase风格,必须遵从驼峰形式,但是:DO BO DTO VO AO除外 4、方法名、参数名、成员变量、局部变量都统一使用lowerCamelCase风格,必须遵从驼峰格式 5、常量名全部大写,单词间用下划线隔开,力求词义表达清楚,不要嫌名字长 6、抽象类命名使用Abstract或Base开头:异常类命名使用Exception结尾:测试类命名以它要测试的类的名称开始,以Test结尾。 7、中括号是数组类型的一部分,使用String[] args 不要使用String args[]的方式 8、POJO类中布尔类型的变量,都不要加is,否则部分框架解析会引起序列化错误。 定义基本类型Boolean isDeleted的属性,它的方法也是isDeleted(),RPC框架在反向解析的时候,以为对应的属性名称是deleted,导致属性获取不到,进而抛出异常。 9、包名统一使用小写,点分隔符有且仅有一个自然语义的英文单词,包名统一使用单数形式。但是类名如果有复数含义,类名可以使用复数形式。 10、杜绝完全不规范的缩写,避免望文生义。 11、为了达到代码自解释的目标

变量、数据类型和运算符

亡梦爱人 提交于 2020-03-08 07:50:18
变量: 计算机使用内存来记忆大量运算时要使用的数据。根据数据的类型为它在内存中分配一块空间,然后数据就可以放进这块空间中。 通过变量名可以简单快速地找到它存储的数据。将数据指定给变量,就是将数据储存到以别名为变量名的那个房间;调用变量,就是将那个房间中的数据取出来使用。可见,变量是储存数据的一个基本单元,不同的变量相互独立。 声明变量,既“根据数据类型在内存中申请一块空间”,这里需要给变量命名。 数据类型: int 整型 double 双精度符点型 char 字符型 string 字符串型。 不同的数据在存储时所需要的空间各不相同,不同类型的数据就需要不同的内存空间来储存。 变量声明及使用: 根据数据的类型再在内存中申请一块空间,这里需要给变量命名。 将数据存储至对应的内存空间。 调用变量。使用储存的变量,我们称之为“调用变量”。 使用声明的变量名就是使用变量对应的内存空间中存储数据,”变量都必须声明或赋值后才能使用“。 变量命名规则: 1 变量必须以字母、下划线“_”或“$”符号开头; 2 变量可以包括数学,但不能以数字开头; 3 除了“_”或“$”符号以外,变量名不能包含任何特殊字符; 4 不能使用Java语言的关键字,如int、class、public等。 Java变量名的长度没有任何限制,但是Java语言区分大小写,所以price和Price是两个完全不同的变量。

C结构体中不能有静态变量

送分小仙女□ 提交于 2020-03-08 06:55:53
C中struct只是类型声明,没有内存空间的分配,而static变量是需要分配内存的。,所以不能在结构体中定义静态变量 // C中struct只是类型声明,没有内存空间的分配,而static变量是需要分配内存的。 typedef struct Node { //static int count; int num ; struct Node * next ; } Node ; 来源: CSDN 作者: 明月映雪 链接: https://blog.csdn.net/ren_x_guo/article/details/104715344

Halcon算子翻译——dev_error_var

旧巷老猫 提交于 2020-03-08 06:55:34
名称 dev_error_var - 定义或取消定义一个错误变量。 用法 dev_error_var( : : ErrorVar, Mode : ) 描述   dev_error_var定义一个错误变量,它是最后一个算子调用结果状态的变量。 如果没有发生错误,ErrorVar将会是2(H_MSG_TRUE)。 参数Mode指定是否应使用错误变量(1)或不使用(0)。 如果错误变量处于激活状态,每次算子运行完毕后都会更新。 因此,一次算子调用的结果变量在下一次算子的调用之前有效。 该值可以通过将其分配给另一个变量(参见示例)或通过调用dev_error_var(ErrorVar,0)来保存。 参数 ErrorVar (input_control)   integer → (integer)   包含错误状态的变量的名称。 默认值: 'ErrorVar' Mode (input_control)    integer → (integer)   开启或关闭错误变量。 默认值: 1 列举值: 0, 1 示例(HDevelop) dev_close_window () dev_open_window (0, 0, 512, 512, 'black', WindowHandle) dev_error_var (Error, 1) dev_set_check ('~give_error')