- 博客(32)
- 收藏
- 关注
原创 聊天室1.0版
写了几天1.0终于写好了,不容易啊 客户端#include <sys/types.h>#include <sys/socket.h>#include <stdio.h>#include <unistd.h>#include <string.h>#include <arpa/inet.h>#include <sqlite3.h>#include <stdlib.h>#define SI
2017-08-24 01:41:54 417
原创 停车场管理系统
几天没发了,想起有个停车场可以发一下;就发了 停车场管理系统主要(要建立俩个栈和一个队列)难点就在于要出来的时候,车子要移出来,让等待车辆进入该系统,在移回去,这个过程很烦。其他的还行不是很难。停车场.h文件#ifndef __TINGCHECHANG_H__#define __TINGCHECHANG_H__#include <stdio.h>#include <string.h>#i
2017-08-12 01:16:40 1119
原创 希尔排序
希尔排序是一个很难理解的排序,它是插入排序的一种表现形式。希尔排序是一种高效的排序,它将数据排成接近升序,在按插入排序,这样的排序很高效。第一种代码实现是用一个do….while 循环; 第二种用两个while循环;void display (int *a, int len){ int i; for (i = 0; i < len; i++) printf("%4
2017-08-07 09:24:31 354
原创 8.1
这几天的状态贼差,上自习注意力一点都不集中。而且很挣扎。感觉一点都不好,代码都敲不进去,敲好的代码各种各样的错误。简直就不能看,一个代码错误要找好久,浪费了大量的时间。明天要调整过来,让自己的心静下来。敲代码的时候不能分神。 做好自己,你可以的!!!!
2017-08-01 22:00:07 242
原创 7.29
今天学了关于树的内容,感觉书里面的递归是真的有点恶心。绕来绕去的有点糊涂了,今天晚上好好的弄一下,今晚争取搞懂树的插入,和打印。因为打印里面有递归,搞定了打印删除弄起来也比较简单,其他的一些东西,还是很简单的。树主要是要掌握它的一些结构问题,这个弄懂了,其他的比较好弄。 树要学好,就要掌握它的思路,学习树对思路要求比较的高,你没有思路,你就很难写出它的代码。 所以要学好树,思路很重要,
2017-07-29 00:46:48 238
原创 用头结点做通讯录(修改过的)!!!!
pbook.h文件#ifndef __LINKLIST_H__#define __LINKLIST_H__#define FALSE 0#define TRUE 1typedef struct LinkData{ int id; char name[20]; char tel[20]; char address[100]; char c_tel[20];}d
2017-07-28 01:46:10 369
原创 头指针链表
#include <stdio.h>#include <stdlib.h>#define TRUE 1#define FALSE 0typedef int LinkData; // 链表的数据类型typedef struct _node{ LinkData data; // 链表的数据 struct _node *next; // 指向链表下一个结
2017-07-28 01:41:53 318
原创 循序表的(main.c)
#include <stdio.h>#include "SeqList.h"int main1(){ // 创建顺序表 SeqList *s = Create_List(); if (s == NULL) { printf ("创建失败\n"); return -1; } printf ("创建成功\n"); /
2017-07-27 00:41:33 365
原创 循序表的(SeqList.c)(函数实现)
#include "SeqList.h"#include <stdlib.h>#include <stdio.h>SeqList *Create_List(){ // 创建一个顺序表 SeqList* s = (SeqList*)malloc(sizeof(SeqList)/sizeof(char)); if (s == NULL) { retu
2017-07-27 00:39:40 785
原创 循序表的(SeqList.h)
#ifndef __SEQLIST_H__#define __SEQLIST_H__#define FALSE -1#define TRUE 0#define INIT_SIZE 100#define INCRESS_SIZE 20 typedef int SeqData;// 顺序表结构typedef struct _seqList{ SeqData *li
2017-07-27 00:37:37 844
原创 malloc 函数
#include <stdio.h>#include <stdlib.h>int main1(){ int a; int * p = (int *)malloc(sizeof(int)*10); if (p == NULL) { printf ("内存分配失败\n"); return -1; } printf ("%
2017-07-27 00:32:05 279
原创 static,const,typedef的使用
#include <stdio.h>static int a = 10; // 静态全局变量,只在本文件内可见void func(){ int i = 0; static int j = 0; // j是静态局部变量,只会被定义一次,在程序结束前,该变量始终存在 i++; j++; printf ("i = %d, j = %d\n", i, j)
2017-07-27 00:28:42 271
原创 判断电脑是大端还是小端
#include <stdio.h>// 小端返回真(1),大端返回假(0)int isLittleEndian(){ union { char ch; int a; }a; a.a = 1; return (a.ch == 1);}int main(){ if (isLittleEndian())
2017-07-27 00:25:15 501
原创 结构体的简单知识点
包括结构体的基本知识、结构体的内存对齐原理、结构体嵌套和结构体指针#include <stdio.h>#include <string.h>// struct 是一个C语言的一个关键字,用来声明一个结构体类型// 声明了一个名字叫 student 的结构体类型// 有两个成员,分别是整型的 id(学号) 字符数组 name(名字)// struct 只是声明了这样一种数据类型,和普通的数据
2017-07-27 00:24:02 381
原创 用int main(int argc, char **argv);在终端上实现一个计算器
// main函数参数// int main(int argc, char *argv[])// argc 命令行传过来的参数个数// argv 命令行传过来的参数的值,是一个字符指针数组int main3(int argc, char **argv){ printf ("argc = %d\n", argc); //char *str[] = {"./a.out", "1
2017-07-27 00:15:59 908
原创 进制的转换
1、十进制转换十以下的进制代码如下: 上面的是用循环来写的,下面是用函数可以实现十进制转换十以下的进制,首先要定义一个宏常量。 2、第二个代码是十进制转换十六进制:转换十六进制时,我们首先应想到里面ABCDEF怎么得到,我们用switch来实现字符的转换。然后的操作跟十进制转换二进制一样的。#include <stdio.h>#define BASE 2int main1(){ int
2017-07-27 00:11:44 430
原创 递归的使用
用递归函数我们首先要了解,递归函数是什么原理。在递归函数中我们首先要找到它的零界点(这是很重要的,有时我们就是找不到这个条件。)然后开始循环,以下俩个例子:#include <stdio.h>// 阶乘函数,求n的阶乘int func(int n){ if (n == 1) return 1; int res = n * func(n-1); return r
2017-07-27 00:03:21 229
原创 函数的一些知识
首先要了解函数的三要素:#include <stdio.h>// 函数:/*函数三要素:返回值 (由关键字 return 进行返回)函数名(数字、字母、下划线,不能以数字开头)函数参数放在括号里面,每一个参数之间以逗号隔开{}内部叫函数定义,函数功能的实现*/int max(int a, int b){ if (a > b) return a; e
2017-07-26 23:57:50 239
原创 字符串的相关函数
这个字符串的相关函数真的很有用,全部记住对后面的项目有大大的帮助,建议多多的学习,争取全部都记住!!!我这里写了一个拷贝的实现,其他的实现可以去想想!!!#include <stdio.h>#include <string.h>// 字符串追加int main1(){ char str1[100] = "hello "; char str2[] = "world"; /
2017-07-26 23:54:10 301
原创 指针数组
#include<stdio.h>int main(){ // 字符串本身代表一个char*类型的指针 char *arr[5] = {"hello1", "hello2", "hello3", "hello4",
2017-07-26 23:51:13 246
原创 字符串指针的典型错误
// 典型错误1:将一个字符串写入到一个没有初始化的指针位置int main(){ //char str[10]; //char *p = str; char *p; // 野指针 printf ("p = %p\n", p); scanf ("%s", p); return 0;}// 字符串:"hello" 字符串代表字符串的首个元素的地
2017-07-26 23:47:45 429
原创 指针的方式逆序数组
以前数组的逆序总写一大串,学了指针之后,用指针的逆序更加的简单明了。#include <stdio.h>int main(){ int a[10] = {1,2,3,4,5,6,7,8,9,10}; int *p1 = a; // 指向数组的第一个元素 int *p2 = a + sizeof(a)/sizeof(a[0]) - 1; while (p1 < p
2017-07-26 23:46:23 1088
原创 学习c语言指针的一些小知识
指针的sizeof()求得值都是固定的:都为4;数组名在特定的情况下可以当作指针来使用, 数组与数组指针的差异 1、数组不能代表数组指针求数组长度 2、数组是个常量不可改变
2017-07-20 20:56:32 230
原创 找合法针
asdheadhauboisoktailgdg找这个的合法针,需要我们先扫描到我们需要的head(这个是针头),tail(这个是针尾)下面的是代码#include <stdio.h>#include <string.h>// 在字符串str中寻找字符串sub,如果找到返回从sub开始的字符串char *findStr(char* str, char *sub){ char *p = N
2017-07-20 00:45:42 301
原创 linux 中 句子的逆序“you are from yangzhou”
关于句子的逆序,我们首先想到的是把它们先逆序过来,然后找到空格,定义3个指针p1,p2,p3,先用俩个指针来完成句子的逆序,在用p2跑完整个句子,遇到空格就”报告“一次,再将p2空格前的值 赋给指针,再来完成单个句子的逆序。#include <stdio.h>#include <string.h>int main(){ // char *p = "I am from yangzhou"
2017-07-18 00:50:38 315
原创 7.17
今天我们自习一天,复习了昨天学习的指针,感觉指针真的很绕,有点耗费脑力。通过一天的自习,总结如下:1,学习指针首先我们一定要画图,要明白每一个指针所指向的是谁,画图可以更好的让我们了解,指针指向的是谁,因为你在脑海中想的,永远比不上你在纸上画的东西。所以画图对于学习指针真的很重要。2、指针和数组完全没有联系,指针是指针数组是数组,不能拿到一块作比较,他们之间也没有任何的联系,这是很重要的一
2017-07-18 00:37:20 254
原创 liunx 句子的逆序“you are from yangzhou”
关于句子的逆序,我们首先想到的是把它们先逆序过来,然后找到空格,定义3个指针p1,p2,p3,先用俩个指针把句子逆序,在用p2一个指针跑完整个句子,遇到空格就“告诉后面的指针”用p2指针找到空格前的字符值 付给一个指针,一直进行,然后在逆序。。 编码如下:#include <stdio.h>#include <string.h>int main(){ // char *p = "I a
2017-07-18 00:35:32 263
原创 7.16
今天老师教了指针,从上午一直学到了现在,感觉头脑一直处在浆糊状态,有的知识,装在脑子里有映像,但就是写程序的时候,头脑就处在懵逼的状态,觉得特别的不清醒,感觉没什么东西在脑子里,觉得什么代码在脑子里都是乱乱的,记得什么整体性,没有一根线能把他们串在一起。 这就是我明天得目标,先把程序一个个的敲一遍,边敲边想为什么,加深映像。然后不看程序在敲一遍,争取弄得更深入一些。东西有点多,任务量巨
2017-07-16 19:07:56 332
原创 冒泡排序
冒泡排序的特点: 冒泡排序也叫沉底排序,它是通过俩俩相比较,大的最后比较到了最后面,然后出来,后面的数进行下一轮排序,#include void bubblesort(int *a, int m){ int i,j; int tmp; for (i=0;im;i++) { for(j=0;jm-1-i;j++)
2017-07-16 18:57:03 213
原创 判断素数的俩种方法
素数的定义:素数是能被1整除又能被自身整除的数叫做素数。 第一种方法: 假设有n个数,我们要判断在(n-1),中是否有其他被整除的数,如果有这个数就不是素数。顾我们要用到 for 循环语句;编程如下;编程用到了,我们定义了一个标志(flag);#include int main(){ int n; int flag = 0; //
2017-07-13 00:16:26 1357
原创 SHELL 的一些简单的用法
SHELL 的定义:如果你有一系列经常使用的Linux命令,你可以把他们存储在一个文件中。Shell可以读取这个文件并执行其中的命令。这样的文件被称为脚本文件。 SHELL 的结构:shell 类型 文件格式:abc.sh 函数 主过程一般模板 #!/bin/bash shell类型#a simple shell scr
2017-07-12 23:30:59 766
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人