自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 有关编辑项目的整体架构

一,切忌在分多.C文件编写时一次性去想全部功能的实现。        main()函数应该是最简单的,架构时只需想好下一步的需要实现功能的函数,具体实现内容不必深究。此处的函数是指自己要编写的函数,而不是要用到的系统函数。二,切忌用分函数写的方式提前去分.c文件编写程序。        多次的教训显示,提前用分函数的方法去分.c文件架构程序项目会导致程序逻辑的混乱,即使顺利

2017-03-12 14:19:20 294

转载 c语言中,随机数的生成,随机ID的原理及利用

一、rand()函数名:   rand功   能:   随机数发生器用   法:   int rand(void);所在头文件: stdlib.h函数说明 :rand()的内部实现是用线性同余法做的,它不是真的随机数,因其周期特别长,故在一定的范围里可看成是随机的。 rand()返回一随机数值的范围在0至RAND_MAX 间。RAND_MAX的范围最

2017-03-12 13:50:15 1589

原创 进程间通信

#include #include #include #include #include #include #include #include struct msgbuf{    long typeid;    char msg[1024];};int main(int argc, char *argv[]){

2017-02-08 16:09:41 175

原创 文章标题

include include include include include include include include

2017-02-08 16:05:36 175

原创 20170123

线程网络客户端的编写,客户端和上篇博客一致#include #include #include #include #include #include #include #define SER_PORT 3333struct message{    int action;    char name[20];    char

2017-01-23 17:09:57 186

原创 20170122

电子通讯录的网络登录与注册。#include #include #include #include #include #include #include #include #include "msg.h"#define SER_PORT 3333int handle(void * para,int count,char *

2017-01-22 21:40:23 182

转载 20170120

/******************* 服务器 *******************/    #include   #include   #include   #include     #include   #include   #include     #define SERV_PORT 8000    int main(int a

2017-01-21 14:05:19 177

转载 20170119

每个数据库都会在标准的SQL基础上扩展一些函数。函数一般会有一或多个输入(即参数),最终只返回一个值作为返回值。        SQL中的函数是独立的程序单元。调用时无需使用任何类、对象作为调用者。多行函数(也称 聚集函数、分组函数)        对多行输入整体计算,最后只得到一个结果。主要完成一些统计功能,在大部分数据库中基本相同。单行函数       

2017-01-19 22:40:02 214

原创 20170118

数据库的相关操作#include #include #include int main(int argc,char** argv){    int i;    int ret;    int id;    char name[1024];    int age;    sqlite3 * db;    char * errmsg;   

2017-01-18 23:28:35 229

原创 20170117

API函数应用,fopen,fclose,fseek,fputc,fgetc,fgets,fputs#include int main(int argc, char *argv[]){    if(argc != 3)    {        printf("please input two file name!\n");exit(1);    }   

2017-01-17 20:15:10 239

原创 20161219

链表的写法,三个插入,一个删除。#include #include struct node{    int num;    struct node *next;};typedef struct node Node;typedef struct node  * Link;void creat_link(Link

2016-12-19 21:59:52 217

转载 20161213

功能: 求n(n ≤ 65536)以内的所有阿姆斯特朗数原型:    int CalcArmstrongNumber(int n);输入参数:    int n: n ≤ 65536返回值:    n以内的阿姆斯特朗数的数量。[cpp] view plain copyint main()  {     

2016-12-13 21:01:10 173

原创 printf的实现,my_printf

1 #ifndef __PRINT_H_ 2 #define __PRINT_H_ 3 4 void print(char* fmt, ...); 5 void printch(char ch); 6 void printdec(int dec); 7 void printflt(double flt); 8 void printbin(

2016-12-12 22:05:00 632

转载 20161211

1、链表的引入(1)从数组的缺陷说起数组有2个缺陷,一个是数组中所有元素的类型必须一致;第二个是数组的元素个数必须事先制定并且一旦指定之后不能更改。(2)如何解决数组的2个缺陷:数组的第一个缺陷靠结构体去解决。结构体允许其中的元素的类型不相同,因此解决了数组的第一个缺陷。所以说结构体是因为数组不能解决某些问题所以才发明的。(3)如何解决数组的第二个缺陷?

2016-12-11 22:18:43 183

转载 20161205

简介  对于很多初学者来说,往往觉得回调函数很神秘,很想知道回调函数的工作原理。本文将要解释什么是回调函数、它们有什么好处、为什么要使用它们等等问题,在开始之前,假设你已经熟知了函数指针。  什么是回调函数?  简而言之,回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。

2016-12-05 22:28:54 235

转载 20161201

银行利率,包含一个时间和一个对应的利率。我用了一个Rate类来实现,并把相应的指针插入线性表。其中有一个问题是,怎么根据输入的年份来搜索线性表内的对应的指针并进行修改,删除操作。以前写这个的时候,特意把要用的线性表重写了一遍,使其可以直接搜索。这次再写的时候,隐约想起了所谓迭代器的知识,通过一个next函数,输出栈内的元素,而不必到栈中去查找了。写的过程中遇到了一个有意思的

2016-12-01 22:05:20 218

原创 20161129

百鸡百钱问题,公鸡5钱,母鸡3钱三只小鸡1钱百钱买白鸡#include int main(){    int i;    int j;    int s;    for(i = 0;i     {        for(j = 0;j {   for(s = 0;s    {       if((5 * i + 3 * j + s

2016-11-29 22:22:49 209

转载 20161128

如果一个数组中的所有元素保存的都是指针,那么我们就称它为指针数组。指针数组的定义形式一般为:dataType *arrayName[length];[ ]的优先级高于*,该定义形式应该理解为:dataType *(arrayName[length]);括号里面说明arrayName是一个数组,包含了length个元素,括号外面说明每个元素的类型为dataType *。

2016-11-29 00:12:36 211

转载 20161127

函数指针是指向函数的指针,可以用来做回调函数,也可以做函数的一个参数。其声明方法是:[cpp] view plain copy函数类型 (标志符指针变量名) (形参列表);  比如:[cpp] view plain copyint (*fp)(int a, int b);

2016-11-27 22:09:26 272

原创 20161126

做类似于从“i am from nanjin”到“nanjin from am i”的逆序句子。include #include #define MAX_SIZE 1024void reverse_word(char *src){    int word_len = 0;    while(*src != '\0')    {   

2016-11-26 22:40:28 266

原创 20161125

#include #include #define MAX 1000int main(void){    int i;    int n;    int len;    char temp;    int count = 0;    char ch[MAX];    printf("please input worlds\n");

2016-11-26 00:33:18 189

原创 20161125

#include #include #define MAX 1000int main(void){    int i;    int n;    int len;    char temp;    int count = 0;    char ch[MAX];    printf("please input worlds\n");

2016-11-26 00:31:44 234

转载 20161124

函数指针和一个简单的函数我们从一个非常简单的”Hello World“函数入手,来见识一下怎样创建一个函数指针。[cpp] view plain copy #include      // 函数原型  void sayHello();     //函数实现  void sayHello(){      pr

2016-11-24 21:15:58 314

转载 20161123

位移运算1.左移//C左移表达式x12  对于一个n位的操作数x,x  位移运算是从左至右可结合的,所以x2.右移//C右移表达式x>>k;12  一般而言,机器支持两种形式的右移:逻辑右移和算术右移。逻辑右移在左端补k个0;算术右移是在左端补k个最高有效位。3.一个例子TablesCool

2016-11-23 22:02:31 240

转载 20161122

函数:一段具有某些特定功能的代码段.使用函数的严格规定:1.函数声明2.函数定义3.函数调用函数声明:告知系统编译器该系统的函数名,函数参数,参数类型,参数个数,参数顺序等等,以便函数调用时对其进行校验.格式:函数返回值类型修饰符  函数名(参数);一般推荐复制声明一般放在.h文件中函数定义:也

2016-11-22 21:34:08 166

原创 20161121

今日主要掌握的内容为左右法则,先找到变量向右,()就是函数。【】就是数组往左*为指针函数要描述为形参和返回值练习的输入整型数字输出字符串,写成函数调用时,一个个输出的str一开始不知道怎样在主函数printf中表示,明天要看一下类似调用函数但输出一个一个输出的其他例子。

2016-11-21 23:14:06 191

转载 20161120

循环的嵌套:一个循环体语句中又包含另一个循环语句,称为循环嵌套。嵌套注意事项:1.使用循环嵌套时,内层循环和外层循环的循环控制变量不能相同。2.循环嵌套结构的书写,最好采用“右缩进”格式,以体现循环层次的关系。3.尽量避免太多和太深的循环嵌套结构用途:循环嵌套可以帮助我们解决很多问题,在C语言中经常被用于按行列方式输出数据,例如:[cpp] view

2016-11-20 22:06:14 601

原创 20161119

C++应用领域:1.游戏C++的效率是一个很重要的原因。2.科学计算在科学计算领域,FORTRAN是使用最多的语言之一。但是近年来,C++凭借先进的数值计算库、泛型编程等优势在这一领域也应用颇多。3.网络软件C++拥有很多成熟的用于网络通信的库,其中最具有代表性的是跨平台的、重量级的ACE库,该库可以说是C++语言最重要的成果之一,在许多重要的企业、部门甚至是军方都有应用。4.

2016-11-19 22:10:20 187

转载 20161118

set number " 显示行号  set backspace=2 "设置按delete键的时候可往左删除  set nocompatible " 关闭 vi 兼容模式  syntax on " 自动语法高亮  set cursorline " 突出显示当前行  autocmd InsertLeave * se nocul  autocmd InsertEnter * s

2016-11-18 22:45:32 273

原创 20161117

指向数组的指针 输入输出一维数组各元素。 方法1,下标法。 #include main() { int i,a[10]; for(i=0;iscanf("%d",&a[i]); for(i=0;iprintf("%4d",a[i]); printf("\n"); } 方法2,指针法。 #include main() { int i,a[10],*ptr=a;

2016-11-17 21:37:21 163

原创 20161116

将标准的makefile复制到计算器文件相应的文件下只需该一个scripts中的可执行文件改成自己计算器的可执行文件名称找一个字符串的子串个数include#define MAX 1000int main(){    int i = 0;    int j = 0;    int temp = 0;   

2016-11-16 22:28:44 153

转载 20161115

先上代码,有下面一段代码://下面是读取线状目标的记录内容的代码:procedure OnReadLineShp(ShpFileName:String);var  FileHandle:integer;  RecordNumber:integer;  ContentLength:integer;  num:integer;  shapeType:integer;

2016-11-15 21:34:06 162

转载 20161114

1.区别(主要的):指针需要增加一次额外的提取操作     编译器为每个变量分配一个地址(左值)。这个地址编译时可知,而且该变量在运行时一直保存于这个地址。相反,存储于变量中的值(它的右值)只有在运行时才可知。如果需要用到变量中存储的值,编译器就发出指令从地址读入变量值并将它存于寄存器中。     对于数组,如果编译器需要一个地址(可能还需要加上偏移)来执行某种操作,它可以直接进行操作

2016-11-14 21:12:32 154

原创 20161113

今天就主要熟悉了这一周课上的练习题,基本掌握。找了关于大数的一些资料,了解大致为linux 系统中单个进程的最大线程数有其最大的限制 PTHREAD_THREADS_MAX这个限制可以在 /usr/include/bits/local_lim.h 中查看对 linuxthreads 这个值一般是 1024,对于 nptl 则没有硬性的限制,仅仅受限于系统的资源这个系统的资源主要

2016-11-13 22:00:50 265

原创 20161112

GDB1.启动被调试程序2.让被调试程序在指定的位置停住3.当程序被停住时,可以检查程序状态变量值gcc -g  *c  -o  *run 运行;list查看;quit退出;break打断点;next/step否/是进入子函数 ,一步步执行Print 输出;continue结束运行;info查看断点信息;delete删断点;finish结束当前函

2016-11-12 22:28:17 218

原创 20161111

今天开始讲解开发工具。gcc交叉汇编-E预处理-c编译阶段-S汇编-o重命名-o1优化-w关闭警告(不用)-Wall开启所有警告-I第三方路径搜索-D外部定义宏-l链接库-L指定库文件搜索路径静态,动态库区别和建立“”和

2016-11-11 22:37:26 203

转载 20161110

Linux的发行版中包含了很多软件开发工具. 它们中的很多是用于 C 和 C++应用程序开发 的. 本文介绍了在 Linux 下能用于 C 应用程序开发和调试的工具. 本文的主旨是介绍如 何在 Linux 下使用 C 编译器和其他 C 编程工具, 而非 C 语言编程的教程. GNU C 编译器 GNU C 编译器(GCC)是一个全功能的 ANSI C 兼容编译器. 如果你熟悉其

2016-11-10 22:28:19 164

转载 20161109

htop 是Linux系统中的一个互动的进程查看器,一个文本模式的应用程序(在控制台或者X终端中),需要ncurses。与Linux传统的top相比,htop更加人性化。它可让用户交互式操作,支持颜色主题,可横向或纵向滚动浏览进程列表,并支持鼠标操作。与top相比,htop有以下优点:可以横向或纵向滚动浏览进程列表,以便看到所有的进程和完整的命令行。htop还可以查看cpu

2016-11-09 22:15:15 141

转载 20161108

随着XP的流行,人们越来越注重软件的前期设计、后期的实现,以及贯穿于其中的测试工作,经过这个过程出来的自然是高质量的软件。甚至有人声称XP会淘汰调试器!这当然是有一定道理的,然而就目前的现实来看,这还是一种理想。在日常工作中,调试工具还是必不可少的。在Linux下,调试工具并非只有gdb,还有很多其它调试工具,它们都各有所长,侧重方面也有所不同。本文介绍几种笔者常用的调试工具: 1

2016-11-08 21:53:53 141

原创 20161107

今天的收获主要是课上的三段程序,1,输出1到100的素数2,输出1到1000的完数3,键入一个数计算9出现的次数复习了if,for,while函数了解了基本格式,运算符两边空格,首字缩进4格。

2016-11-07 22:29:36 205

空空如也

空空如也

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

TA关注的人

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