自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

奋斗的菜鸟

——天道酬勤

  • 博客(109)
  • 资源 (2)
  • 收藏
  • 关注

原创 C语言笔试题(19)——判断字符串回文

#include #include int str_test(char *str){ assert(str != NULL); char *p_top = str; char *p_end; while (*++str != '\0') ; p_end = --str; while (p_top <= p_end)

2012-09-10 15:49:48 1870

原创 C语言笔试题(18)——strcat函数实现

原型  extern char *strcat(char *dest,char *src);用法  #include   在C++中,则存在于头文件中。功能  把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'。说明  src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串,       返回指向d

2012-09-09 22:06:24 1524

原创 C语言笔试题(17)——三种常见的排序

1、直接插入排序#include #include void insert_sort(int a[], int n){ int i, j; for (i = 2; i < n; i++) //第二个纪录开始插入n - 1趟 { a[0] = a[i]; //设置监视哨 j = i - 1;

2012-09-09 11:44:08 1176

原创 C语言笔试题(16)——二叉树基本算法

#include #include struct node { char data; struct node *lchild, *rchild;};//根据前序遍历创建二叉树('.'代表为空的结点)//输入124...35...验证 struct node *create_tree(void) { struct node *root; c

2012-09-09 09:50:48 1424

原创 C语言笔试题(15)——atoi函数实现

功 能: 把字符串转换成整型数. 原型: int atoi(const char *nptr);  函数说明: 参数nptr字符串,如果第一个非空格字符不存在或者不是数字也不是正负号则返回零,否则开始做类型转换,#include #include int atoi(const char *str){ int num = 0; int sign = 0;

2012-09-07 16:29:53 1041

原创 C语言笔试题(14)——strcpy函数实现

原型声明:extern char *strcpy(char *dest,const char *src);  头文件:string.h 功能:把从src地址开始且含有NULL结束符的字符串赋值到以dest开始的地址空间  说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。              返回指向dest的指针#inclu

2012-09-05 21:42:00 1104

原创 C语言笔试题(13)——报数退出

有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位?分析:可以构造一个数组进行操作,声明一个变量来计数,将报到3的置0, 然后最后将数组中不为0的元素输出即为剩下的;#include #include int main(int argc, const char *argv[]){ int i, n

2012-09-05 20:33:04 2607

原创 C语言笔试题(12)——猴子吃桃问题

猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少?分析:到第九天吃完桃子后,还剩下一个桃子,假设第一天摘下x1个,吃完后剩下x2个即第二天的桃子数量,x1与x2符合 x1 - ((x1 / 2) + 1) = x

2012-09-05 20:17:10 1832

原创 linux网络编程——多路复用epoll模型简例

程序功能:    采用epoll构建TCP服务器,以便支持多客户端情况程序如下:(1)、server.c#include #include #include #include #include #include #include #include void setnoblocking(int socket_fd){ if (fcntl(socke

2012-08-21 21:44:08 923

原创 linux网络编程——多路复用select模型简例

程序功能:       TCP服务器端采用多路复用的方式构建服务器,能够支持多个客户端程序如下:(1)、server.c#include #include #include #include #include int main(int argc, const char *argv[]){ int listen_fd, client_fd; stru

2012-08-21 11:04:39 1041

原创 linux网络编程——UDP聊天程序(支持群聊与私聊)

程序功能:   能够支持多个客户端同时运行,具有群聊,私聊,上线通知,下线通知,系统消息等功能,相比前一个文章,新增了私聊功能程序如下:(1)、server.c#include #include #include #include #include #include #include #include #define CLIENT_LOGIN 100

2012-08-20 12:10:23 7388 10

原创 linux网络编程——UDP局域网聊天室

程序功能:    能够支持多个客户端运行,具有上线通知,群聊,下线通知,系统消息等功能程序如下:(1)、server.c#include #include #include #include #include #include #include #include #define CLIENT_LOGIN 100#define CLIENT_CHAT

2012-08-19 17:54:11 4310 2

原创 linux网络编程——TCP文件服务器

程序功能:     客户端能够通过命令显示文件服务器上的文件,能够上传、下载文件等等功能;程序如下:(1)、server.c#include #include #include #include #include #include #include struct message{ char cmd[10]; char filename[20

2012-08-19 12:22:51 2111 2

原创 linux操作系统编程——线程的应用

程序功能:       程序分成两个部分,一个写端一个读端,采用fifo进行进程间的通信,写端负责写入命令,读端负责读命令,读端采用多线程的方式进行编写程序,创建两个线程,一个唤醒线程用于唤醒发送线程,一个发送线程用于发送消息;主线程读取命令后,将命令添加到任务队列中,唤醒线程进行判断,如果任务队列为空则睡眠,否则唤醒发送线程,采用条件变量与互斥锁进行线程间的同步互斥;程序如下:

2012-08-18 12:25:12 782

原创 linux操作系统编程——消息队列实现类似QQ功能

程序功能:      能够支持多个客户端同时运行,支持群聊,私聊,查看当前在线用户,用户上线以及离线通知等等功能PS:如果有发现BUG,请批评指教。。程序如下:(1)、server.c#include #include #include #include #include #include #include #include #include

2012-08-17 12:18:37 1852

原创 linux操作系统编程——消息队列实现群聊功能

程序要求:      有服务器端与客户端,主要功能是实现客户之间的群聊功能,具体是客户端发送消息给服务器端,服务器端转发消息给所有的客户端,服务器端与客户端能够显示客户上线,聊天和离线等功能,主要是采用消息队列;程序如下:(1)server.c:#include #include #include #include #include #include #includ

2012-08-16 22:22:09 2561 1

原创 linux操作系统编程——共享内存读写(采用信号量进行同步互斥)

程序要求:     创建一个写端和一个读端,写端写入数据后读端才开始读,读端读完数据后,写端才可以开始写,这样的同步采用信号机制实现,并且写端与读端打开顺序不同也能实现功能;程序如下:(1)write.c(写端)#include #include #include #include #include #include #include #include "sem.h"

2012-08-16 12:26:47 5807 1

原创 linux操作系统编程——共享内存的读写(采用信号机制进行同步互斥)

程序要求:   创建一个写端和一个读端,写端写入数据后读端才开始读,读端读完数据后,写端才可以开始写,这样的同步采用信号机制实现,并且写端与读端打开顺序不同也能实现功能;程序如下:(1)、write.c(写端)#include #include #include #include #include #include #include #include type

2012-08-16 11:36:18 1320

原创 linux操作系统编程——fifo复杂C/S模型

程序要求:                                                     程序如下: 1、server.c#include #include #include #include #include #include #include #include typedef struct //定义一个数据结构用于f

2012-08-15 15:41:27 1218

原创 linux操作系统编程——fifo简单的C/S模型

简单的C/S模型程序要求:      按照下图方式进行编程:                                                     程序如下:server.c#include #include #include #include #include #include #include #include i

2012-08-09 18:04:24 1258

原创 linux操作系统编程——简单的pipe管道

程序要求:     子进程读,父进程写,由pipe管道来实现进程间的通信程序如下:#include #include #include #include static void child_read(int *);static void father_write(int *, int );int main(int argc, const char *argv[])

2012-08-09 16:34:00 1162

原创 linux操作系统编程——system函数的实现

程序要求:      了解system()函数的实现方式,采用自己的方式实现system()函数的功能;程序如下:#include #include #include #include #include int system_test(const char *cmdstring){ pid_t pid; int status; if

2012-08-08 20:41:57 3459 2

原创 linux操作系统编程——用exec函数族实现shell功能

程序要求:       采用exec函数族实现shell的功能;程序如下:#include #include #include #include int main(int argc, const char *argv[]){ pid_t pid; char buf[100]; char *arg[100]; int i = 0; w

2012-08-08 20:32:27 926 1

原创 linux操作系统编程——每隔一秒往文本文件写入时间

程序要求:(1)读写一个test.txt文件,每隔1秒往文件中写入一行时间日期数据;1、 2012-8-7 1:2:3....(2)下次启动程序时能够追加到原文件之后,并且序号能够衔接上原先序号;程序如下:#include #include #include #include int main(int argc, const char *argv[

2012-08-07 22:34:27 4654 1

转载 Qt学习之路(44): QSortFilterProxyModel

本文出自 “豆子空间” 博客,原文出处http://devbean.blog.51cto.com/448512/266500Qt为我们预定义了很多model,前面已经说过了QStringListModel、QDirModel(也算是Qt推荐使用的QFileSystemModel吧,这个在上一章最后重新加上了一段话,没有注意的朋友去看看哦)。今天我们要说的这个QSortFilterProxy

2012-07-27 17:03:03 607

转载 Qt学习之路(43): QDirModel

本文出自 “豆子空间” 博客,原文出处http://devbean.blog.51cto.com/448512/265658今天我们来看一个很有用的model:QDirModel。这个model允许我们在view中显示操作系统的目录结构。这次让我们先来看看运行结果:  这个界面很熟悉吧?不过这可不是由QFileDialog打开的哦,这是我们自己实现的。而提供这种实现支持的,

2012-07-27 16:45:27 758

转载 Qt学习之路(42): QStringListModel

本文出自 “豆子空间” 博客,原文出处http://devbean.blog.51cto.com/448512/265057今天开始我们要看看Qt的model-view类了。正如前面说的那样,之前三节的item class类只是Qt为了方便我们使用而封装了的一些操作。比起真正的model-view类来,那些类更易于使用,但是功能也会更简单,并且缺少实时性的支持,比如我们并不方便实现插入、删

2012-07-27 16:08:59 10014

原创 C和指针读书笔记——标准函数库

1、rand与srand函数产生伪随机数int rand(void);void srand(unsigned int seed);  rand返回一个范围在0和RAND _MAX之间的伪随机数,为了避免程序每次运行时获得相同的随机数序列,可以使用srand函数对随机数发生器进行初始化;常用的技巧是使用每天的时间作为随机数发生器的种子:srand((uns

2012-07-27 10:18:59 1169 3

转载 Qt学习之路(41): QTableWidget

本文出自 “豆子空间” 博客,原文出处http://devbean.blog.51cto.com/448512/264422今天的QTableWidget是最后一个items class类型了。不过这并不是model-view的终结,因为我们现在还只是接触到了最简单的model-view的封装类,更复杂和强大的model-view类型的应用还没有见识到呢! QTableWidget

2012-07-26 16:54:07 538

转载 Qt学习之路(40): QTreeWidget

本文出自 “豆子空间” 博客,原文出处http://devbean.blog.51cto.com/448512/262296接着前面的内容,今天要说的是另外一个item view class,QTreeWidget。顾名思义,这个类用来展示树型结构。同前面说的QListWidget类似,这个类需要同另外一个辅助类QTreeWidgetItem一同使用。不过,既然是提供方面的封装类,即便是看

2012-07-26 16:38:02 554

转载 Qt学习之路(39): QListWidget

本文出自 “豆子空间” 博客,原文出处http://devbean.blog.51cto.com/448512/251391前面一节简单概述著名的MVC模式在Qt中的实现,现在我们从QListWidget开始了解Qt提供的一系列方便的item view类。 第一个要说的是QListWidget。这个类为我们展示一个List列表的视图。下面还是先看代码: listwidget

2012-07-26 16:03:53 557

转载 Qt学习之路(38): model-view架构

本文出自 “豆子空间” 博客,原文出处http://devbean.blog.51cto.com/448512/250566从这一节开始,我们进入model-view阶段。这一阶段主要还是依据 C++ GUI Programming with Qt4, 2nd Edition。 我们的系统有很多数据显示的需求,比如从数据库中把数据取出,然后以自己的方式显示在我们自己的应用程序的界面

2012-07-26 15:39:40 492

原创 C和指针读书笔记——输入/输出函数

1、标准规定了标准函数库中的函数接口操作,有助于提高程序的可移植性;2、标准库函数在errno中保存错误代码之后将这个信息传递给用户,提示操作失败的原因;   注:只有当一个库函数失败时,errno才会被设置,当函数成功执行时,errno的值不会被修改,因此我们不能通过测试errno的值来判断是否有错误发生,使用perror是一个很好的办法;3、perror函数与exit函数p

2012-07-26 10:58:20 819

原创 配置Ubuntu——安装配置samba

环境:Ubuntu 10.10    如今使用apt-get install的方式,只能安装到samba4了,而网上许多配置文档都是关于samba的;因此就采用默认的方式安装samba4了1、首先安装samba $ sudo apt-get install samba smbfs2、创建共享目录 $ mkdir -p ~/share $ chmod 77

2012-07-23 11:49:20 5683 2

原创 配置Ubuntu——安装配置Vim

环境:  Ubuntu 10.10在配置新的Ubuntu之前,最好执行下刷新源: $ sudo apt-get update1、安装vim: $ sudo apt-get install vim2、安装vim插件:jeffy-vim    jeffy-vim下载地址:http://code.google.com/p/jeffy-vim/(1)、安装前准备

2012-07-22 18:10:05 1143

转载 Qt学习之路(37): Qt容器类之关联存储容器

本文出自 “豆子空间” 博客,原文出处http://devbean.blog.51cto.com/448512/248373今天我们来说说Qt容器类中的关联存储容器。所谓关联存储容器,就是容器中存储的一般是二元组,而不是单个的对象。二元组一般表述为,也就是“键-值对”。 首先,我们看看数组的概念。数组可以看成是一种形式的键-值对,它的Key只能是int,而值的类型是Object,也

2012-07-20 16:32:54 565

转载 Qt学习之路(36): Qt容器类之遍历器和隐式数据共享

本文出自 “豆子空间” 博客,请务必保留此出处http://devbean.blog.51cto.com/448512/247353前面说过,Qt容器类提供了两种遍历器:Java风格的和STL风格的。前者比较容易使用,后者则可以用在一些通过算法中,功能比较强大。 对于每一个容器类,都有与之相对应的遍历器:只读遍历器和读写遍历器。只读遍历器有QVectorIterator,QLink

2012-07-19 23:01:06 680

转载 Qt学习之路(35): Qt容器类之顺序存储容器

本文出自 “豆子空间” 博客,原文出处http://devbean.blog.51cto.com/448512/245988本来计划先来说下model/view的,结果发现model/view涉及到一些关于容器的内容,于是就把容器部分提前了。 容器Containers,有时候也被称为集合collections,指的是能够在内存中存储其他特定类型的对象的对象,这种对象一般是通用的模板

2012-07-19 22:17:32 541

转载 Qt学习之路(34): 国际化(下)

本文出自 “豆子空间” 博客,原文出处http://devbean.blog.51cto.com/448512/245063上次说了国际化的过程,现在来看一下具体的国际化的相关代码。 在代码中,我们使用tr()将需要翻译的字符串标记出来。lupdate工具就是提取出tr()函数中的相关字符串。tr()函数是QObject类的一个static函数,其签名如下: sta

2012-07-17 21:32:31 422

转载 Qt学习之路(33): 国际化(上)

本文出自 “豆子空间” 博客,原文出处http://devbean.blog.51cto.com/448512/2446892D绘图部分基本告一段落,还在想下面的部分要写什么,本来计划先说下view-model的相关问题,但是前面看到有朋友问关于国际化的问题,所以现在先来说说Qt的国际化吧! Qt中的国际化的方法有很多,常用的有使用QTextCodec类和使用tr()函数。前者将编

2012-07-17 21:31:35 510

单片机原理复习题

适合广大大学生学习单片机,为考试复习提供帮助,这份是从很多考卷整合的资料。

2011-12-29

C语言编程习惯和修养

里面详细介绍了C语言代码风格的规范,希望对大家有帮助

2011-12-17

空空如也

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

TA关注的人

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