c语言

大体了解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语言文件读写命令

折月煮酒 提交于 2020-03-22 03:11:10
C语言把磁盘文件看成是字符(或字节)的序列,按照存储信息的形式来说,文件主要是有文本文件和二进制文件。文本文件由一个个字符组成,每个字节存放一个ASCII码制,代表一个字符。二进制文件把内存中的数据按其在内存中的存储形式原样放入磁盘空间。 二进制文件以及文本文件都可以看做是“数据流”。 流文件的特点是,处理时不需考虑文件中的数据的性质、类型和存放格式。访问时只是以字节为单位对数据进行存取,没有记录的概念,而将对数据结构的分析、处理等工作都交给后续程序区处理。系统会自动为这在使用的每个文件开辟一个缓存区,从内存向磁盘输出数据必须先送到内存中的缓存区,装满缓存后才一起送到磁盘。 一、文件的打开与关闭 文件在进行读写操作之前要先打开,使用完毕要关闭。所谓打开文件,实际上是建立文件的各种有关信息,并使文件指针指向该文件,以便进行其它操作。关闭文件则断开指针与文件之间的联系,也就禁止再对该文件进行操作。 fopen函数用来打开一个文件,其调用的一般形式为: 文件指针名=fopen(文件名,使用文件方式); 其中: “文件指针名”必须是被说明为FILE 类型的指针变量; “文件名”是被打开文件的文件名; “使用文件方式”是指文件的类型和操作要求。 “文件名”是字符串常量或字符串数组。 使用文件的方式共有12种,下面给出了它们的符号和意义。 “r” 只读打开一个文本文件,只允许读数据 “w”

Java语言与C语言混合编程(1)--Java native 关键字

a 夏天 提交于 2020-03-21 21:50:44
一. 什么是 native Method   简单地讲,一个 native Method 就是一个java调用非java代码的接口。一个 native Method 是这样一个java的方法:该方法的实现由非java语言实现,比如C。这个特征并非java所特有,很多其它的编程语言都有这一机制,比如在C++中,你可以用extern "C"告知C++编译器去调用一个C的函数。   "A native method is a Java method whose implementation is provided by non-java code."   在定义一个 native Method 时,并不提供实现体(有些像定义一个java interface ),因为其实现体是由非java语言在外面实现的(通常是C或C++等)。例如: 1 package java.lang; 2 3 public class Object { 4 ...... 5 public final native Class<?> getClass(); 6 public native int hashCode(); 7 protected native Object clone() throws CloneNotSupportedException; 8 public final native void

个人项目 wc(C语言)

自作多情 提交于 2020-03-21 20:13:05
github地址:https://github.com/Spartaright/wc 一、题目描述 实现一个简单而完整的软件工具(源程序特征统计程序)。 进行单元测试、回归测试、效能测试,在实现上述程序的过程中使用相关的工具。 进行个人软件过程(PSP)的实践,逐步记录自己在每个软件工程环节花费的时间。 wc.exe 是一个常见的工具,它能统计文本文件的字符数、单词数和行数。这个项目要求写一个命令行程序,模仿已有wc.exe 的功能,并加以扩充,给出某程序设计语言源文件的字符数、单词数和行数。 实现一个统计程序,它能正确统计程序文件中的字符数、单词数、行数,以及还具备其他扩展功能,并能够快速地处理多个文件。 具体功能要求:程序处理用户需求的模式为:wc.exe [parameter] [file_name] 二、解题思路 统计字符数,行数的实现不算困难,只需要在意空格、换行符之类的操作即可;重点在于如何实现统计单词数的算法,参考C语言的教科书就可以解决。对于我来说,比较困难的是对文件的操作,因为之前从来没试过,对于如何读取文件的信息还是比较陌生的。因此在着手准备前针对性地学习了fopen、fclose,fgerc之类必要函数的算法。由于到目前为止大多数时间都是使用C语言,再加上C语言偏底层的特性,对文件操作比较方便,所以这次的个人项目用C来实现。 三、代码 1、字符数统计 int

c语言学习的第12天

∥☆過路亽.° 提交于 2020-03-21 19:26:22
#include <stdio.h> int main(void) { int *p; int i=5; char ch='A'; p=&i; *p=99; printf("i=%d,*p=%d\n",i,*p); } p=&i ,这样变量 p 就保存了变量 i 的地址, *p=99 将 99 赋值给 *p ,又因为 *p 等价于变量 i ,因此变量 i 的值也变成 99 了 #include <stdio.h> void swap(int i,int j) { int t; t=i; i=j; j=t; } int main(void) { int a=3; int b=5; swap(a,b); printf("a=%d,b=%d\n",a,b); return 0; } a 和 b 的值并没有互换,因为当 swap 函数执行完成后, a 和 b 的内存空间自动被收回了,因此最后打印的 a 和 b 的值为主函数中 a , b 定义的值 #include <stdio.h> void swap(int *i,int *j) { int t; t=*i; *i=*j; *j=t; } int main(void) { int a=3; int b=5; swap(&a,&b); printf("a=%d,b=%d\n",a,b); return 0; } 向 swap

转:电子技术经典资料汇总:C语言篇(请优先阅读原文)

牧云@^-^@ 提交于 2020-03-21 15:33:22
3 月,跳不动了?>>> 2018-5-24 入门&经典 : 资料:笨办法学C语言 (完整翻译版) https://forum.mianbaoban.cn/topic/762_1_1.html C语言学习集中帖 https://forum.mianbaoban.cn/topic/62296_1_1.html C程序设计 第四版 谭浩强著 https://forum.mianbaoban.cn/topic/11920_1_1.html C陷阱与缺陷 https://forum.mianbaoban.cn/topic/46015_1_1.html C语言进阶 https://forum.mianbaoban.cn/topic/62295_1_1.html 从C到嵌入式C编程语言:入门·实用·深入 https://forum.mianbaoban.cn/topic/62890_1_1.html Learn to Program with C https://forum.mianbaoban.cn/topic/46021_1_1.html C语言深度解剖 https://forum.mianbaoban.cn/topic/60778_1_1.html C语言流程图自动生成工具 https://forum.mianbaoban.cn/topic/63395_1_1.html 资料集

5.20 c语言的第三节课

爱⌒轻易说出口 提交于 2020-03-21 12:58:57
这个是讲课之后才写的感想今天将的框架 1、今天仔细讲解了scanf的使用,格式控制的加字符和加逗号的区别。地址符一定要加上&。再输出字符的时候要严格的按照格式写,空格就算是一个字符。 2、再输入数值的时候,如果输入的是非法字符,代表的是这个输入的结束。 3、printf的使用,构成是格式控制和输出列表,注意和scanf的区别,加上的是变量名,而不是地址符。而scanf是地址符而不是变量名。 4、%m.nf代表的是占m列,包括小数点,精确到n位。 5、用程序举例说明%20.15f。 随想: 感觉今天上课比之前自信,但还是有点卡壳,但是敢大声说话了。等我把基础学号了,我就再练习说话的技巧。 来源: https://www.cnblogs.com/serious123/p/10896982.html

C语言博客作业05--指针

纵然是瞬间 提交于 2020-03-21 08:20:00
1.本章学习总结 1.1 思维导图 1.2 本章学习体会及代码量学习体会 1.2.1 学习体会 老师这次没布置课堂派预先作业就直接开讲,感觉上课听的不是很懂。 1.2.2 代码累计 2.PTA总分 2.1PTA中函数题目集的排名得分 2.2 我的总分 125分 3.PTA实验作业 3.1 PTA题目1 字符串的冒泡排序 3.1.1 算法分析 输入n, k \n 定义二维数组a和临时数组temp for i=0 to n do gets(a[i]) end for for i=1 to k do for j=1 to <n do if a[j-1]>a[j] then temp=a[j] a[j]=a[j-1] a[j-1]=temp end if end for end for for i=0 to <n-1 do 输出a[i] 换行 end for 输出a[n-1] 3.1.2 代码截图 3.1.3 PTA提交列表及说明 Q1:temp=a[j]编译错误 A1:字符串复制要用strcpy,不能直接用等号。 Q2:输入数组时最后一个字符串无法输入 A2:输入时在scanf里加一个回车,不然gets会得到一个回车,转为\0存入第一个字符串中。 来源: https://www.cnblogs.com/p123/p/10125206.html

值得推荐的C/C++开源框架和库

旧巷老猫 提交于 2020-03-21 07:32:36
原文链接: http://coolshell.info/c/c++/2014/12/13/c-open-project.htm 留档备查,非常强大的C/C++开源项目总结文档~ 值得学习的C语言开源项目 - 1. Webbench Linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL, 测试 网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用 C语言 编写, 代码实在太简洁,源码加起来不到600行。 http://home.tiscali.cz/~cz210552/webbench.html - 2. Tinyhttpd 下载链接: http://sourceforge.net/projects/tinyhttpd/ - 3. cJSON cJSON也存在几个弱点,虽然功能不是非常强大,但cJSON的小身板和速度是最值得赞赏的。其代码被非常好地维护着,结构也简单易懂,可以作为一个非常好的C语言项目进行学习。 http://sourceforge.net/projects/cjson/ - 4. CMockery 主要特点: 免费且开源,google提供技术支持; 轻量级的框架,使测试更加快速简单; 避免使用复杂的编译器特性,对老版本的编译器来讲,兼容性好; 并不强制要求待测代码必须依赖C99标准

C/C++ 与 Python 的通信

爱⌒轻易说出口 提交于 2020-03-21 07:17:41
作者:Jerry Jho 链接:https://www.zhihu.com/question/23003213/answer/56121859 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 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。 你也可以在自己的程序中调用Python,看起来非常容易: //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