自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数据结构项目二:停车场管理

项目目的:为了深入理解队和栈的使用原理,利用一个栈两个队列简单实现停车场的管理。 Parking.h 文件: #ifndef __PARKING_H__ #define __PARKING_H__ #define TRUE 1 #define FALSE 0 #define SIZE 20 #define TIME 86400 /* 停车场管理 问题描述:停车场

2017-10-25 15:57:06 4542 2

转载 知识点1:C语言中exit()与return的区别

exit函数和return函数: 1、exit函数和return函数的主要区别是:     1)exit用于在程序运行的过程中随时结束程序,exit的参数是返回给OS的。main函数结束时也会隐式地调用exit函数。exit函数运行时首先会执行由atexit()函数登记的函数,然后会做一些自身的清理工作,同时刷新所有输出流、关闭所有打开的流并且关

2017-08-17 19:36:12 762

原创 强化练习9:将不定长的字符串转化为一个16位的字符数组

题目: 将不定长的字符串转化为一个16位的字符数组。 程序如下: #include #include #define SIZE 100 #define LEN 16 // 多位数自加成一位数 int Add_Str (int Num) { int sum = 0; while (Num) { sum += Num % 10; Num /= 10; }

2017-08-14 20:15:15 1257

原创 笔记11:进程控制编程

1、获取进程的id 头文件: #include #include 函数原型: 获取本进程ID pid_t getpid(void) 获取父进程ID pid_t getppid(void) 获取用户ID pid_t getuid(void) 例: #include #include #include int main() { pr

2017-08-11 19:44:52 375

原创 笔记10: 进程控制的基本概念

1、进程 (1)进程狱程序的区别  程序是放到磁盘的可执行文件。   进程是指程序执行的实例。 (2)进程的地址空间 分配给每个进程的内存(memory)由一系列段(segments)组成:   ①text segment(代码段)     包含机器语言指令。通常是只读的、共享的。   ②initialized data segment(初始化数据段

2017-08-09 19:45:53 518

原创 文件系统编程的应用

修改项目通讯录:利用文件读取数据,写入数据。 头文件:AddressList.h #ifndef __ADDRESSLIST_H__ #define __ADDRESSLIST_H__ #define FALSE 0 #define TRUE 1 #define N 20 typedef struct _information { int id; char name[N]

2017-08-08 20:24:49 404

原创 笔记9:Linux 文件系统编程

1、什么是系统调用 所有的操作系统都提供多种服务的入口点,程序由此向内核请求服务。这些可直接进入内核的入口点被称为系统调用。 2、什么是文件 文件是系统资源(内存、硬盘、一般设备、进程间通信的通道等)的一个抽象。对系统资源进行访问的一个通用接口。 普通文件 一般意义上的文件,作为数据存储在磁盘中,可以随机访问文件的内容。Linux系统中的文件是面向字节的,

2017-08-07 19:33:56 664

原创 强化练习8:将一个班级40位同学随机分成10组

#include #include void swap(int *a, int i, int j) { int tmp = a[i]; a[i] = a[j]; a[j] = tmp; } void printA(int *a, int len) { int i; for (i = 0; i < len; i ++) { if (i % 4 == 0) prin

2017-08-07 09:03:08 1178

原创 笔记8:二叉树

二叉树的定义: 二叉树是由 n ( n ≥0 ) 个结点组成的有限集 合,该集合或者为空,或者是由一个根结点加 上两棵分别称为左子树和右子树的、互不相交 的二叉树组成。 程序如下: #ifndef __BTREE_H__ #define __BTREE_H__ #define BLEFT 0 // 表示插入二叉树的左边 #define BRIGHT 1 // 表示插入二叉

2017-08-06 20:05:35 314

原创 笔记7:树

1、树的定义: 树是一种非线性的数据结构 树是由 n ( n ≥0 ) 个结点组成的有限集合 如果 n = 0,称为空树; 如果 n > 0,则: 有一个特定的称之为根(root)的结点,它只有直接后继,但没有直接前驱。 除根以外的其它结点划分为 m (m ≥0) 个互不相交的有限集合T0,T1,…,Tm-1,每个集合又是一棵树,并且称之为根的子树。 2、

2017-08-06 20:01:59 286

原创 强化练习7:请编写一个c函数,该函数给出一个字节中被置为1的位的个数

题目:请编写一个c函数,该函数给出一个字节中被置为1的位的个数   程序如下: #include void num(char ch) { int count = 0; int i; for(i = 0;i < 8; i++) { if(ch & 1 == 1) {

2017-08-06 19:54:00 481

原创 强化练习6:判断一字符串是否为回文,是返回1,不是返回0,出错返回-1

题目: 判断一字符串是否为回文,是返回1,不是返回0,出错返回-1  程序如下: #include int fun(char *p) { if (p == NULL) return -1; char *pstart = p; char *pend = p; while (*pend) { pend++; } pend--; while

2017-08-06 19:46:12 2627 1

原创 强化练习5:找合法帧

题目: 输入一个字符串,同时输入帧头和帧尾(可以是多个字符), 将该字符串中合法的帧识别出来. 提示:帧头和帧尾分别是head和tail   字符串”asdheadhauboisoktail”中headhauboisoktail是合法帧。 程序如下: #include #include char *findstr(char *str, char *sub)

2017-08-06 19:37:53 346

原创 强化练习4:有n个人围成一圈,顺序排号,从第一个开始报数(从1到3报数), 凡报到3的人退出圈子,问最后留下的是原来第几号。

题目: 有n个人围成一圈,顺序排号,从第一个开始报数(从1到3报数), 凡报到3的人退出圈子,问最后留下的是原来第几号。 程序如下: #include int main() { int a[100]; int i,n,q; int p = 0; printf("input number:"); scanf("%d",&n); q = n; for

2017-08-06 19:31:24 1082

原创 强化练习3:判断闰年

题目: 判某一年是否闰年。 输入:年(year) 计算:判是否闰年 输出:闰年或非闰年(leap) 闰年条件: 能被4整除,但不能被100整除。 能被4整除,又能被400整除。 程序如下: #include int main() { int year; int leap; scanf("%d", &year); if((year%4 == 0 && ye

2017-08-06 19:24:53 356

原创 强化练习2:编程实现统计某年某月份的天数

口诀: 一三五七八十腊(1,3,5,7,8,10,12),31天永不差, 平年二月28,闰年二月29,其他月份三十天。 程序如下: #include int main() { int year; int month; scanf("%d %d", &year, &month); switch (month) { case 1: case 3: c

2017-08-06 19:19:57 642

原创 强化练习1:通过编程实现,分别统计0~n有多少个0~9 提示:n通过参数传入

程序如下: #include int main() { int c[10]; int i; for (i = 0; i<10; i++) { c[i] = 0; } int num; scanf("%d", &num); c[0] = 1; for (i = 1 ; i <= num; i++) { int num = i; while (num

2017-08-06 19:15:43 313

原创 几种常见的排序(二)

1、希尔排序 #include void swap (int *a, int i, int j) { int tmp; tmp = a[i]; a[i] = a[j]; a[j] = tmp; } void printfA (int *a, int len) { int i; for (i = 0; i < len; i++) { printf ("%4d", a[i])

2017-08-06 19:08:35 251

原创 几种常见的排序(一)

1、冒泡排序: 冒泡排序是一种极其简单的排序算法,也是我所学的第一个排序算法。它重复地走访过要排序的元素,依次比较相邻两个元素,如果他们的顺序错误就把他们调换过来,直到没有元素再需要交换,排序完成。这个算法的名字由来是因为越小(或越大)的元素会经由交换慢慢“浮”到数列的顶端。   冒泡排序算法的运作如下:   ①比较相邻的元素,如果前一个比后一个大,就把它们两个调换位置。 ②对每一对相邻元

2017-08-04 17:40:16 479

原创 笔记6:链表(三种:头指针、头结点、头结点循环)

1、头指针链表 #include #include #define TRUE 1 #define FALSE 0 typedef int LinkData; // 链表的数据类型 typedef struct _node { LinkData data; // 链表的数据 struct _node *next; // 指向链表下一个结点的指针 }N

2017-08-03 20:35:50 523

原创 笔记5:顺序表

#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 { SeqDa

2017-08-02 19:39:21 248

原创 笔记4:队列

1、顺序队列 #ifndef __SQQUEUE_H__ #define __SQQUEUE_H__ #include "error.h" #define TRUE 1 #define FALSE 0 #define SIZE 10 typedef int QueueData; typedef struct _queue { QueueData data[SIZE]; int fron

2017-08-01 21:00:48 197

原创 笔记3:栈

栈的定义:       只允许在一端插入和删除的线性表;   允许插入和删除的一端称为栈顶(top),另一端称为栈底(bottom)。 栈的特点:  后进先出 (LIFO)。 1、顺序栈 #ifndef __SQSTACK_H__ #define __SQSTACK_H__ #include "error.h" #define TRUE 1 #define FALSE 0 #de

2017-07-28 20:41:44 236

原创 初次项目:电子通讯录

学C语言快一个月了,第一次做项目,中间出现了许多BUG,终于勉勉强强实现了预期的所以功能! 其中还存在一些BUG(如:输入字符程序崩溃等等),后期完成阶段学习会回来完善代码。 AddressList.c 文件: #include #include #include "AddressList.h" #include //主菜单 int Interface_Display(

2017-07-26 20:07:55 473

原创 头结点链表的三种插入结点方式

1、头文件(.h) #ifndef __LINKLIST_H__ #define __LINKLIST_H__ #define FALSE 0 #define TRUE 1 typedef int LinkData; typedef struct _node { LinkData data; struct _node * next; }Node; // 创建链表 Node * Cre

2017-07-25 20:36:23 1484

原创 笔记2:结构体的概述与使用

1、结构体的声明 声明一个结构体类型一般形式: struct 结构体名 { 结构体所包含的成员变量; }; 例:  struct stu { char name[20]; Int age; };   2、定义结构体的类型变量 例: struct stu s1,s2; struct stu { char name[20]; Int age; }s1,s2;

2017-07-22 20:43:52 275

原创 笔记1:函数的概述与递归函数

1、函数的概述 函数(Function)是一段可以重复使用的代码,除了C语言自带的函数,我们也可以编写自己的函数,称为自定义函数。 函数三要素: ①返回值:由关键字 return 进行返回;                         ②函数名;由数字、字母、下划线组成,不能以数字开头;                   ③函数参数。放在括号 () 内,每一个参数之间用逗号

2017-07-21 20:02:37 334

原创 函数指针小结

题目: 输入一个字符串,同时输入帧头和帧尾(可以是多个字符)。 将该字符串中合法的帧识别出来。 提示:帧头和帧尾分别是head和tail  。 字符串”asdheadhauboisoktail”中headhauboisoktail是合法帧。 #include #include // 在字符串str中寻找字符串sub,如果找到返回从sub开始的字符串 char *

2017-07-20 20:59:49 213

原创 C语言中指针的一些易错点!

1、字符数组与字符串的使用 注意:数组名是指向数组首个元素的地址。 先看个例子: #include int main() { char *str = "hello"; int len = strlen(str); int i; //直接输出字符串 printf("%s\n", str); //使用*(str+i) for(i=0;

2017-07-19 17:56:13 2576

原创 趣味题:李白打酒

待续!#include int count = 0; void libaidajiu(int alco, int store, int flower) { if (store > 5 || flower > 10) return; if (store == 5 && flower == 9) { if (alco == 1) count++; return ;

2017-07-18 21:00:45 695

原创 利用指针对数组&句子进行逆序

最近开始学习指针,以前我们学过一些排序(冒泡、选择等等),这次给大家带来指针的一些用法! 1、将数组a[10] = {1,2,3,4,5,6,7,8,9,10}逆序输出 #include //利用指针将数组逆序 int main1() { int a[10] = {1,2,3,4,5,6,7,8,9,10}; int *p1 = a; int *p2 = a + si

2017-07-17 20:10:08 2042

原创 一些字符串处理函数的实现!

最近刚学完数组,把一些学了的字符串处理函数进行自己理解,写出了他们的一些转化程序。有出错的地方请大家指出,相互学习! 1、strcat字符串追加 size_t  strcat(char * _Str1, const char * _Str2); 将参数_Str2追加到_Str1后尾 strcat字符串追加的实现: #include #include //strcat

2017-07-16 21:00:17 396

原创 敲黑板!break和continue的区别!

首先,我们分别了解break和continue的定义。 1、break语句的功能是:在switch语句中使流程跳出switch结构。在循环语句中使流程跳出当前循环。 举例:将从键盘上输入的若干个正整数求和,遇到负数则终止程序,并且输入的数不超过10个。     输入:正整数     计算:求累加和     输出:和 #include #define MAX 10 int m

2017-07-14 00:04:22 309

原创 分享一条趣味题:谁是凶手?

题目:日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。以下为4个嫌疑犯的供词。 A说:不是我。 B说:是C。 C说:是D。 D说:C在胡说 已知3个人说了真话,1个人说的是假话。现在请根据这些信息,写一个程序来确定到底谁是凶手? 参考程序: #include int main() { char killer; int i; for (i

2017-07-13 00:26:37 758

原创 初入C语言!整数算法训练2:输入5个数(含负数、小数),将它们按由小到大的顺序排列起来。

冒泡和选择两种排序的简单编程。

2017-07-11 16:44:12 2098

原创 初入C语言!整数算法练习1:通过编程实现,统计1~n有多少个9 ? 提示:n通过参数传入!

2017-07-11 11:10:32 803

空空如也

空空如也

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

TA关注的人

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