
学习笔记
liujf
用行动证明一切
展开
-
APM_01
一、命名管道1.1、服务端using System;using System.IO.Pipes;using System.Text;namespace Server{ internal sealed class PipeServer { private readonly NamedPipeServerStream _pipe = new NamedPipeSer原创 2015-05-17 11:33:44 · 680 阅读 · 0 评论 -
C语言学习笔记(20结构体)
1、结构体的定义2、结构体的定义和赋值3、获取结构体变量中的成员#include #include /*获取结构体变量中的每一个成员方式:1、结构体变量名.成员名2、指针变量名->成员名*///定义一个学生的结构体struct Student//这只是定义了一个新的数据类型,并没有定义变量{ int age; float scroe; char原创 2011-10-23 14:20:03 · 605 阅读 · 0 评论 -
C语言学习笔记(10)
1、一维数组:b/a代表的是数组中第一个元素的地址...2、把一个数组中的元素给倒过来#include #include int main(void){ int a[8]={1,2,3,4,5,6,7,8}; int i,j,t; i=0; j=7; while(i<j) { t=a[i]; a[i]=a[j]; a[j]=t; i++原创 2011-09-04 14:24:18 · 441 阅读 · 0 评论 -
C语言学习笔记(9)
1、判断用户输入的数是否是回文数#include #include int main(void){ int val;//存储用户输入的数字 int m; int sum=0; printf("请输入需要判断的数字:"); scanf("%d",&val); m=val; while(m) { //将数字倒序后存储在sum中 sum=sum*10+m%10; m原创 2011-08-28 17:36:59 · 536 阅读 · 0 评论 -
C语言学习笔记(7)
1、根据输入的分数求等级(注意逻辑运算符的处理,C语言中真用1表示,假用0表示)2、三个数排序#include #include int main(void){ int a,b,c,t; printf("请输入三个数,以空格隔开:"); scanf("%d %d %d",&a,&b,&c); if(a<b) { t=a; a=b; b=t; }原创 2011-08-21 14:30:00 · 716 阅读 · 0 评论 -
C语言学习笔记(6)
#include int main(){ int k=20; int m; m=(3>2)&&(k=8); printf("m=%d,k=%d\n",m,k); return 0;}//输出: m=1,K=8原创 2011-08-21 12:06:45 · 544 阅读 · 0 评论 -
C语言学习笔记(21结构体)
1、通过函数完成对结构体变量的输入和输出/*通过函数完成对结构体变量的输入和输出*/#include #include #include //定义一个结构体类型struct Student{ int age; char sex; char name[100];};void InputStudent(struct Student * p);void OutP原创 2011-10-30 13:52:39 · 830 阅读 · 0 评论 -
C语言学习笔记(19跨函数使用内存)
1、静态变量不能跨函数使用内存/*此代码是错误的,目的是为了演示静态变量不能跨函数使用静态内存由系统分配,当函数执行完毕由系统自动释放*/# include # include void f(int ** q){ /*q是指针变量,无论是什么类型的指针变量都只占4个字节 q=&p。q存放了p的地址 q存放的是int *类型的变量地址,q变量的类型是int **,*q原创 2011-10-15 15:06:06 · 1509 阅读 · 0 评论 -
C语言学习笔记(17指针)
1、动态创建一维数组示意图2、动态创建一维数组示例:#include#include#includeint main(void){ int a[5];//静态数组,如果int占4个字节的话,则本数组包含20个字节,每4个字节被当作一个int变量来使用. int len; int * pArr; int i; //动态的构造一维数组 printf("请输入你要存放原创 2011-10-07 18:50:32 · 660 阅读 · 0 评论 -
C语言学习笔记(18多级指针)
1、多级指针示意图2、配套代码原创 2011-10-15 14:40:31 · 754 阅读 · 0 评论 -
C语言学习笔记(16指针)
1、动态内存分配2、为什么需要动态分配内存3、动态分配内存函数malloc_1/*malloc是memory(内存)和allocate(分配)的缩写*/#include #includeint main(void){ int i=5;//分配了4个字节 静态分配 int * p = (int *)malloc(4);//12行 /* 1、要使用mallo原创 2011-10-07 11:11:29 · 651 阅读 · 0 评论 -
C语言学习笔记(15指针)
1、指针变量的运算 不能相加、不能相乘、也不能相除 如果两个指针变量指向的是同一块连续空间中的不同的存储单元,则这两个指针变量才可以相减2、列如:输出的结果是:33、指针变量所占的字节数4、一个字节一个编号、一个字节占8位原创 2011-10-06 11:13:21 · 477 阅读 · 0 评论 -
C语言学习笔记(23补码)
#include #include int main(void){ int i=-3;//4个字节(32位:4*8位) printf("%#X",i);//以16进制输出.输出结果是:0XFFFFFFFD请按任意键继续. . . printf("%X",i);//输出结果是:FFFFFFFD请按任意键继续. . . system("pause"); return 0; /* 计原创 2011-11-20 17:52:30 · 1222 阅读 · 0 评论 -
C语言学习笔记(24链表)
一、链表和数组的比较二、链表中的术语三、算法四、链表结构示意图五、示例代码#include #include #include //定义一个链表结构struct Node{ int data;//数据域 struct Node * pNext;//指针域};//函数声明struct Node * CreateList(vo原创 2011-11-27 15:19:01 · 914 阅读 · 0 评论 -
电脑基础知识
原创 2013-09-08 16:39:39 · 768 阅读 · 0 评论 -
MVC学习实例记录(使用MVC4做的电影管理程序)
源代码:点击打开链接原创 2013-08-18 18:16:19 · 1609 阅读 · 0 评论 -
C语言学习笔记(22结构体综合应用学生信息管理)
#include #include #include void PutInFun(struct Student * pArr,int len);void OutPutFun(struct Student * pArr,int len);void SortByScore(struct Student * pArr,int len);struct Student{ char name[原创 2011-11-13 15:27:45 · 1193 阅读 · 0 评论 -
C语言学习笔记(14指针)
3、例子#include#include//输出一维数组的元素void f(int * pArr,int len){ int i; for(i=0;i<len;i++) { printf("%d ",pArr[i]);//pArr[i]等价于*(pArr+i)。pArr等价于a、b。 } printf("\n");}int main(void){ //a是一个原创 2011-10-05 12:30:33 · 585 阅读 · 0 评论 -
C语言学习笔记(11)
1、函数原创 2011-09-04 17:17:40 · 444 阅读 · 0 评论 -
C语言学习笔记(8)
1、浮点数存储所带来的问题float和double都不能保证可以精确的存储一个小数 比如:float=6.234 很可能计算机中存储的是6.233999例题:有一个浮点型变量X怎么判断x的值是否为0if(|x-0.000001|<=0.000001) 是零else 不是零2、循环更新中的变量不能定义成浮点型3、进制: (1)、什么叫n进制:逢n进原创 2011-08-28 15:59:07 · 848 阅读 · 0 评论 -
C语言学习笔记(5)
1、一些容易忘记的东西%d以十进制输出%x或%X以十六进制输出%0以八进制输出八进制前面加数字0不是字母"o";ASCII是一种规定,他规定了字符是使用哪一种数字去表示。float X=3.2float y=3.2e3=3.2*10*10*10=3200;e:代表10e3:表示10的3次方.2、字节字节是存储数据的单位,并且是硬件能访问的最小单位原创 2011-08-13 13:26:46 · 415 阅读 · 0 评论 -
C语言学习笔记(4)
1、求解一元二次方程#include "stdafx.h"# include # include int main(void){ //把三个系数保存到计算机中 int a,b,c;//=不表示相等,表示赋值 double delta; //delt存放的是 b*b - 4*a*c double x1; //存放一元二次方程的其中一个解 double x2; //存放一元二次方原创 2011-08-07 18:14:38 · 721 阅读 · 0 评论 -
C语言学习笔记3
main(){ int i,j,s; for(i=1;i<=9;i++) { for(j=1;j<=i;j++){ s=j*i; printf("&d*%d=%d",j,i,s);} printf("\n") }} 1、for循环和while的区别:知道循环次数的时候用for循环不知道循环次数的时候用while循环,当满足某个原创 2011-07-30 17:45:08 · 365 阅读 · 0 评论 -
C语言学习笔记(13指针)
1、指针经典程序交换两个数字#include #include void Swap1(int a,int b){ //交换的是形参a,b的值 int t; t=a; a=b; b=t;}void Swap2(int* p,int* q){ int* t; t=p; p=q; q=t; //执行完后p保存的是b的地址,q保存的是a的地址, //但是主函数原创 2011-09-25 14:00:06 · 714 阅读 · 0 评论 -
C语言学习笔记(26 The End)
一、补充知识二、C语言测试题下载请点击:C语言测试题及答案原创 2011-12-11 17:51:41 · 585 阅读 · 0 评论 -
C语言学习笔记(运算符)
一、定义二 、示例代码#include #include int main(void){ int i=21; int j=7; int k; /*====== 一 =======*/ k=i&&j;//&&:逻辑运算与:它的值只能是真或假,在C语言中真用1表示,假用0表示 printf("i&&j= %d\n",k); k=i&j;//&:位运算与:原创 2011-12-04 12:07:55 · 782 阅读 · 0 评论 -
C语言学习笔记(12指针)
1、初识指针2、指针的定义、分类和重要性3、指针和指针变量的区别原创 2011-09-24 14:05:10 · 705 阅读 · 2 评论 -
数据结构笔记(3)数组的算法
连续存储 数组的算法演示#include #include #include struct Arr{ int * pBase;//存储数组第一个元素的地址 int len; //数组所能容纳的最大元素的个数 int cnt; //当前数组有效元素的个数};void intail_arr(struct Arr * pArr,int length);void show_arr原创 2012-01-08 18:49:10 · 472 阅读 · 0 评论 -
数据结构学习笔记(2)指针和结构体复习
一、指针1、使用指针#include #include int main(void){ double * p; double x=66.6; p=&x; /*x占8个字节,一个字节是8位,一个字节一个地址; 但这里并不表示p保存了8个地址,实际上p只保存了一个地址 一般p保存的是第一个地址。 (虽然这里的x是double类型占8个字节,但是指针变量只占4个字节(它原创 2011-12-25 11:00:29 · 554 阅读 · 0 评论 -
数据结构学习笔记(1)
一、一些概念二、测试代码#include #include //测试数组的存储空间是连续的int main(void){ //数组名a的含义:a存放了数组第一个元素的地址,那么*a就等价于a[0] int a[5]={1,2,3,4,5}; printf("第一个元素的地址是%d\n",a ); printf("第二个元素的地址是%原创 2011-12-18 17:27:30 · 394 阅读 · 0 评论 -
编写高质量C#代码学习笔记(4)
建议13: 为类型输出格式化字符串针对Person的格式化器的实现为:class PersonFomatter : IFormatProvider, ICustomFormatter { #region IFormatProvider 成员 public object GetFormat(Type formatType) { i原创 2011-11-10 22:40:36 · 480 阅读 · 0 评论 -
编写高质量C#代码(5)
建议14: 正确实现浅拷贝和深拷贝一、浅拷贝浅拷贝 将对象中的所有字段复制到新的对象(副本)中。其中,值类型字段的值被复制到副本中后,在副本中的修改不会影响到源对象对应的值。而引用类型的字段被复制到副本中的是引用类型的引用,而不是引用的对象,在副本中对引用类型的字段值做修改会影响到源对象本身。using System;using System.Collections.Generi原创 2011-11-11 21:13:32 · 526 阅读 · 0 评论 -
编写高质量C#代码学习笔记(3)
建议10: 创建对象时需要考虑是否实现比较器有对象的地方就会存在比较,在.NET的世界中也一样。举个最简单的例子,在UI中,有一个10个人的Salary列表。根据排序的需要,列表要支持针对基本工资来罗列Salary。这个时候,接口IComparable就会起作用,代码如下所示:class Salary : IComparable { public string Na原创 2011-11-09 21:42:17 · 635 阅读 · 0 评论 -
编写高质量C#代码学习笔记(2)
建议6: 区别readonly和const的使用方法很多初学者分不清readonly和const的使用场合。在我看来,要使用const的理由只有一个,那就是效率。但是,在大部分应用情况下,“效率”并没有那么高的地位,所以我更愿意采用readonly,因为readonly赋予代码更多的灵活性。const和readonly的本质区别如下:const是一个编译期常量,readon原创 2011-11-06 20:28:29 · 497 阅读 · 0 评论 -
编写高质量C#代码学习笔记(1)
建议1: 正确操作字符串字符串应该是所有编程语言中使用最频繁的一种基础数据类型。如果使用不慎,我们就会为一次字符串的操作所带来的额外性能开销而付出代价。本条建议将从两个方面来探讨如何规避这类性能开销:确保尽量少的装箱避免分配额外的内存空间先来介绍第一个方面,请看下面的两行代码:1. String str1 = "str1"+ 9; 2. String原创 2011-11-06 20:15:25 · 647 阅读 · 0 评论 -
编写高质量C#代码学习笔记(6)
区分异步和多线程应用场景在软件开发过程中,有一个领域的工作处理起来几乎总是最棘手的,这就是多线程编码。由多线程带来的传值、取值、资源同步、线程暂停、取消等操作会困扰每一个尝试编写此类代码的程序员。微软在这方面也做了巨大的努力,现在FCL中有了非常丰富的API可供选择,以便编写多线程代码。但这也带来了一个新问题:选择太多了,该选择什么样的类和方法呢?本章将通过具体的实例,让我们熟原创 2011-11-19 18:15:42 · 565 阅读 · 0 评论 -
编写高质量C#代码学习笔记(5)
使用dynamic来简化反射实现dynamic是Framework 4.0的新特性。dynamic的出现让C#具有了弱语言类型的特性。编译器在编译的时候不再对类型进行检查,编译器默认dynamic对象支持开发者想要的任何特性。比如,即使你对GetDynamicObject方法返回的对象一无所知,也可以像如下这样进行代码的调用,编译器不会报错:dynamic dynamicObjec原创 2011-11-15 20:09:08 · 823 阅读 · 0 评论 -
WCF笔记(2)数据协定
一、使用数据协定的好处:1、使用数据协定可以灵活控制哪些成员应该被客户端识别。2、隐藏真实身份(给类或成员取别名)二、代码示例1、服务端定义实现数据协定的类using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading原创 2013-03-13 21:42:43 · 911 阅读 · 0 评论 -
WCF笔记(3)发送和接收SOAP(消息)头
一、定义消息头是附加信息,那有啥用呢?你可别说,有时候还真有不少用处。举个例子,WCF的身份验证是不是很麻烦?还要颁发什么证书的(当然不是荣誉证书),如果只是验证一个客户端的身份,如用户名什么的,那么,在调用服务方法时,动态加入一些消息头,到了服务器端就获取并验证消息头。这样一来,是不是也实现身份验证?如何传递消息头?当然是客户端发送,服务器端接收的情况较多了二、示例代原创 2013-03-14 10:13:24 · 5408 阅读 · 0 评论 -
C语言学习笔记(2)
1、程序设计的结构顺序结构:代码一行一行的有序执行条件结构:有选择的执行(满足条件执行;不满足条件的不执行)循环结构:循环结构...2、main(){int a;scanf(%d,&a)if(a%2==0){printf("%d是偶数",a);}else{printf("%d是奇数",a);}}原创 2011-07-23 14:54:00 · 386 阅读 · 0 评论