c语言

算法之排序(上)-c语言实现

此生再无相见时 提交于 2020-02-05 02:29:15
文章来源:http://blog.seclibs.com/算法之排序(上)-c语言实现/ 在上一篇文章中,我们说了时间复杂度为 O(n2)的几个排序算法,冒泡排序、插入排序、选择排序,在理解上和实现上都没有太难的地方,这里在实现的时候,没有再自己实现数组或链表,而是使用了c语言自带的数组进行实现的,代码中没有太难理解的地方,就直接上代码了 如果需要下载代码,请移步文末 代码: GitHub 文章首发公众号和个人博客 公众号:无心的梦呓(wuxinmengyi) 博客:http://blog.seclibs.com/ 来源: CSDN 作者: Vesel『无心』 链接: https://blog.csdn.net/qq_18501087/article/details/104174076

C语言寒假大作战01

孤人 提交于 2020-02-05 00:54:29
这个作业属于哪个课程 C语言程序设计 这个作业要求在哪里 作业要求 这个作业的目标 了解码云,学习基础的git指令在遇到问题时学会去找解决方法。 参考文献 学长录制的git基础操作视频 1.1码云界面 注意: (1)请大家在码云gitee中注册账号,并在gitee中新建一个学号为名的项目仓库 (2)提交如下图所示的码云注册成功界面。 (3)请提交如下图的提交界面,并确保提交信息处填写自己的学号信息,例如图片中“初始化提交”处应显示你的学号(ps:应在Git Bash的提交处编写,命令:git commit -m "你的学号" ) 1.2 GIT界面 注意:请大家给出如下图所示的使用git命令的界面,请务必保证提交的图片有自己的学号,例如:git commit -m "你的学号" 1.3本地仓库截图 本地仓库请用自己的学号命名 1.4学习命令 git add git init git status git commit -m "" 1.5主页地址 zhourong2508 来源: https://www.cnblogs.com/zhourong2508/p/12262189.html

Java与C语言的区别

点点圈 提交于 2020-02-04 21:17:39
Java与c都属于计算机的高级编程语言,都是为了方便人去编写出来东西控制计算机; 不同的是,Java是一种面向对象的语言,c是一门面向过程的语言,打个比方来说,你要给你朋友寄快递,Java的做法是找家快递公司,把快递交给快递公司,告诉快递公司需要送到你朋友所在地中你朋友手里,然后快递公司接到快递之后,会帮我们把快递送到目的地的你朋友的手中,这样我们就完成了我们的操作,这里面的快递公司就相当于一个对象;而对于面向过程的编程语言来说,由于没有对象的概念,所以他需要自己想办法走到你朋友所在的地方,找到朋友,然后将快递交给你朋友;这样相比较,Java会简洁方便很多。 其次对于不同的平台来说,Java只需要编译一次,就可以在不同的平台上面运行,对于c来说,如果在window上面编译生成的文件只能在window上运行,如果想要在Linux系统下运行,需要重新在Linux下面进行编译,原因是由于Java有自己的一套虚拟机体制,Java编译完成之后,会生成class文件,然后将生成的文件移到不同的平台时,Java虚拟机会帮助我们将class文件翻译成计算机所能识别的信息,这样就可以在不同平台运行了,打个比方来说就是我们要和不同国家的人聊天,Java的做法相当于找了一个厉害的翻译,我们说的话他都可以根据不同的国家翻译给不同的人听,而c的话相当于请了多个只会我们的语言和其他另一门语言的人

C语言之指针理解篇----防备忘

梦想与她 提交于 2020-02-04 21:16:06
C语言之指针理解篇----防备忘 指针这个东西,ε=(´ο`*)))唉! 指针变量是占用存储空间的。 int *a;这个东西是占用内存空间的,至于占用多少,自己去用sizeof去算。 定义个指针变量之后,它必须先指向一个地址,才能往它指向的地址里放数值。 还有下面这个东西: void fun ( int * a , int * b ) { a = b ; } int main ( ) { int * a = NULL ; int b = 10 ; fun ( a , & b ) ; printf ( "%d \n" , a ) ; //输出为0,也就是仍然指向NULL } 这里我一直以为,a这个指针变量就成了b所在的地址呢,原来不是! 进入这个fun这个函数,相对于指针变量来说,仍然是【传值调用】,所以a不会变。 void fun ( int a , int b ) { a = b ; } int main ( ) { int a = 1 ; int b = 10 ; fun ( a , b ) ; printf ( "%d \n" , a ) ; //结果仍为1,不为10 } 这个两段代码,其实都是一个道理。请谨记! 来源: CSDN 作者: 秋山刀名鱼丶 链接: https://blog.csdn.net/qq_26039331/article/details

c语言的格式输出控制符

南笙酒味 提交于 2020-02-04 20:54:00
http://c.biancheng.net/view/159.html %d 按十进制整型数据的实际长度输出。 %ld 输出长整型数据。 %md m 为指定的输出字段的宽度。如果数据的位数小于 m,则左端补以空格,若大于 m,则按实际位数输出。 %u 输出无符号整型(unsigned)。输出无符号整型时也可以用 %d,这时是将无符号转换成有符号数,然后输出。但编程的时候最好不要这么写,因为这样要进行一次转换,使 CPU 多做一次无用功。 %c 用来输出一个字符。 %f 用来输出实数,包括单精度和双精度,以小数形式输出。不指定字段宽度,由系统自动指定,整数部分全部输出,小数部分输出 6 位,超过 6 位的四舍五入。 %.mf 输出实数时小数点后保留 m 位,注意 m 前面有个点。 %o 以八进制整数形式输出,这个就用得很少了,了解一下就行了。 %s 用来输出字符串。用 %s 输出字符串同前面直接输出字符串是一样的。但是此时要先定义字符数组或字符指针存储或指向字符串,这个稍后再讲。 %x(或 %X 或 %#x 或 %#X) 以十六进制形式输出整数,这个很重要。 %g用来输出实数,它根据数值的大小,自动选f格式或e格式(选择输出时占宽度较小的一种),且不输出无意义的0。即%g是根据结果自动选择科学记数法还是一般的小数记数法 printf("%g\n", 0.00001234);

HDU 2037 今年暑假不AC(C语言)

此生再无相见时 提交于 2020-02-04 20:49:30
“今年暑假不AC?” “是的。” “那你干什么呢?” “看世界杯呀,笨蛋!” “@#$%^&*%…” 确实如此,世界杯来了,球迷的节日也来了,估计很多ACMer也会抛开电脑,奔向电视了。 作为球迷,一定想看尽量多的完整的比赛,当然,作为新时代的好青年,你一定还会看一些其它的节目,比如新闻联播(永远不要忘记关心国家大事)、非常6+7、超级女生,以及王小丫的《开心辞典》等等,假设你已经知道了所有你喜欢看的电视节目的转播时间表,你会合理安排吗?(目标是能看尽量多的完整节目) Input 输入数据包含多个测试实例,每个测试实例的第一行只有一个整数n(n<=100),表示你喜欢看的节目的总数,然后是n行数据,每行包括两个数据Ti_s,Ti_e (1<=i<=n),分别表示第i个节目的开始和结束时间,为了简化问题,每个时间都用一个正整数表示。n=0表示输入结束,不做处理。 Output 对于每个测试实例,输出能完整看到的电视节目的个数,每个测试实例的输出占一行。 Sample Input 12 1 3 3 4 0 7 3 8 15 19 15 20 10 15 8 18 6 12 5 10 4 14 2 9 0 Sample Output 5 思路:是一道贪心题,先按照节目的结束时间将时间段排序,最后保证开始时间大于等于上一个节目的结束时间。 # include <stdio.h> int

c语言变量名和地址的关系

假如想象 提交于 2020-02-04 20:01:35
在汇编编译器编译时直接将变量名转换成内存地址,变量名并不占内存空间 在编译的时候编译器会把程序中出现的所有变量名都换成相对内存地址,变量名不占内存 变量名不占空间 变量:用来标识(identify)一块内存区域,这块区域的值一般是可以更改的,这就是它“变”的由来,但是我们可以通过使用如const等一些修饰符号来限定这一内存区域的 操作特性 (characteristic),即 变量的操作特性 。用const修饰的使变量不能更改的就和常量一样的变量叫做常变量。 变量名:是一个标识符(identifier),用来指代一块内存区域,即变量,使用变量使我们操作内存以区域(area),以块(block)为单位,提高了方便性。 你的机器代码中,是不会出现变量名的;变量名是给我们程序员操作内存来使用的。 想想在汇编年代,没有变量名,我们操作内存,都是用地址来直接操作的,还要控制区域大小;当然汇编语言已经有了简单的变量。 对于编译器,它会搜集我们的变量名,比如我们定义了一个全局的int a;那么编译器都为我们做了什么呢? 它会为程序预留4个字节的空间(假设在32位平台),并把我们的变量名“a”保存进符号表,并用这个符号表的索引对应实际的空间。 如果下面出现b = a;那么它就会根据符号表找到变量的真正的物理位置,取得它的值,赋给b。 这是写编译器需要做的,我们需要建立符号表。 但是实际在汇编层次上

iOS Swift的一些小知识(不断补充)

半城伤御伤魂 提交于 2020-02-04 19:32:38
1 . 在swift文件里是不能写c语言函数的,不兼容c,直接报错。想调用c语言函数,就要利用系统提供的桥接功能,就如同swfit中调用oc一样! 2 .swift 2.0后提供了@convention(c) 用来把 swift的闭包函数转化成c语言指针。下面这种情况就会用到这个特性, 我们在c语言文件里,定义了一个函数: CGFloat myCFunction(CGFloat (callback)(CGFloat x, CGFloat y)) { return callback(1.1, 2.2); } 这里的callback函数是一个c语言函数指针,我们在swift里可以这样使用: let swiftCallback : @convention(c) (CGFloat, CGFloat) -> CGFloat = { (x, y) -> CGFloat in return x + y } let result = myCFunction( swiftCallback ) 也有如下的简化的方法: let result = myCFunction( { (x, y) -> CGFloat in return x + y } ) 3. 如何在老的oc项目中,引入swift代码内容 http://jrjian.github.io/2016/03/10/embed-swift-to-oc

C语言寒假大作战02

回眸只為那壹抹淺笑 提交于 2020-02-04 19:08:49
这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/CST2019-3 这个作业要求在那里 https://edu.cnblogs.com/campus/zswxy/CST2019-3/homework/10260 这个作业的目标 学会使用函数、Switch语句来完成菜单程序 1.设计思路和遇到的问题 思路: 对于编写程序来开发一个项目而言,如何用已知条件来设计是至关重要的;首先,明确题目内容和要求,一年级、二年级、三年级的题目各自对应一个函数,帮助信息、操作列表、错误(error)分别又对应一个函数,符合题目要求;其次,根据实际需要引用switch语句,充分利用case+语句+break的优势,对于那些“你需要输入命令代号来进行操作”等语句直接在相对应的函数内使用printf语句进行输出。 问题: 怎样调用六个函数?他们之间是否存在先后关系?如何用while和switch语句编写程序? 2.程序结果截图 3.程序代码 4.你对“设计”一词的理解 设计是对开发某一项目或程序使其美观而具备的能力,设计要具有创新特色才能使软件的开发别具一格。设计来源于生活,并运用于生活;所谓设计,就是通过创造与交流来认识我们生活在其中的世界,好的认识和发现,会让我们感到喜悦。 5.Gitee上传截图与链接 来源: https://www.cnblogs