c语言关键字

C语言 基础2

坚强是说给别人听的谎言 提交于 2020-03-24 14:09:54
◇数据存储与输入输出 1.位是内存的最小储存单位. 2.每八位等于一个字节. 3.字节位的最高位表示正负号,符号为0表示为正,为1表示负数.其余的字节位表示数值. 4.浮点数在计算机按指数形式储存的,即分为小数和指数. 5.字符:a-z 十进制65-90 A-Z 97-122 a与A之间相差32 6.数值分为整型(可分为有符号整型变量和无符号整型变量,前者课储存正值和负值,后者只能储存0和正值)和浮点型 字符型char 1字节 -2的七次方---2的七次方减1 短整型short 2字节 -2的十五次方---2的15次方减1 整型int 长整型long 单精度 float4字节 双精度 double 8字节 长双精度long double 12字节 *数据类型的大小与编译器和硬件平台有关,但有5点是确定的: ^char的大小为一个字节 ^short的长度不会超过long,可能等于 ^int的长度不会超过long可能等于 ^unsigned的长度等于int ^float的长度不会超过double 7.数据分为变量和常量 ,常量分为字面量和符号常量. 字面量为:整型常量 实型常量 字符型常量 字符串型常量 转义字符是一种特殊的字符常量: \n 换行 \t 水平跳格 \b退格 \r回车 \\反斜线字符 \'单引号字符 '''双引号字符 \ddd1至3位八进制数表示的字符

c++与python混合编程

无人久伴 提交于 2020-03-24 06:26:37
本文分4个部分 C/C++ 调用 Python (基础篇)— 仅讨论Python官方提供的实现方式 Python 调用 C/C++ (基础篇)— 仅讨论Python官方提供的实现方式 C/C++ 调用 Python (高级篇)— 使用 Cython Python 调用 C/C++ (高级篇)— 使用 SWIG 1 C/C++ 调用 Python(基础篇) Python 本身就是一个C库。你所看到的可执行体python只不过是个stub。真正的python实体在动态链接库里实现,在Windows平台上,这个文件位于 %SystemRoot%\System32\python27.dll。 调用示例: //my_python.c #include <Python.h> int main(int argc, char *argv[]) { Py_SetProgramName(argv[0]); Py_Initialize(); PyRun_SimpleString("print 'Hello Python!'\n");//此接口可执行字符串形式的代码 Py_Finalize(); return 0; } 在Windows平台下,利用vs命令提示符,编译命令为 cl my_python.c -IC:Python27\include C:\Python27\libs\python27.lib

大体了解Lua的语法

穿精又带淫゛_ 提交于 2020-03-22 05:59:04
Lua 的语法比较简单,学习起来也比较省力,但功能却并不弱。   在Lua中,一切都是变量,除了关键字。请记住这句话。 I. 首先是注释   写一个程序,总是少不了注释的。   在Lua中,你可以使用单行注释和多行注释。   单行注释中,连续两个减号 "--" 表示注释的开始,一直延续到行末为止。相当于C++语言中的"//"。   多行注释中,由 "--[[" 表示注释开始,并且一直延续到"]]"为止。这种注释相当于C语言中的"/*…*/"。在注释当中,"[["和"]]"是可以嵌套的。 II. Lua编程   经典的"Hello world"的程序总是被用来开始介绍一种语言。在Lua中,写一个这样的程序很简单:   print("Hello world")   在Lua中,语句之间可以用分号";"隔开,也可以用空白隔开。一般来说,如果多个语句写在同一行的话,建议总是用分号隔开。   Lua 有好几种程序控制语句,如:   条件控制:if 条件 then … elseif 条件 then … else … end   While循环:while 条件 do … end   Repeat循环:repeat … until 条件   For循环:for 变量 = 初值,终点值,步进 do … end   For循环:for 变量1,变量2,… ,变量N in表或枚举函数 do … end

使用c实现简单的rpc

无人久伴 提交于 2020-03-17 11:00:59
某厂面试归来,发现自己落伍了!>>> RPC 简介 RPC(Remote Procedure Call)——远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的细节的技术。 通过RPC我们可以充分利用非共享内存的多处理器环境(例如通过局域网连接得多台工作站),这样可以简便地将你的应用分布在多台工作站上,应用程序就像运行在一个多处理器的计算机上一样。你可以方便的实现过程代码共享,提高系统资源的利用率,也可以将以大量数值处理的操作放在处理能力较强的系统上运行,从而减轻前端机的负担。 在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。 RPC 的主要目的是为组件提供一种相互通信的方式,使这些组件之间能够相互发出请求并传递这些请求的结果。 RPC 调用过程 客户机对服务器的一次RPC调用,其内部操作大致有如下十步: 1.调用客户端句柄;执行传送参数 2.调用本地系统内核发送网络消息 3.消息传送到远程主机 4.服务器句柄得到消息并取得参数 5.执行远程过程 6.执行的过程将结果返回服务器句柄 7.服务器句柄返回结果,调用远程系统内核 8.消息传回本地主机 9.客户句柄由内核接收消息 10.客户接收句柄返回的数据 RPC 的应用场景 RPC 在分布式系统中的系统环境建设和应用程序设计中有着广泛韵应用

C语言程序的基本结构

不想你离开。 提交于 2020-03-16 09:06:02
目录 一、C语言基础知识的学习方法 二、C语言程序开发的流程 三、安装C语言的编译器 四、C程序的基本结构 1、程序的注释 2、预处理指令 3、主函数的入口 4、主函数体 五、编译并执行 C 程序 六、知识总结 七、课后作业 八、版权声明 一、C语言基础知识的学习方法 1)我的课程内容是精心整理的,某些知识点可能没有提到应用场景,但绝对不会是没用的知识。课程中没有提到的知识可以了解一下,但不必深入学习,意义不大。 2)学习不要贪快,欲速则不达的道理大家应该明白,学习的重点是培养写程序的感觉。 3)不要记笔记,不要记关键字,不要记函数的参数,忘了就忘了,忘了是因为没有经过实战,所以,到了项目实战课程的时候,忘了内容很自然的会全部想起来。 4)不要用手机看视频,看着看着就想睡觉,学习的过程是边看边写,没有看出来的程序员。赵括,知道不?就是那个空读兵书不成器的家伙,只看书看视频不写程序,和赵括没什么不同。 5)程序员的指法很重要,翘着二郎腿,嘴里叨着烟,挥舞一指禅,一副吊儿郎当的样子,是成不了程序员的。 6)学习的过程中遇到的问题,如果三十分钟解决不了,不要纠缠,在群里向大家请教。但是,反对遇到问题不经思考就提问的方式。 7)开始学习C语言之前,必须先熟悉Linux环境,掌握Linux常用命令和vi的基本用法。 8)高手都是从菜鸟开始的,只要您按视频教程一步一个脚印的学习

C语言笔记(十七)——sizeof()、strlen()与str.length()

╄→尐↘猪︶ㄣ 提交于 2020-03-10 12:20:22
求数组长度: 1、sizeof()关键字: 根据sizeof ()关键字可以获得参数(数组、指针、 数据类型、对象或者函数 )在内存中 所占的字节数 ,所以数组所占总的字节数除以一个元素所占的字节数就是数组的长度。如下代码所示,数组 a 是 int 型的,每个元素占 4 字节,所以长度为 10 的数组在内存中所占的字节数就是 40。而总的字节数除以一个元素所占的字节数就是数组的长度,如下面这个程序: # include <stdio.h> int main() { int a[10] = {0, 3, 5, 6, 9}; int cnt = sizeof(a) / sizeof(int); printf("cnt = %d\n", cnt); return 0; } 运行结果: 注意1 :在 给出数组大小 后,sizeof 求 出的是 数组的总长度 ,而不是数组中存放的 有意义的数据 的个数 。 可以采用 不给数组大小 的方法来避免这个问题,比如下例中的数组b: # include <stdio.h> int main() { int a[10] = {0, 3, 5, 6, 9}; int b[] = {1,3,5,4}; int cnt = sizeof(a) / sizeof(int); int cnt1 = sizeof(b) / sizeof(int); printf(

C语言 malloc()、memcpy()、free()等

▼魔方 西西 提交于 2020-03-10 08:54:06
1、malloc()函数: void *malloc(unsigned int num_bytes); 头文件:#include <malloc.h> 或 #include <alloc.h> (注意:alloc.h 与 malloc.h 的内容是完全一致的。) 功能:分配长度为num_bytes字节的内存块 说明:如果分配成功则返回指向被分配内存的指针, 否则返回空指针NULL。 当内存不再使用时,应使用 free() 函数将内存块释放。 malloc 只管分配内存,并不能对所得的内存进行初始化,所以得到的一片新内存中,其值将是随机的,申请的内存是连续的 。 返回类型是 void* 类型。void* 表示未确定类型的指针。C,C++规定,void* 类型可以强制转换为任何其它类型的指针。 malloc 函数返回的是 void * 类型,C++:p = malloc (sizeof(int)); 则程序无法通过编译,报错:“不能将 void* 赋值给 int * 类型变量”。 所以必须通过 (int *) 来将强制转换 。 C是能通过编译,不会报错。 规范的程序: (检查返回值是否不是NULL,不检查若申请分配失败便造成 内存泄漏 ) type *p; if(NULL == (p = (type*)malloc(sizeof(type)))) /*请使用if来判断,这是有必要的*/

C语言_学习笔记_(三)判断与循环

吃可爱长大的小学妹 提交于 2020-03-10 05:58:04
一、判断 根据比较的结果,决定做、还是不做某些动作,就要用到if语句。 一个基本的if语句由一个关键字if开头,跟上在括号里的一个表示条件的逻辑表达式,然后是一对大括号“{}”之间的若干条语句。如果表示条件的逻辑表达式的结果为true,那么就执行后面跟着的这对大括号中的语句,否则就跳过这些语句不执行,而继续下面的其他语句。 计算机的智能是建筑在规则的基础上的,在遇到情况的时候,根据事先制定的规则做出判断,是计算机最基本的能力。 能做判断的基础,是能对数据做比较,比较就是关于两个数据是否相等、谁大谁小的结论,这需要用到关系运算:对两个数据之间的关系的计算。 C语言提供了六个关系运算符: 相等== 不相等!= 大于> 大于等于>= 小于< 小于等于<= 注意其中有两个字符的运算符:==、>=和<=的两个字符必须紧紧连在一起,中间不能插入空格。 关系运算的结果是一个逻辑值,逻辑值只有两种可能的值:true(真,表示成立)或false(假,表示不成立)。当两个值的关系符合关系运算符的预期时,关系运算的结果为true,否则为false。 所有的关系运算符的优先级比算术运算的低,但是比赋值运算的高。 判断是否相等的==和!=的优先级比其他的低,而连续的关系运算是从左到右进行的。 二、循环 if语句可以判断条件是否满足,满足时才做相应的动作,而循环语句可以在满足条件时,不断地重复执行一些动作。

C语言的数据类型小结

给你一囗甜甜゛ 提交于 2020-03-09 08:05:17
才疏学浅,下面的结论摘自《C+Primer+Plus+第6版》【美】Stephen Prata著 C 有多种的数据类型。 基本数据类型分为两大类:整数类型和浮点数类 型 。通过为类型分配的储存量以及是有符号还是无符号,区分不同的整数类 型。 最小的整数类型是char ,因实现不同,可以是有符号的char或无符号的 char,即unsigned char或signed char。但是,通常用char类型表示小整数时才 这样显示说明。其他整数类型有short、int、long和long long类型。C规定,后 面的类型不能小于前面的类型。上述都是有符号类型,但也可以使用 unsigned关键字创建相应的无符号类型:unsigned short、unsigned int、 unsigned long和unsigned long long。或者,在类型名前加上signed修饰符显式 表明该类型是有符号类型。最后,_Bool类型是一种无符号类型,可储存0或 1,分别代表false和true。 浮点类型有3种:float、double和C90新增的long double。后面的类型应 大于或等于前面的类型。有些实现可选择支持复数类型和虚数类型,通过关 键字_Complex和_Imaginary与浮点类型的关键字组合(如,double _Complex 类型和float

C语言_学习笔记_(二)计算

荒凉一梦 提交于 2020-03-08 18:04:47
一、变量 变量是一个保存数据的地方,用一个变量保存了数据,它才能参加到后面的计算中。 1.变量的定义 <类型名称><变量名称> int price; int amount; int price,amount; 2.变量的名字 变量需要一个名字,变量的名字是一种“标识符”,它是用来识别这个和那个的不同的名字。 标识符有标识符的构造规则。基本的原则是:标识符只能由字母、数字和下划线组成,数字不可以出现在第一个位置上,C语言的关键字(保留字)不可以用做标识符。 C语言的保留字:auto,break,case,char,const,continue,default,do,double,else,enum,extern,float,for,if,in,long,return,short,signed等等 3.赋值和初始化 赋值: 和数学不同,a=b在数学中表示关系,即a和b的值一样;而在程序设计中,a=b表示要求计算机做一个动作:将b的值赋给a。 关系是静态的,而动作是动态的。在数学中,a=b和b=a是等价的,而在程序设计中,两者的意思完全相反。 初始化: 当赋值发生在定义变量的时候,就是变量的初始化。 int price = 0; 所有的变量在第一次被使用之前都应该被赋值一次。 4.变量类型 C语言是一种有类型的语言,所有变量在使用之前必须定义或声明,所有的变量必须具有确定的数据类型。