自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 c语言实现冒泡排序(Bubble sort)

冒泡排序的原理:比较两个相邻的元素。如果第一个比第二个大就交换他们两个(升序举例)。对每一对相邻元素做同样的工作,从开始第一对到结尾最后一对。最后的元素应该会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。例如给出一组无序数字: 3 6 4 2 11 10 5 ;要求从小到大排序。它冒泡比...

2018-11-13 23:26:04 604

原创 typedef 和 typename 区别

typedef关键字用法:在C/C++语言中,typedef常用来定义一个标识符及关键字的别名,它是语言编译过程的一部分,但它并不实际分配内存空间,实例像:typedef    int       INT;typedef    int       ARRAY[10];typedef   (int*)   pINT;typedef可以增强程序的可读性,以及标识符的灵活性,但它也有“非直观...

2018-11-13 22:29:39 1791

原创 死锁的概念与产生原因

死锁:是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在相互等待的过程称为死锁进程。产生死锁的原因: (1)竞争资源引起进程死锁 当系统中供多个进程共享的资源,其数目不足以满足各进程的需要时,会引起进程间对资源的...

2018-10-03 22:48:55 504

原创 围圈报数游戏(C程序设计第四版第八章第5题)

题目描述:有n个人围成一圈,顺序排号,从第一个人开始报数,从1到3报数,凡报到3的人退出圈子,问最后留下来的幸运者是原来的几号。#include<stdio.h>#include<stdlib.h>#include<assert.h>#include<math.h>#define DANGER_NUM 3int CyclicGame(...

2018-10-03 22:10:54 783

原创 Linux下的软链接和硬链接基本知识

(1)创建软链接: ln -s 源文件的路径+链接文件名          例如:ln -s main.c link.c          软链接也就是符号链接,相当于windows上的快捷方式。          特点:① 通过链接文件可以访问修改源文件的内容。                     ② 如果删除或者移动源文件,则软链接失效。                ...

2018-09-23 22:11:39 132

原创 重写、重载、重定义三者的概念

(1)重写(override):重写也可以看做覆盖,子类重新定义父类中具有相同名称和参数的虚函数,函数特征相同,但函数的具体实现不同,它主要在继承关系中出现。被重写的函数不能是static的,但必须是virtual的。(2)重载(overload):重载是函数名相同,参数列表不同,重载只是在类的内部存在,但是不能返回类型来判断。(3)重定义:重定义也叫作隐藏,子类重新定义父类中具有的相同名...

2018-09-23 21:37:36 4347

原创 C语言实现杨辉三角/帕斯卡三角形

杨辉三角的基本规律是:每行端点和结尾的数是1;每个数等于它上方两数之和;每行数字左右对称,由1开始增大;第n行的数字有n项;如下图所示:按照蓝色线的规律,代码实现如下:按照红色线的规律,代码实现如下:源代码:#include<stdio.h>#include<string.h>#include<assert.h>#define SIZE 10void Pasca...

2018-06-04 12:40:40 1115

原创 C语言实现宽数据类型与窄数据类型之间的转换

宽数据类型和窄数据类型之间的转换首先,从一张图看看各个数据类型之间的大小,从上往下依次是数据类型从宽往窄。1、将窄的数据类型转换为宽的数据类型窄的数据类型默认转宽的数据类型同类型的数据无符号比有符号宽例如:int 和unsigned int比较,unsigned int的数据类型宽上面程序中,a和-1进行比较就是unsigned int 型和int型进行比较,无符号的unsigned int ...

2018-05-21 22:04:55 5552

原创 交换a,b值的三种方法

给定两个数a=10,b=20交换a与b的值的三种方法 1、首先第一种是我们最容易想到的,定义一个空tmp,用其交换,在三个数按从小到大(或从大到小)排序输出时曾用到过2、第二种方法,用加减法来交换a,b,是比较好的方法3、第三种方法是使用指针(传指针,解引用)进行交换,交换的是a,b的地址交换前a,b的地址交换后a,b的地址下面为第三种方法的源代码利用以上三种方法都能成功交换a,b的值...

2018-05-21 21:54:14 42557

原创 运算符、数据类型的基础知识

运算符||逻辑或,两个表达式只有与一个为真就为真,如果表达式1为真,则表达式2不计算~ 按位取反二进制: 11   00001011        ~11   11110100位运算符         11   00001011     13   00001101    11&13  00001001     & 按位与,相同位都为1才为1,其他为0    11|13  000...

2018-05-21 21:37:50 118

原创 C语言中字符数组基础知识

用来存放数据的数组是字符数组。1.传递数组,不仅需要传递数组名,还需要传递数组长度。chararr[10]={'a','b','c'};//后面几个为'\0',是字符串2.以" "引起来的内容称为字符串,字符串一定以'\0'结尾,只有用'\0'结尾的字符才能称为字符串。chararr[]={'a','b','c'};//不是字符串charbrr[]={"abc"};//合法char...

2018-05-19 22:33:57 240

原创 C语言中数组基础知识

在C程序中常根据需要来定义数组。数组是有序数据的集合。数组中的每一个元素都属于同一个数据类型。用一个统一的数组名和下标来确定数组中的元素。并且经常用循环对数组中的元素进行操作,可以有效的处理大批量的数据,大大提高了工作效率,是十分方便的。1、一维数组的定义int arr[10];//表示定义一个长度为10的整型数组;int brr[3]={1,2,3};//数组类似集合,后面的初始化需要使...

2018-05-19 22:15:37 824 1

原创 C语言中深拷贝和浅拷贝

1、浅拷贝指的是多个指针指向同一段内存;比如字符串常量,字符串常量在一个工程中,不管定义多少次,在内存只有一份,它属于浅拷贝。下面就举一个浅拷贝的例子:定义一个数组buf,从键盘输入三个字符串,并将其拷贝到数组arr中。它输出的是三个第三次输入的,而没有输出前两次输入的,分析一下原因其中的buf相当于一个公用的地方,第二次输入时第一次输入的已经结束了,第三次输入时第二次输入的已经结束了,所以输出时...

2018-03-30 22:09:01 1053

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除