自定义博客皮肤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)
  • 收藏
  • 关注

原创 c++ 每日一练 day7

题目#if 03.建立一个类ARRAY,求一维数组中各元素的最大值、最小值和平均值。具体要求如下:(1)私有数据成员float data[10]:存储待处理的数组元素。float max:存储数组中元素的最大值。float min:存储数组中元素的最小值。float average:存储数组中元素的平均值。(2)公有成员函数init(float a[10]):初始化数组data。v

2018-01-31 22:21:23 392

原创 c++ 每日一练 day6

题目#if 02.求正数a的平方根的迭代公式为:x[n + 1] = (x[n] + a / x[n]) / 2。建立一个类SQRT,用来求某正数平方根的近似值。具体要求如下:(1)私有数据成员float n:存放某个正数。float sq:存放正数n的近似平方根。(2)公有成员函数void set(int m):用m初始化n。void calc():用上述迭代公式计算正数n的平方根,

2018-01-29 22:34:20 405

原创 通过编程实现输出2的1000次方

解析2的1000次方超出了长整型的最大位数,可以将该数每一位放在数组里面,从前往后位数从低到高每次乘2是从高位开始乘,设高位为a,如果a*2 >= 10, 向该元素位置后一位进位,如果该元素已经是最高位,则位数加1;代码#include <stdio.h>#include <string.h>#include <stdlib.h>int main(){ int a[1000] = {0

2018-01-26 21:22:29 1376

原创 c++ 每日一练 day5

题目#if 01.建立一个类Prime,用来判断某整数是否为素数。具体要求如下:(1)私有数据成员? int n:存放某个整数。(2)公有成员函数? void set(int _n):将数据成员n的值设置为参数_n的值。? int IsPrime():判断数据成员n是否为素数,是素数则返回1,否则返回0。? void print():如果n为素数(通过成员函数IsPrime判断),则输

2018-01-26 20:30:13 360

原创 编写一个c函数,将“I am from shanghai”倒置为“shanghai from am I”

编写一个c函数,将“I am from shanghai”倒置为“shanghai from am I”

2018-01-26 16:45:55 1024

原创 c++ 每日一练 day4

题目4.设定义一个类: class ListArray{ private: int size; //整型数组的大小,表示可放元素的个数 int elem; //整型数组当前的元素个数,初始应为0,当elem等于size时,数组满 int *p; //指向整型数组,动态分配内存空间 public: ListArray(i

2018-01-25 22:46:24 291

原创 c++ 每日一练 day3

题目//3.建立一个矩阵类Matrix,存储一个4 * 4的矩阵并能在矩阵中查找某数。要求如下://(1)私有数据成员//int p[4][4]:存储一个4 * 4的矩阵的值。//int n:矩阵的行数。//int x:存储根据查找要求在矩阵中要查找到的某数。//int row,col:存储该数所在的行、列值。//(2)公有成员函数//构造函数:初始化n的值为4,x、row、col为0

2018-01-24 22:10:39 254

原创 c++每日一练 day2

建立一个类SUM,求二维数组外围各元素的和,并且输出数组各元素及所求之和。

2018-01-23 21:30:11 343

原创 c++每日一练 day 1

1.建立一个类PrimeNUM,求指定数据范围内的所有素数(质数)

2018-01-23 20:55:21 356

原创 (c++)类模板与函数模板实例:通用数组

为何需要函数模板当我们要实现相同的功能,参数类型却又不同时,可以用函数重载在实现函数名相同的函数,这样编译器可以通过检测不同的参数类型,来调用不同的函数。既然函数重载区别之一在于参数类型的不同,那么函数的类型能否可以当参数进行传递,从而只需写一个函数就可以实现不同类型参数的传递?通过函数模板可以实现。函数模板格式举个简单的例子,交换两个变量的值template T>void

2018-01-16 21:00:54 1103

原创 c++入门(c++与C语言的区别)

全局空间C语言的全局空间是唯一的c++对全局空间进行划分,并对空间起名,不同空间不会相互影响。 其中全局空间是默认命名空间空间之间可以嵌套头文件在加入了命名空间以后,头文件的包含也做了相应的变化 c++中:直接 去掉 .h (test.h ==>test),前者无命名空间,后者有命名空间 c语言中: 去掉 .h 前面加 c

2018-01-12 17:38:23 417

原创 聊天室服务器(select实现监听)

关于聊天室的服务器服务器用来接收客户端的请求与消息,并发送消息,服务器端不需要进行操作。服务器通过文件描述符来检测不同的客户端发送的消息 大部分的服务器采用的是多线程的方式进行接收与发送,我采用了select来监听所有文件描述符在开启客户端时需要输入本机IPv4地址头文件#ifndef _SERVER_H_#define _SERVER_H_#define colo

2017-12-31 23:22:41 863

原创 聊天室客户端(多线程)

头文件#ifndef _SERVER_H_#define _SERVER_H_#define color_none "\033[0m"#define color_red "\033[1;5;31m"#define color_purple "\033[1;5;35m"#define color_green "\033[1;5;32m"#de

2017-12-31 23:19:44 519

原创 进程与线程,信号量与互斥量的区别

什么是进程?进程是一个程序正在执行的实例。每个这样的实例都有自己的地址空间和执行状态。 进程有一个PID(Process ID,进程标识),用以区分各个不同的进程。内核记录进程的PID与状态,并根据这些信息来分配系统资源(如内存等)。 当内核产生一个新的PID,生成对应的用于管理的数据结构,并为运行程序代码分配了必要的资源,一个新的进程就产生了。什么是线程?线程是进程的一个

2017-12-09 21:03:24 1233

原创 进程间通信2

信号量什么是信号量为了防止出现因多个程序同时访问一个共享资源而引发的一系列问题,我们需要一种方法,它可以通过生成并使用令牌来授权,在任一时刻只能有一个执行进程访问代码的临界区域。临界区域是指执行数据更新的代码需要独占式地执行。而信号量就可以提供这样的一种访问机制,让一个临界区同一时间只有一个进程在访问它,也就是说信号量是用来调协进程对共享资源的访问的。信号量是一个特殊的变量,程序对其访问都是原子操作

2017-12-07 20:05:51 201

原创 进程间通信1

为什么进程间要通信?数据传输:一个进程需要将它的数据发送给另一个进程 资源共享:多个进程之间共享同样的资源 通知事件:一个进程需要向另一个或一组进程发送消息,通知它们发生了某种事情。 进程控制:有些进程希望完全控制另一个进程的执行(如Debug进程),此时控制进程希望能够拦截另一个进程的所有操作,并能够及时知道它的状态改变管道通信什么是管道管道是单向的、先进先出的,它把一个进程的输出和另一个进

2017-12-07 19:59:30 219

原创 进程控制

基础概念什么是进程?进程是一个具有一定独立功能的程序的一次运行活动 进程是一个程序正在执行的实例。每个这样的实例都有自己的地址空间和执行状态。进程执行状态执行状态 进程正在占用CPU。就绪状态 进程已具备一切条件,等待分配CPU。等待状态 进程不能使用CPU,若等待的事件发生则可将其唤醒。进程ID每个进程都有一个ID(ID是一个正整数),唯一标识了系统中的这个进程。 每个进程都有一

2017-12-06 20:35:31 236

原创 Linux文件系统编程

系统调用为什么用户程序不能直接访问内核提供的服务?在Linux中,为了更好地保护内核空间,程序的运行空间分为内核空间和用户空间(也就是常称的内核态和用户态),它们分别运行在不同的级别上,在逻辑上是相互隔离的。因此,用户进程在通常情况下不允许访问内核数据,也无法使用内核函数,它们只能在用户空间操作用户数据,调用用户空间的函数。是不是系统调用或库函数一定会执行成功?怎么知道执行成功或失败?执行失败了怎么

2017-12-04 22:56:50 1087

原创 停车场项目

停车场项目需求问题描述:停车场是一个能放 n 辆车的狭长通道,只有一个大门,汽车按到达的先后次序停放。若车场满了,车要停在门外的便道上等候,一旦有车走,则便道上第一辆车进入。当停车场中的车离开时,由于通道窄,在它后面的车要先退出,待它走后在依次进入。汽车离开时按停放时间收费。基本功能要求: (1)建立三个数据结构分别是:停放栈、让路栈、等候队列。 (2)输

2017-11-29 18:42:15 376

原创 c语言:查找两个字符串的最大公共子串

题目:编程实现查找两个字符串的最大公共子串 示例:”aocdfe”和”pmcdfa”最大公共子串为”cdf” 思路: 输入两个字符串,由短字符串的长度决定比较次数。 每次比较一个字符,从短字符串的第一个依次与长字符串的每一个字符比较,若出现相同的字符,则两个字符串各自取下一位进行比较,直到出现不相同字符的为止。(同时要注意比较是不能超出短字符串的长度,不然会

2017-11-24 20:15:04 19742 6

原创 题目:生日蜡烛

某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛。现在算起来,他一共吹熄了236根蜡烛。 请问,他从多少岁开始过生日party的? (第七届蓝桥杯B组真题(第二题)) 思路: 由于不知道从几岁开始和过得次数,需要定义两个变量进行两次循环,由于这是一个等差数列,第一次与最后一次想加,第二次与倒数第二次相加…… 数值都是相等的,所以知道次数与第一个

2017-11-24 17:44:25 737

原创 通讯录项目(完善版)

学完链表写了一个通讯录的项目,具体要求如下:语言:c语言格式:编号姓名手机号码 :11位数住宅电话 :8位数要求:使用结构体形式对数据存储功能:使用链表实现增加(在增加人员的过程中有一 个自动排序功能,比如按姓名排序)、删除、修改、查找(比如:工号查找、电话查找)的功能; (1)添加用户信息(号码长度 号码是否重复) (2)列出用户信息(按姓名排序) (3)查找用户信息(

2017-11-23 01:26:31 436 1

原创 学完C语言结构体后的小项目编写(教务系统)

可实现的功能1.输入学生信息2.查询指定学生信息3.查询成绩排序4.修改学生信息5.输出所有学生信息#include #include #include struct edu_adm{ char name[10]; int id; int chinese; int math;};typedef struct edu_adm info;void sh

2017-11-17 22:48:42 817 1

原创 编写程序,实现strlen()相同功能myStrlen()函数

#include<stdio.h>int my_strlen(char *p){ int length = 0; while(*p++ != 0) { length++; } return length;}int main(){ char str[10] = "hello"; int a; a = my_strl

2017-11-16 20:57:01 3824

原创 C语言结构体(预习)

结构体声明(structure declaration)的一个例子如下:struct book { char title[MAXTITL]; char author[MAXAUTL]; float value;}; 上述声明描述了一个由两个字符数组和一个float变量组成的结构体。上述声明并没有创建实际的数据对象,只是描述了组成这类对象的元素(数据该如何存储)。创建结

2017-11-16 20:53:02 372

原创 编写程序,实现strcpy()相同功能myStrcpy()函数

#include<stdio.h>char *my_strcpy(char *p,char *q){ char *tmp = p; while((*p++ = *q++) != '\0'); return tmp;}int main(){ char str1[20] = "hello"; char str2[20] = "hey"; char *m

2017-11-15 21:00:35 4308 1

原创 内存分配

若共有4G内存,假设内核态分配1G,用户态分配3G1G内核态3G用户态其中,用户态可分为:BSS 未初始化全局变量数据段  初始化全局变量代码段   代码,常量堆   malloc分配(用户管理)栈   局部变量,形参(系统 管

2017-11-15 20:52:26 170

原创 编写程序,实现strcmp()相同功能myStrcmp()函数

strcmp的作用是比较字符串1和字符串2#include<stdio.h>#include<string.h>int main(){ char str1[100] , str2[100]; printf("请输入两个字符串1:"); gets(str1); printf("请输入两个字符串2:"); gets(str2); int m, n, i,

2017-11-15 20:15:58 5756

原创 指针预习

计算机中所有的数据都必须放在内存中我们将内存中字节的编号称为地址(Address)或指针(Pointer)CPU 只能通过地址来取得内存中的代码和数据CPU 访问内存时需要的是地址,而不是变量名和函数名!变量名和函数名只是地址的一种助记符,当源文件被编译和链接成可执行程序后,它们都会被替换成地址。编译和链接过程的一项重要任务就是找到这些名称所对应的地址。需要注意的是,虽然变量名、函数名、字符

2017-11-13 21:00:24 220

原创 数组与指针预习

c语言处理数组非常有效数组和指针能非常和谐的一起工作。数组跟指针可以相互转换。使用指针比使用数组下标快两倍。将数组作为参数传递给函数和将数组中第一个元素的指针传递给函数是完全等价的。数组下标总是从0开始 计算机中所有的数据都必须放在内存中,为了正确地访问这些数据,必须为每个字节都编上号码,就像门牌号、身份证号一样,每个字节的编号是唯一的,根据编号可以准确地找到某个字节。

2017-11-11 00:30:46 256

原创 Linux学习(Shell脚本)

Shell基本元素#!/bin/bash 必须的,指出shell的类型# 注释变量控制一个shell脚本vi mkdir.sh#!/bin/bash# this is mkdircd /homemkdir shellTestecho "shellTest is created."Shell脚本什么是 Shell脚本?如果你有一系列经常使用的Linux命令,你可以把他们存储在一个

2017-11-08 19:51:50 414

原创 Linux学习(gdb)

GDB是GNU的调试工具,它可以跟踪被调试的程序,进行设置断点、单步执行等操作。被调试的应用程序在编译时最好使用-g参数将调试信息编入目标文件中: gcc -g app.c -o app 用以下命令启动对程序app的调试: gdb app常用命令

2017-11-08 19:04:40 305

原创 Linux学习(Make和Makefile)

Make命令运行时,须要一个 Makefile 文件,以告诉make命令须要怎么样的去编译和链接程序。 一个Makefile文件包含五个方面的内容:具体规则隐含规则定义变量指令注释Makefile规则Makefile内容的核心是一系列的规则,这些规则告诉make程序要做的事以及做这件事所依赖的条件 规则的基本格式是:target: dependency (Tab字符)comm

2017-11-08 17:27:22 265

原创 Linux学习(gcc)

什么是gcc?gcc(GNU CCompiler)是GNU才推出的功能强大、性能优越的多平台编译器,gcc编译器能将c、c++语言源程序编译、链接成可执行文件,以下是gcc支持编译的一些源文件的后缀及其解释.c为后缀的文件,c语言源代码文件;.h为后缀的文件,是程序包含的头文件;.i为后缀的文件,是已经预处理过的c源代码文件;.o为后缀的文件,是编译后的目标文件;.s为后缀的文件,是汇编语

2017-11-08 17:04:16 320

原创 Linux学习(部分常用命令)

文件处理命令:file,mkdir,grep,dd,find,mv,ls,diff,cat,ln; 系统管理相关命令:df,top,free,quota,at,,lp,adduser,groupadd,kill,crontab;系统安全相关命令:passwd,su,umask,chgrp,chmod,chown,chattr,sudo,ps,who;文件处理file 作用:通过探测文件内容

2017-11-06 14:51:37 277

原创 Linux学习(部分重要目录结构)

/ : 根目录,只存放目录,不存放文件/bin (必需) :可执行二进制目录文件/dev*(必需)*:设备文件目录,存放系统下的文件,Linux下设备被当成文件,访问该目录下文件相当于访问设备/etc*(必需)*:操作系统的配置文件目录/home*(必需)*:系统默认的用户目录,新增用户账户时,用户的家目录都存放在该目录下/sbin*(必需)*:放置系统管理员使用的可执行命令(root用户

2017-11-06 10:26:50 440

空空如也

空空如也

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

TA关注的人

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