自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

喜欢编程,将自己会的知识分享给大家

既然来了,点个关注再走吧

  • 博客(62)
  • 收藏
  • 关注

原创 Linux下用C语言实现<<图书管理系统>>

学完C语言的基础了吧,那我们来做一个简单的图书管理系统把C语言的知识巩固加深一下吧Linux运行效果如下:使用软件:CentOS 7版本号:windows运行效果如下:使用软件:VS 2013里面有6个功能,我就不演示了,源码会在最后给你们,感兴趣的自己去玩一下。

2022-10-31 22:25:27 1669 1

原创 C语言makefile文件简单介绍以及使用

vim makefile创建文件 文件名:makefile,内容如下:执行make编译目标程序: 因为全部的目标程序都是最新的,所以提示没有目标可以编译执行make clean,执行清除目标文件的指令修改 makefile 里面的程序文件,随便改点什么,只要改了就行比如我们vim test1.c,打开之后顺便改点什么,加个空格都行然后再执行 make: 编译效果:

2022-10-27 22:14:55 1602

原创 C语言gdb调试详解

GDB是一个由GNU开源组织发布的、UNIX/LINUX操作系统下的、基于命令行的、功能强大的程序调试工具对于一名Linux下工作的c/c++程序员,gdb是必不可少的工具

2022-10-26 23:12:00 1895

原创 C语言目录和文件操作扩展

在之前的章节中有详细讲解目录和文件操作,本章节扩展一些目录和文件操作的更多知识。

2022-10-25 15:16:59 439

原创 C语言编译预处理详解

C语言由源代码生成可执行程序的过程:C源程序->编译预处理->编译->优化程序->汇编程序->链接程序->可执行文件其中编译预处理阶段,读取C源程序,对其中的预处理指令(以#开头的指令)和特殊符号进行处理预处理过程先于编译器对源代码进行处理,读入源代码,检查包含预处理指令的语句和宏定义,并对源代码进行转换。预处理过程还会删除程序中的注释和多余的空白字符使用#define命令并不是真正的定义符号常量,而是定义一个可以替换的宏。被定义为宏的标识符称为“宏名”。

2022-10-23 22:56:46 3402

原创 C语言时间操作详解

time_t用来表示时间数据类型,它是一个long(长整数)类型的别名,在time.h文件中定义,表示一个日历时间,好像是从1970年1月1日0时0分0秒到现在的秒数,感兴趣的可以自己去了解一下。

2022-10-21 21:25:39 3168

原创 C语言目录操作详解

每调用一次 readdir 函数会返回一个struct dirent的地址,存放了本次读取到的内容,它的原理与fgets函数读取文件相同。getcwd函数把当前工作目录存入buf中,如果目录名超出了参数size长度,函数返回NULL,如果成功,返回buf。文件是存放在目录中的,在处理文件之前,必须先知道目录中有哪些文件,所以要获取目录中的文件列表。文件存放在某目录中,该目录下还会有多级子目录。列出该目录及其子目录下全部的文件名。命令来创建/删除目录,C程序中用。来显示当前的工作目录。函数来创建/删除目录。

2022-10-18 23:30:30 2953

原创 C语言文件操作详解

对计算机而言,一切皆数据,C语言源代码文件是数据、编译后的可执行程序也是数据,数据的存放方式有很多种,如内存、文件、数据库等,文件是极其重要的一种根据文件中数据组织形式的不同,可以把文件分为文本文件和二进制文件,C语言源代码是文本文件,编译后的可执行程序是二进制文件。

2022-10-18 11:51:49 7214

原创 C语言动态内存管理

malloc。

2022-10-12 22:22:13 430

原创 简单了解一下C语言main函数的参数

main函数有三个参数,argc、argv和envp,envp参数的应用场景不多,这里就不多介绍,感兴趣的可以自己去了解一下命令行参数的个数即命令行中的每一个参数环境变量。

2022-10-12 18:56:39 699

原创 C语言结构体详解

的,和数组非常类似,但是,结构体的占用内存的总大小不一定等于全部成员变量占用内存大小之和。结构体是一个集合,是一种构造的数据类型,为了描述一个数据集自己定义出来的数据类型。结构体的成员(member)可以是任意类型的变量,也可以是结构体变量。因为子函数中用sizeof(pst),得到的不是结构体占用内存的字节数,而是结构体指针变量占用内存的字节数(8字节)。全部成员变量占用的内存是50+4+4+30+30=118,但是结构体占用的内存却是 120。和数组不一样,结构体变量名不是结构体变量的地址,

2022-10-09 22:21:30 4038 4

原创 C语言字符串详解

我们可以把字符串储存在char类型的数组中,如果char类型的数组末尾包含一个表示字符串末尾的空字符\0,则该数组中的内容就构成了一个字符串因为字符串需要用\0结尾,所以在定义字符串的时候,字符数组的长度要预留多一个字节用来存放\0,\0就是数字0例如。

2022-10-07 19:16:32 43047 9

原创 C语言的灵魂 - 指针

所以说它定义的是只读变量。有一个 int 类型的变量 i , p1 是指向 i 的指针变量,p2 又是指向 p1 的指针变量,那么 p2 就是一个二级指针。数组 p 就是一个指针数组,数组的每一个元素都是指针,并且在这个 p 数组中的每一个指针元素所指向的都是 int 值。定义了指针变量,并指向了内存变量的地址,就可以通过指针来操作内存变量,在指针前加星号。...

2022-08-29 23:57:19 589 1

原创 C语言变量的作用域

作用域是程序中定义的变量所存在的区域,超过该区域变量就不能被访问。

2022-08-24 19:15:38 1625

原创 C语言函数

{}在 C 语言中,函数由一个函数头和一个函数主体组成。一个函数可以返回一个值。是函数返回的值的数据类型。有些函数执行所需的操作而不返回值,在这种情况下,return_type 是关键字void。这是函数的实际名称。函数名和参数列表一起构成了函数签名。参数就像是占位符。当函数被调用时,您向参数传递一个值,这个值被称为实际参数。参数列表包括函数参数的类型、顺序、数量。参数是可选的,也就是说,函数可能不包含参数。函数主体包含一组定义函数执行任务的语句。

2022-08-23 18:48:26 444

原创 C语言数组

数组(array)是一组数据类型相同的变量,可以存放一组array是一个数组,包含了20个元素,每个元素都一个double类型的变量,可以通过下标访问数组中元素(element),数组下标的编号从0开始,数组的第1个元素是array[0],第2个元素是array[1],以此类推,直到第20个元素array[19]。给每个元素赋double类型的值,可以这样写:……定义数组的时候,数组的长度必须是整数,可以是常量,也可以是变量。数据的下标也必须是整数,可以是常量,也可以是变量。

2022-08-21 17:09:36 775

原创 C语言循环结构

当条件为 false 时,退出循环,程序流将继续执行紧接着循环的下一条语句。如果条件为真,控制流会跳转回上面的 do,然后重新执行循环中的 statement(s)。如果您使用的是嵌套循环(即一个循环内嵌套另一个循环),break 语句会停止执行最内层的循环,然后开始执行该块之后的下一行代码。请注意,条件表达式出现在循环的尾部,所以循环中的 statement(s) 会在条件被测试之前至少执行一次。可以是一个单独的语句,也可以是几个语句组成的代码块。只要给定的条件为真,C 语言中的。...

2022-08-17 16:00:12 807

原创 C语言 switch分支结构

语句允许测试一个变量等于多个值时的情况。每个值称为一个 case,且被测试的变量会对每个。

2022-08-15 11:03:04 1859

原创 C语言 if分支结构

if 语句嵌套时,要注意 if 和 else 的配对问题,C语言规定,else 总是与它前面最近的 if 配对。一定要保持良好的编程习惯,空格、缩进、对齐,{}成对的书写等,不良的代码习惯会把自己搞晕。,则 if 语句内的代码块将被执行。,则 if 语句结束后的第一组代码(闭括号后)将被执行。if-else 语句是合法的,这意味着您可以在一个。,else 语句在布尔表达式为 false 时执行。由一个布尔表达式后跟一个或多个语句组成。示例 test17.c。示例 test15.c。示例 test16.c。.

2022-08-13 15:18:33 1202

原创 C语言中的运算符

下表将按运算符优先级从高到低列出各个运算符,具有较高优先级的运算符出现在表格的上面,具有较低优先级的运算符出现在表格的下面。解决全部的问题,括号的优先级是最高的,括号中的表达式会优先执行,这样各个运算符的执行顺序就一目了然了。位运算符作用于位,并逐位执行操作。// 表示在本次使用变量前自减;// 表示在本次使用变量前自增;// 表示在本次使用变量后再自减;// 表示在本次使用变量后再自增;按位或运算符,按二进制位进行"或"运算。取反运算符,按二进制位进行"取反"运算。按位与操作,按二进制位进行"与"运算。.

2022-08-10 15:21:09 792

原创 C语言中的输入和输出

在C语言中,有三个函数可以从键盘获得用户输入getchar:输入单个字符,保存到字符变量中gets:输入一行数据,保存到字符串变量中scanf:格式化输入函数,一次可以输入多个数据,保存到多个变量中。...

2022-08-09 17:37:53 24964

原创 C语言中的常量、变量及关键字

int i;// 定义整数型变量,用于存放整数char c;// 定义字符型变量,用于存放字符float f;// 定义浮点型变量,用于存放浮点数double d;// 定义浮点型变量,用于存放浮点数int i=0;// 定义整数型变量并初始化char c=0;// 定义字符型变量并初始化double d=0;// 定义浮点型变量并初始化C库函数 - strcpy()...

2022-08-08 22:24:38 1510

原创 C语言数据类型

C语言的基本数据类型包括字符型(char)、整数型(int)、浮点型。

2022-08-07 17:58:48 794

原创 从零开始学C语言

之前大家学C语言是不是大多数都是在windows平台下的利用Visual studio来学习,我之前也是哈哈,但是。

2022-08-07 17:32:01 267

转载 Linux 信号的详细介绍和举例说明

C缺省的动作是终止进程并进行内核映像转储(coredump),内核映像转储是指将进程数据在内存的映像和进程在内核结构中的部分内容以一定格式转储到文件系统,并且进程退出执行,这样做的好处是为程序员提供了方便,使得他们可以得到进程当时执行时的数据值,允许他们确定转储的原因,并且可以调试他们的程序。你请注意看运行效果,收到信号2之后执行该函数里面的代码,突然又收到了15的信号,但这次不会中断当前的处理函数,而是把15的信号阻塞了,等2信号执行完毕之后再执行15信号。可以看运行效果,没有出现信号中断的情况。...

2022-07-28 19:43:30 3107

原创 C++ 小案例,你以前肯定做过

今天复习C++的时候看见过自己曾经做过的小案例,觉得挺有意思的,分享给大家一起看看吧。又有哪些是你们做过的呢?

2022-07-25 22:51:57 509

原创 MySQL 基础篇大总结 (一)

由于小编觉得写成一篇文章真的是太长了,怕你们看了之后烦躁,于是我决定分成几章来写,我尽量写的通俗易懂一点,方便学MySQLl的人可以更好的理解,话不多说,让我们开始吧。DDL - 数据库操作1. 查询-- 查询所有数据库show databases ;-- 查询当前数据库select database();2.创建create database [IF NOT exists] 数据库名;-- [IF NOT exists] 这个是什么意思?-- 意思是:数据库存在,不执

2022-05-22 19:01:37 204

原创 MySQL 事务的详细介绍 (一篇文章带你了解事务)

事务操作• 查看/设置事务提交方式-- autocommit的值默认为1,即自动提交,设置成0为手动提交select @@ autocommit;set @@ autocommit=0;• 提交事务commit;• 回滚事务rollback;• 开启事务-- 开启事务start transaction 或 begin;事务操作代码演示-- 事务操作-- 数据准备create table account( id int auto_incr

2022-05-11 21:05:50 275 3

原创 MySQL 多表查询,联合查询,子查询 ,内、外、自连接介绍,看这一篇就够啦(还含练习题哦)

连接查询 - 内连接 查询两张表的交集数据

2022-05-05 21:15:15 455 7

原创 MySQL 里面的 “约束” 条件 你确定你全都知道?

约束 描述 关键字 非空约束 限制该字段的数据不能为null not null 唯一约束 保证该字段的所有数据都是唯一,不重复的 unique 主键约束 主键是一行数据的唯一标识,要求非空且唯一 primapy key 默认约束 保存数据时,如果未指定该字段的值 default 检查约束(8.0.16版本之后) 保证字段值满足一个条件 check 外键约束 用来让两张表的数据之间建立连接,保证数据的一致性和

2022-05-02 23:36:59 1049 2

原创 MySQL常用的几种函数你知道嘛?

字符串函数常用的字符串函数有 concat(S1,S2,..Sn), lower(str) , upper(str)

2022-04-18 21:27:24 572 1

原创 MySQL DQL语句的练习和执行顺序

DQL语句练习首先创建一个数据库创建数据库的语法: create database [if not exists] 数据库名; if not exists 的意思为数据库名称存在,不执行任何操作,数据库不存在,创建数据库创建一个名为 itcast 的数据库:create database if not exists itcast;使用 itcast 数据库:-- use 数据库名;use itcast;创建表语法:create table 表名( .

2022-04-14 18:21:11 740 2

原创 C++ 演讲比赛流程管理系统实现

1.1比赛规则● 学校举行一场演讲比赛,共有12个人参加,比赛共两轮,第一轮为淘汰赛,第二轮为决赛每名选手都有对应的编号,如1001`10012● 比赛方式: 分组比赛,每组6个人,第一次分为两个小组,整体按照选手的编号进行抽签后顺序演讲● 10个评委分别给每名选手打分,去除最高分和最低分,求平均分为本轮选手的成绩当小组演讲完后,淘汰组内最后的三名选手,前三名晋级,进入下一轮的比赛● 第二轮为决赛,前三名胜出,每轮比赛过后需要显示晋级选手

2022-03-30 23:28:26 568 1

原创 C++ 实现二分查找,分别用while,for循环分别实现(一看就会,一敲就.....)

C++ 实现二分查找,分别用while,for循环分别实现(一看就会,一敲就.....)

2022-03-24 00:42:35 530 1

原创 C++ 最简单排序算法 - 冒泡排序

在写代码之前我们先了解一下什么是冒泡排序解释: 冒泡排序的思想就是将第一个元素与第二个元素比较,如果第一个元素比第二个元素大,那么就将两者交换,并继续用第二个元素和第三个元素比较,在一个循环结束后,最大的元素会沉到数组的最右边,因此,下次循环就直接到倒数第二个元素为止,最后的一次循环就只剩第一个元素,至此,所有元素都排列完成。这种排序是按照从小到大排序,;还可以按照从大到小的顺序排列,即最大的向左沉代码如下:sort.cpp#define _CRT_SECURE_NO_WAR.

2022-03-18 22:21:23 1515 1

原创 C++ STL案例 - 员工分组

案例描述 公司今天招聘了10名员工(ABCDEFGHIJ),10名员工进入公司之后,需要指派员工在那个部门工作 员工信息有: 姓名 工资组成;部门分为:策划、美术、研发 随机给10名员工分配部门和工资 通过multimap进行信息的插入key(部门编号) value(员工) 分部门显示员工信息实现步骤: 1.创建10名员工,放到vector中 2.遍历vector容器,取出每个员工,进行随机分组 3.分组后,将员工部门编号作为key,具体员工为value,放入到mul...

2022-03-17 21:17:34 241 2

原创 C++ list容器排序案例

C++ list容器排序案例

2022-03-14 17:52:10 360 1

原创 C++小案例 --- STL - 评委打分(适合初学者)

案例描述有5名选手:选手ABCDE,10个评委分别对每一名选手打分,去除最高分,去除评委中最低分,取平均分实现步骤1.创建五名选手,放到vector中2.遍历vector容器,取出来每一个选手,执行for循环,可以把10个评分打手存到deque容器中3.sort算法对deque容器中分数排序,去除最高和最低分4.deque容器遍历一遍,累加总分5.获取平均分代码如下:STL案例 - 评委打分.cpp#define _CRT_SECURE_NO_WARNINGS#includ.

2022-03-09 17:45:06 349 1

原创 C++ 类模板案例 - 数组类封装

C++ 类模板案例 - 数组类封装

2022-03-03 17:29:39 607

原创 C++ 函数模板案例实现

案例描述:1.利用函数模板封装一个排序的函数,可以对不同数据类型数组进行排序2.排序规则从大到小,排序算法为选择排序3.分别利用char数组和int 数组进行测试#define _CRT_SECURE_NO_WARNINGS#include<iostream>using namespace std;//交换函数模板template<class T>void mySwap(T &a, T& b){ T temp = a; a = b; b =

2022-02-22 22:16:14 183 1

空空如也

空空如也

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

TA关注的人

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