- 博客(55)
- 收藏
- 关注
原创 c到c++的拓展2
#include <iostream> using namespace std; // 1、函数的默认参数: // 允许形参带一个默认的值,当函数调用的时候没给形参传值,使用默认的值 int add(int a, int b = 10) { return a+b; } // 注意: // 1、如果函数有一个参数有默认值,则该参数右边的所有参数都要有默认值 void fu...
2019-01-23 20:08:52
234
原创 c到c++的拓展
#include <iostream> using namespace std; int main1() { register int a = 10; // 如果对一个寄存器变量进行 & 操作 // 则变量将不在是一个寄存器变量,而是普通变量 printf ("&a = %p\n", &a); return 0;...
2019-01-23 20:07:49
311
原创 标准输入输出
// C++ 的标准输入输出头文件 input output stream #include <iostream> using namespace std; // 标准输出 int main1() { // cout 类似于 printf, 作用是往屏幕打印数据 // 区别:cout 是个变量 printf 是个函数 // << : 左移...
2019-01-23 20:05:27
273
原创 命名空间的使用
#include <stdio.h> #include <cstdio> // 命名空间的定义:定义一块命名空间,名字叫 NameA namespace NameA { // 原来全局空间可以做的事情,命名空间都可以做:定义变量、函数、宏、结构体、枚举.... int g_a; int g_b; int add(int a, int ...
2019-01-20 23:18:28
190
原创 共用体判断大小端模式
使用共用体判断大小端模式: 如果我们将0x1234abcd 写入到以0x0000 开始的内存中,则Little endian和Big endian 模式的存放结果如下: 大端模式:字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中。 小端模式:字数据的高字节存储在高地址中,而字数据的低字节则存放在低地址中。 // 如果是小端模式,返回ture,否则返...
2019-01-05 00:05:37
969
原创 关键字——static
在局部静态变量前面加上关键字static,该局部变量便成了静态局部变量。静态局部变量有以下特点: (1)该变量在全局数据区分配内存 (2)如果不显示初始化,那么将被隐式初始化为0 (3)它始终驻留在全局数据区,直到程序运行结束 (4)其作用域为局部作用域,当定义它的函数或语句块结束时,其作用域随之结束。 在全局变量前面加上关键字static,该全局变量变成了全局静态变量。 全局静...
2019-01-03 23:21:47
156
原创 关键字 const
const用来定义只读变量,具有不可变性。 const int * p; // p可变,p指向的对象不可变 int const * p; // p可变,p指向的对象不可变 int * const p; // p不可变,p指向的对象可变 const int * const p; // 指针p和p指向的对...
2019-01-02 23:07:38
158
原创 堆和栈的区别
1、管理方式不同 栈编译器自动管理,无需程序员手工控制;而堆空间的申请释放工作由程序员控制,容易产生内存泄漏。 2、空间大小不同 栈是向低地址扩展的数据结构,是一块连续的内存区域。这句话的意思是栈顶的地址和栈的最大容量是系统预先规定好的,当申请的空间超过栈的剩余空间时,将提示溢出。因此,用户能从栈获得的空间较小。 堆是向高地址扩展的数据结构,是不连续的内存区域。因为系统是用...
2018-12-28 21:59:40
291
1
原创 指针注意事项
指针(Pointer)就是内存的地址,C语言允许用一个变量来存放指针,这种变量称为指针变量。指针变量可以存放基本类型数据的地址,也可以存放数组、函数以及其他指针变量的地址。 程序在运行过程中需要的是数据和指令的地址,变量名、函数名、字符串名和数组名在本质上是一样的,它们都是地址的助记符:在编写代码的过程中,我们认为变量名表示的是数据本身,而函数名、字符串名和数组名表示的是代码块或...
2018-12-27 20:34:30
377
原创 快速排序
#include <stdio.h> void mySwap(int *a, int i, int j) { int tmp = a[i]; a[i] = a[j]; a[j] = tmp; } void myPrint(int *a, int len) { int i; for (i = 0; i < len; i++) { ...
2018-12-27 09:49:10
140
原创 归并排序
#include <stdio.h> void mySwap(int *a, int i, int j) { int tmp = a[i]; a[i] = a[j]; a[j] = tmp; } void myPrint(int *a, int len) { int i; for (i = 0; i < len; i++) { ...
2018-12-25 23:07:15
172
原创 堆排序
#include <stdio.h> void mySwap(int *a, int i, int j) { int tmp = a[i]; a[i] = a[j]; a[j] = tmp; } void myPrint(int *a, int len) { int i; for (i = 0; i < len; i++) { ...
2018-12-24 20:51:30
124
原创 希尔排序
#include <stdio.h> void mySwap(int *a, int i, int j) { int tmp = a[i]; a[i] = a[j]; a[j] = tmp; } void myPrint(int *a, int len) { int i; for (i = 0; i < len; i++) { ...
2018-12-24 00:01:29
171
原创 二分插入排序
#include <stdio.h> void mySwap(int *a, int i, int j) { int tmp = a[i]; a[i] = a[j]; a[j] = tmp; } void myPrint(int *a, int len) { int i; for (i = 0; i < len; i++) { ...
2018-12-22 23:06:12
504
原创 插入排序
#include <stdio.h> void mySwap(int *a, int i, int j) { int tmp = a[i]; a[i] = a[j]; a[j] = tmp; } void myPrint(int *a, int len) { int i; for (i = 0; i < len; i++) { ...
2018-12-22 00:00:52
129
原创 选择排序
#include <stdio.h> void mySwap(int *a, int i, int j) { int tmp = a[i]; a[i] = a[j]; a[j] = tmp; } void myPrint(int *a, int len) { int i; for (i = 0; i < len; i++) { ...
2018-12-20 09:11:27
345
1
原创 冒泡排序改进-鸡尾酒排序
#include <stdio.h> void mySwap(int *a, int i, int j) { int tmp = a[i]; a[i] = a[j]; a[j] = tmp; } void mySort(int *a, int len) { int i, j; for (i=0; i < len-1; i++) // 将最大元素沉底...
2018-12-19 20:52:32
178
原创 冒泡排序
#include <stdio.h> void mySwap(int *a, int i, int j) { int tmp = a[i]; a[i] = a[j]; a[j] = tmp; } void myPrint(int *a, int len) { int i; for (i = 0; i < len; i++) { printf ("%4d", ...
2018-12-19 20:51:27
161
原创 Vim
文件编辑 1、图形界面的编辑器: gedit 2、终端文件编辑: vi ----> vim (vi加强版) 一、命令行模式 1、跳转 G 跳到最后一行 gg 回到第一行 nG 跳到第 n 行 n+方向键 移动...
2018-12-17 23:08:45
203
原创 文件相关操作命令
1、创建文件: touch 文件 mkdir 文件夹 2、文件删除(rm删除的文件很难恢复) rm 文件名 (删除文件会有提示) rm -f 文件名 (强制删除文件不提示) rm -r 目录(文件夹)(删除文件夹会有提示) rm -rf 目录(文件夹)(删除文件夹不提示) ...
2018-12-16 22:04:38
236
原创 文件的类型和权限
1、文件的类型 查看文件详细信息的是,第一个字符代表的是文件的类型: 小数点: 代表普通文件 d : 代表文件夹(目录) l : 链接文件 c : 字符设备文件 b : 块设备文件 2、文件的权限 类型后面的9个字符代表文件的权限 文件的权限: 可读、可写、可执行 r ...
2018-12-15 23:52:02
1297
原创 停车场管理系统
public.h #ifndef _PUBLIC_H_ #define _PUBLIC_H_ #include <time.h> typedef struct _Data { int park_place;//车位号 int park_num;//停车号 int plate_num;//车牌号 time_t start;//1900年到现在的秒数 }Data; type...
2018-12-14 23:35:25
410
原创 计算器
main.c #include <stdio.h> #include "stack.h" #include <string.h> // 判断是否入栈 BOOL jud(Stack *s, int ope) { if(Empty(s)) return TRUE; int top = GetTop(s); switch(top) { case '+...
2018-12-13 22:09:09
159
原创 单链表实现通讯录
main.c #include <stdio.h> #include "AddressList.h" int main() { menu(); return 0; } AddressList.c #include <stdlib.h> #include "AddressList.h" #include <stdio.h> int g_id...
2018-12-13 09:16:35
498
原创 C语言编程注意事项3.0
常见的内存错误及对策 1、结构体成员指针未初始化 struct student { char *name; int score; }stu, *pstu; int main1() { //stu.name =(char *)malloc(sizeof(char)) ; strcpy(stu.name, "Jimy"); stu.score = 99; retur...
2018-12-11 20:46:48
610
原创 C语言小程序之字符转换加密
#include <stdio.h> #include <string.h> // 将一个不定长的字符串转换为一个定长的数字 // 输入:字符串 // 输出:16位数字 // 转换格式:将字符串分成n组,每组16个字符 // 将n组字符串相应位置的字符相加,如果值不是个数,则各个位再进行相加 // 直到为个位数为止,最终得出的16个数字即要求输出的数字 int mai...
2018-12-10 19:25:00
936
原创 C语言编程注意事项2.0
1、优先级 2、将指针指向一个地址:int *p = (int *)0xabcdef; 3、数组a不能作为左值(被赋值); 4、 int main() { int a[4] = { 1, 2, 3, 4 }; int *ptr1 = (int *)(&a + 1); int *ptr2 = (int *)((int)a + 1); printf( "%x,%x...
2018-12-09 22:59:36
194
原创 数据结构之链表
LinkList.h #ifndef _LINKLIST_H_ #define _LINKLIST_H_ typedef enum {TRUE, FALSE, ERROR} BOOL; typedef int Data; typedef struct _node { Data data;//数据域 struct _node *next;//指针域,指向链表的下个结点 }Node; ...
2018-12-09 20:29:04
123
原创 数据结构之顺序表
Seq.h #ifndef _SEQ_H_ #define _SEQ_H_ #define INIT_SIZE 1 #define ADD_SIZE 5 typedef enum {TRUE, FALSE, ERROR} BOOL; typedef int Data; typedef struct _seq { Data *pData; //顺序表的最大存储空间 int maxSi...
2018-12-07 18:39:38
179
原创 Linux函数库
静态库 要被包含到源程序中的库 优点 运行速度快 缺点 占用系统资源比较多 使用的场合 对时间要求很高的场合 静态库的制作: 1、把所有的源程序(.c文件)制作成目标文件(.o 文件) gcc -c mul.c -o mul.o· gcc -c sub.c -o sub.o gcc -c add.c -o add.o ...
2018-12-06 21:08:29
339
原创 C语言编程注意事项1.0
1、当标识符由多个词组成时,每个词的第一个字母大写,其余全部小写; 2、程序中不得出现仅靠大小写区分的相似的标识符; 注意相似的数字及字母(0和o,I(i)和l(L)) 3、一个函数名禁止被用于其他之处; 4、所有宏定义、枚举常数、只读变量全用大写字母命名,用下划线分割单词; #define MAX_NUM = 100 5、一般来说,习惯上用n、m、i、j、k等表示int型变量;c、c...
2018-12-05 19:12:53
1828
原创 Linux工程管理器——Makefile
makefile 文件 ===> 创建文件名为makefile 或者 Makefile的文件(无后缀) 1、makefile的规则 书写规则: 目标文件:依赖文件 (一个tab键) 命令 命令前面的tab键不能用空格代替 目标文件 最终要生生成的文件 依赖文件 为了生成目标文件需要的文件 命令 ...
2018-12-04 14:57:00
264
原创 C语言小程序之统计单词个数
统计一个英文句子中含有英文单词的个数,单词之间用空格隔开 #include <stdio.h> int count(char *pstr) { int count = 0; while(*pstr) { if (*pstr == ' ') { count++; } pstr++; } return count+1; } int ma...
2018-12-04 09:07:36
2412
原创 str函数定义:strlen strcat strcpy strcmp
#include <stdio.h> int strLen(const char *pStr) { if (NULL ==pStr) return -1; int len = 0; while(*pStr++) { len++; } return len; } void strCat(char * pStr1, const char * pStr2) {...
2018-12-02 21:17:29
507
原创 C语言小程序之结构体
编程求两个复数的和 #include <stdio.h> typedef struct complex{ int a; int b; }COM; COM complex_number_sum(COM m, COM n) { COM sum; sum.a = m.a + n.a; sum.b = m.b + n.b; return sum; } int mai...
2018-12-01 23:08:20
419
原创 C语言小程序之字符串逆序
#include <stdio.h> int strLen(const char *pstr); void reverse(char *pstr); int main() { char str[100] = "Hello world"; int len = strLen(str); printf("%d\n", len); reverse(str); printf(...
2018-11-30 21:18:10
272
原创 通讯录
#include <stdio.h> #include <string.h> #define N 10 struct Data { int id; char name[N]; long long phone; }; void add(struct Data *pa, int *length)//增加联系人 { // printf("请输入ID:"); /...
2018-11-29 22:44:22
136
原创 C语言小程序之字符串分类取出
输入一段字符串,按照字母和数字顺序打印出现过的字母(全部大写)和数字,且无论是否有重复,都只打印一次。 #include <stdio.h> #include <string.h> void func(char *pStr, int len) { char ch[26] = {0}; char num[10] = {0}; int i; for (i = ...
2018-11-28 15:08:04
226
原创 C语言小程序之最大公共子串
题目:编程实现查找两个字符串的最大公共子串 示例:"aocdfe"和"pmcdfa"最大公共子串为"cdf" #include <stdio.h> #include <string.h> int main() //暴力破解 //缺点:子串较长时,重复比较 子串 及 子串的所有子串(cdf c d f cd df 都会比较一遍 ) { char *str1 = ...
2018-11-27 10:20:17
361
原创 C语言小程序之压缩字符串
#include <stdio.h> int main() { void Compress(char *pStr, int len); char a[] = "aaaaabbbbcdefffffghhhhhhhhhhhb"; int len = sizeof (a) / sizeof (char); printf("%s\n", a); Compress(a...
2018-11-26 10:35:55
381
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅