- 博客(40)
- 收藏
- 关注
原创 [C]GCC编译
介绍GCC(GNU Compiler Collection,GNU编译器集合)是一套由GNU工程开发的支持多种编程语言的编译器。GCC是自由软件发展过程中的著名例子,由自由软件基金会以GPL协议发布。GCC支持多种语言,C/C++、Fortran、Ada等。GCC是大多数类Unix操作系统(如Linux、BSD、Mac OS X等)的标准的编译器,GCC同样适用于微软的Wind
2013-06-30 12:10:41
516
原创 [C]C语言编写windows程序
1. 引例为了便于对比,让我们以一个非常短的Windows程序和一个简短的文字模式程序开始。//文字模式(Character-Mode)模型main (){ printf ("hello, world\n") ;}以前C程序写作者在使用printf等C执行期链接库函数时,无需先声明它们。但是90年代后,我们愿意给编译器一个在我们的程序中标出错误的机会。
2012-12-30 22:20:40
344
原创 一些程序面试题
1. 字符串匹配,主字符串中找到子字符创并返回下标,没有匹配返回-1int CStringFind(const char *mainStr, const int mainLen, const char *subStr, const int subLen){ if (mai
2011-08-31 21:54:52
175
原创 [C++]操作符重载
重载操作符,程序员能够针对类类型的操作数定义不同的操作符版本。通过重载操作符,可以重定义大多数操作符,使它们用于类类型对象。一、定义与概述重载操作符是具有特殊名称的函数:operator后接需定义的操作符符号。像任意其他函数一样,重载操作符具有返回类型和形参表。ConfigInfo operator+( const ConfigInfo&, const ConfigInfo& );
2011-08-21 23:16:53
454
原创 线性表的实现
一、顺序表#include#include#define LIST_INIT_SIZE 100#define LISTINCREMENT 10typedef struct{ char *elem; int length; int listsize;}SqList;bool InitList_Sq(SqList &L){ L.elem = (char*)malloc
2011-08-15 00:01:11
267
原创 [C++]赋值操作符
定义类时,编译器会自动帮我们定义的有四个:构造函数、析构函数、复制构造函数、赋值操作符。赋值操作符定义了该类型的对象赋值时会发生什么。一、简单的操作符重载重载操作符是一些函数,其名字为operator后跟着所定义的操作符的符号。通过定义名为operator= 的函数,我们可以对赋值操作符进行定义。该函数有返回值和形参表。形参表必须具有与该操作符操作数数目相同的形参(如果操作符是成员函数,则
2011-08-06 18:36:05
561
原创 [C#,WinForm]进程输入、输出、错误流的重定向
首先,进程涉及的流有三种,输入流StandardInput、输出流StandardOutput、错误流StandardError,三者不可混淆,特别是输出流和错误流更是要注意不可混为一谈!比如在makefile编译过程中执行make命令,如果没有将错误流重定向输出,那么程序是不会显示原本应该打印的错误信息的。一、同步方式这里有一个简单编写的小例子,是一个win窗口程序。为点击按钮,在后
2011-08-03 23:37:34
2533
原创 C语言的几个注意之处
一、字节对齐(1)许多计算机系统对基本数据类型在内存中的存放位置有限制,它们会要求这些数据的首地址的值是某个数k(通常是4或8的倍数)。k称为对齐模数(2)对齐模数越大,则表示对齐的要求越严格,对齐的代价越大。(3)常见的系统对其的处理方法:win32下的
2011-08-01 23:09:18
541
转载 [C++]复制构造函数
只有单个形参,而且该形参是对本类类型对象的引用(常用 const 修饰),这样的构造函数称为复制构造函数。根据另一个同类型的对象显式或隐式初始化一个对象都会使用到复制构造函数:复制一个对象,将它作为实参传给一个函数。从函数返回时复制一个对象。初始化顺序容器中的元素。根据元素初始化式列表初始化数组元素。(1)对象的初始化形式C++ 支持两种初始
2011-07-31 21:06:55
1162
原创 [C]函数指针
一、声明 一个函数在编译时被分配一个入口地址。这个入口地址就成为函数的指针。像其他函数一样,函数指针也指向某个特定的类型。函数类型尤其返回类型以及形参表确定,与函数名无关。int (*p) (int, int);这个语句将p声明为指向函数的指针变量,该函数会有两个整型参数,返回值为整型。 *p两侧的括号是必需的,表示p先与*结合,是指针变量,然后再与后面的()结合,表示此指针
2011-07-30 13:15:32
264
原创 [C]数组和指针
它们很像vector和迭代器,C++程序尽量用vector和迭代器,除非有速度上的要求。一、数组数组是由类型名、标识符和维数组成的符合数据类型。1.定义和初始化需要注意的地方(1)数组长度是固定的,在编译之时就已确定好。(2)数组的维数必须用值大于等于1的常量表达式定义(千万不能用变量),此常量表达式只能包含整型字面值常量、枚举常量、用常量表达式初始化的整型const对象。
2011-07-16 18:35:41
375
转载 C-串与string
在C++中,有两种字符串:其一为C-字符串,为从C沿袭而来,简称C-串;另一为string类型。一、C-串1.其为字符串字面值,格式为 双引号括起来的字符序列。2.以 全零字节 结尾,即通常说的 \0 或 ASCII值为0 ,因此,C-串的空间长度会比表面上多1。若要将C-串放入
2011-07-14 23:32:26
302
原创 [C]浮点型数据
浮点常量(1)表示方法1.十进制小数形式。2.指数形式。如123e6,注意,e前必须有数字,e后必须为整数。e前的小数部分中,若小数点左边有且仅有1位非零数字,则为规范化指数形式。(2)类型默认作为双精度处理,一般占用 8 Bytes 内存。浮点变量(1)类型1.float一般占 4 Bytes 内存。2.double一般占8 B
2011-07-10 23:48:57
1217
原创 计算整数的二进制中1的个数
附有二进制输出:#include #include using namespace std;void bitOutput(int);void oneNum(int);int main(){ oneNum(9999); get
2011-07-05 21:05:46
335
原创 [C#]对excel文件的读取和写数据流
读取excel中的数据,按一定的数据格式写入:static void Main(string[] args){ string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + "C:/svm.xls" + ";Extended Properties='Excel 8.0;HDR=False;IMEX=1'";
2011-07-05 11:53:28
1238
原创 ms-sql身份验证模式配置
在默认情况下,SQL Server 2008采用集成的Windows安全验证且禁用了sa登录名。为了工作组环境下不使用不方便的Windows集成安全验证,我们要启用SQL Server 2008 混合安全验证,由SQL Server来验证用户而不是由Windo
2011-07-04 19:15:37
442
转载 使用UdpClient进行UDP通信
using System;using System.Text;using System.Windows.Forms;using System.Net;using System.Net.Sockets;using System.Threading;namespace WindowsFormsApplication1{ public partial class Form1 :
2011-07-02 21:20:22
1079
转载 TCP通信过程
服务器端:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;usi
2011-06-30 00:49:00
623
原创 栈的应用之表达式求值
以C++实现,具体而言为vector容器和stack适配器......但是程序还有完善:1) / 只有整除功能;2) 只支持2元算符,对1元算符不支持:如绝对值、负号;3) 健壮性不足,需要规范输入。源代码://evaluateExpression#include#include //stack adaptor#include //vector containerusing namespace std;char optr[7]={'+','-','*','/','(',')
2011-05-31 09:58:00
327
原创 几个递归程序
汉诺塔:#includeusing namespace std;void hanoi(int n,char x,char y,char z);void move(int n,char theFirst,char theSecond);int main(){ hanoi(4,'x','y','z'); getchar(); return 0;}void hanoi(int n,char x,char y,char z){ if(1==n) {
2011-05-24 12:55:00
195
转载 [C]关于extern “C”
extern "C" 包含双重含义,从字面上即可得到:首先,被它修饰的目标是"extern"的;其次,被它修饰的目标是"C"的。让我们来详细解读这两重含义。 (1) 被extern "C"限定的函数或变量是extern类型的。extern是C/C++语言中表明函数和全局变量作用范围(可见性)的关键字,该关键字告诉编译器,其声明的函数和变量可以在本模块或其它模块中使用。记住,下列语
2011-05-21 14:52:00
196
原创 二分查找
#includeusing namespace std;int BinSearch(int * R,int n,int K){ //在有序表R[0..n-1]中进行二分查找,成功时返回结点的位置,失败时返回-1 int low=0,high=n-1,mid; //置当前查找区间上、下界的初值 while(lowK) high=mid-1; //继续在R[low..mid-1]中查找 else low=mid+1; //继续在R[mid+1..high
2011-05-20 11:12:00
101
原创 对excel文件的读取和写数据流
读取excel中的数据,按一定的数据格式写入:static void Main(string[] args) { string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + "C:/svm.xls" + ";Extended Properties='Excel 8.0;HDR=False;IMEX=1'"; StreamWriter wriStr = new Str
2011-05-18 09:42:00
140
原创 一些sql语句
一个表中,FId字段标识为自动增长。以FId为序,检索第10~20条信息:selecttop 10 *fromTEssaywhereFIdnotin(selecttop 10 FIdfromTEssay)
2011-05-08 21:26:00
239
原创 排序
一、排序的对象——文件,由一组记录组成,每条数据由若干个数据域组成。二、排序的依据——关键字三、排序的稳定性——在待排文件中存在多个关键字相同的记录,经过排序后这些具有相同关键字的记录之间的相对次序保持不变,则该排序算法是稳定的;若具有相同关键字的记录之间的相对次序发生变
2011-05-05 15:37:00
300
原创 const型类成员
关于const类成员函数有以下几个需要注意的地方:1. 在普通的非const成员函数中,this的类型是一个指向类类型的const指针,而const成员函数中,this的类型是一个指向const类类型对象的const指针。由于这个原因: (1) 返回值函数名(参数
2011-05-04 16:46:00
1560
1
原创 [C++]static类成员
static成员独立于该类的任意对象而存在,每个static对象是与类关联的对象,并不与该类的对象相关联。下面的代码包括了一些需要注意的地方。//-----------------------------Account.h----------------------------------#include using std::string;class Account{public:
2011-05-04 11:43:00
1633
原创 螺旋队列
螺旋排列的矩阵,设1点的坐标是(0,0),x方向向右为正,y方向向下为正。如7的坐标为(-1,-1),2的坐标为(0,1)。编程实现输入任意一点坐标(x,y),输出对应的数字。#include using namespace std;int abs(int x){ return x>0?x:(0-x);}int luoxuan(int x,int y){ int result=0; int ceng=(abs(x)>abs(y)?abs(x):abs(y));
2011-05-03 19:13:00
304
原创 C/C++内存中各种存储区
C中:分为这几个存储区:1. 栈——由编译器自动分配释放,存放函数的参数值、局部自动变量的值等。2. 堆——一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。3. 全局区(静态区)——全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。——程序结束释放4. 常量存储区——一个专门放常量的地方。——程序结束释放在函数体中定义的变量通常是在栈上;用malloc, calloc, realloc等分配内存的函数分配得到
2011-05-02 17:38:00
557
原创 函数与变量的存储类别
在C语言中,每一个变量和函数都有两个属性:数据类型和数据的存储类别。存储类别指的是数据在内存中的存储方式。存储方式分为两大类:静态存储类和动态存储类。具体包含4种:auto、static、register、extern。1. 函数中的局部变量,如果不专门声明为
2011-05-01 20:52:00
157
原创 explicit构造函数
explicit constructor(显式构造函数) 可以用单个实参调用但不能用于执行隐式转换的构造函数。通过将关键字explicit放在构造函数的声明之前而将其设置为explicit,防止在需要隐式转换的上下文中使用构造函数。explicit关键字只能用于类内部的构造函数声明上。在类的定义体外部所做的定义上不再重复:userInfo.h#includeusing std::stri
2011-04-29 21:04:00
425
原创 Literal和Label的区别
<br />Literal和Label到底有什么区别?<br />其实它们也只有一个区别:就是在转换成客户端Html代码后,Label就成了<span></span>,而Literal则是什么标记都不带。
2011-04-26 21:43:00
244
转载 URL分页和PostBack分页的比较
PostBack分页URL分页分页方式通过页面回发来传递分页信息。通过跳转到指定的Url来传递分页信息。分页性能可以将所有分页信息保存在ViewState中,如在页面初次加载时获取要分页的记录的总数,其后无需再次访问数据库获取该值,而可以从回发后的ViewSt
2011-04-26 20:41:00
405
原创 通过判断Listbox是否选中进行提示
<br /><mce:script type="text/javascript"><!-- function IsSelected(id) { var lst = document.getElementById(id); var count = 0; var tmp = true; for (var i = 0; i < lst.options.length; i++) {
2011-04-25 09:21:00
1139
转载 Shonnon三大定理
Shannon三大定理是信息论的基础理论。Shannon三大定理是存在性定理,虽然并没有提供具体的编码实现方法,但为通信信息的研究指明了方向。具体如下:一:Shannon第一定理(可变长无失真信源编码定理) 设信源S的熵H(S),无噪离散信道的信道容量为C,于是,信源的输出可以进行这样的编码,使得信道上传输的平均速率为每秒(C/H(S)-a)个信源符号.其中a可以是任意小的正数, 要使传输的平均速率大于(C/H(S))是不可能的。二:Shannon第二定理(有噪信道编码定理)设某信道有r个输
2011-04-18 21:10:00
1001
原创 使apache支持aspx的配置
在原配置文件末尾加入#Asp.netLoadModule aspdotnet_module "modules/mod_aspdotnet.so"AddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj licx rem resources resx soap vb vbproj vsdisco webinfo # Mount the ASP.NET example application Asp
2011-04-18 08:28:00
1668
原创 一道关于符号扩展的面试题
#include#includeusing std::cin;int main(){ unsigned int a=0xfffffff7; char i=(char)a; unsigned char * j=(unsigned char *)&a; printf("%08x,%08x",i,j); cin>>a; return 0;}求输出。输出结果为:
2011-04-17 16:13:00
239
转载 数据加密的种类
敏感数据应得到保护,使未授权的用户不能读取它们。这对于在网络中传送的数据和存储在某处的数据都有效。可以用对称或不对称密钥来加密这些数据。在对称加密中,可以使用同一个密钥进行加密和解密。但在不对称的加密中,加密和解密使用不同的密钥:公钥/私钥。如果使用一个公钥进行加密,就应使用对应的私钥进行解密,而不是使用公钥解密。同样,如果使用一个私钥加密,就应使用对应的公钥解密,而不是使用私钥解密。公钥/私钥总是成对创建。公钥可以由任何人使用,甚至可以放在Web站点上,但私钥必须安全地加锁。下面看看使用公钥和私钥的例子。
2011-04-17 12:35:00
1759
原创 Forms验证与验证票相关
一般登录的时候,会有以下具体的流程:1. 在浏览器中有个登录窗体,要输入用户名和密码等凭证,通过提交给服务器的ASP.NET网站来审核,检查是否正确。2. 如果凭证正确,那么就会再服务器端创建一个FormsAuthenticationTicket实例,其中含有
2011-04-17 11:15:00
511
转载 GET与POST的区别
HTTP定义了与服务器交互的不同方法,最基本的方法是 GET 和 POST. HTTP-GET和 HTTP-POST是使用HTTP的标准协议动词,用于编码和传送变量名/变量值对参数,并且使用相关的请求语义。每个HTTP-GET和HTTP- POST都由一
2011-04-17 10:51:00
260
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅