自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(26)
  • 收藏
  • 关注

原创 线程同步技术

一 原子锁    1 相关问题        多个线程对同一数据进行原子操作,会产生结果丢失。        当线程A执行g_nStatus++时,如果线程切换时间正好在线程A将值保存到g_nStatus之前,线程B继续执行g_nStatus++,        那么线程A再次被切换回来时,会将原来线程A保存的值,赋值到g_nStatus,线程B进行的运算就被覆盖了。    2

2012-08-13 22:22:14 790

原创 进程与线程简介

一 Windows进程  1 Windows进程相关    进程是一个容器, 包含程序执行需要的代码和数据,资源等等信息.Windows是一个多进程的操作系统,可以同是执行多个进程.     Windows进程的特点:     1) 每个进程都有自己的ID号     2) 每个进程都有自己的地址空间,进程之间无法访问对方的地址空间.     3) 每个进程都有自己的安全属性

2012-08-13 21:34:55 511

原创 最简单的socket客户端与服务端例子

服务器端:#include #include #pragma comment(lib, "ws2_32.lib")void main(){ //1 初始化阶段 WORD wVer; WSADATA wsaData; wVer = MAKEWORD(1,1); WSAStartup(wVer,&wsaData); //2 建立Socket SOCKET mySocke

2012-08-10 03:01:58 636

原创 使用Windows Api来调整屏幕亮度

/*调整亮度 参数0-100设置成功返回0设置失败返回负数*/int SetGamma(int bright){ void * lpGamma = NULL; int iArrayValue; WORD gMap[3][256] = {0}; lpGamma = &gMap; HDC hdc = ::GetDC(NULL); if (NULL == hdc) retur

2012-07-02 17:45:06 7837

原创 Qt将ttf文件设置为默认字体

//将字体文件名传给addApplicationFont,得到字体的Idint fontId = QFontDatabase::addApplicationFont("./res/msyh.ttf");//将字体Id传给applicationFontFamilies,得到一个QStringList,其中的第一个元素为新添加字体的familyQString msyh = QFontDataba

2012-03-23 15:14:27 3649

原创 如何写递归函数

一、递归的意思是函数自己调用自身(直接方式),或者在自己函数调用的下级函数中又调用自己(间接方式)。       递归可拆分为递和归两个过程,递就是向下层传递参数,归是指当函数不再向下传递时会一层一层的返回。二、写递归函数需考虑的要素:       a.怎样取一个变量

2011-09-04 13:01:46 4361 1

原创 七、函数(基本概念)

1.函数, 具体逻辑功能(与数据)的载体,通过输入参数,进行内部黑箱操作,最后产生一个结果(可能一个数据,也可能是一批数据。可能通过return,也可能通过形参的间接方式)给调用用户>2.函数声明和调用声明:是对编译器宣告有这么一个函数,它的返回值

2011-08-28 16:42:13 871

原创 六、数组(例4---字符串数组)

#include #include int main(){ int i=0,x; printf("请输入有待电脑记忆的字符串个数:"); char c[3];memset(c,0,3); while(i<2&&(c[i]=getchar())!='

2011-08-28 16:04:28 458

原创 六、数组(例3---多维数组)

#include #include int main(){ //多维数组的初始化 //[行][列] 一个平面 int array1[3][3]={1,2,3,4,5,6,7,8,9}; int array2[3][3]={{1,2,3},{4,5}

2011-08-28 15:57:06 457

原创 六、数组(例2---数组的访问)

#include #include int main(){ //如何获取数组具体元素的值和内存地址 char array1[]={1,2,3,4,5}; printf("%p==%p\narray1:%d *&array1[0]:%d array1[0

2011-08-28 15:53:54 515

原创 六、数组(例1---声明和初始化)

#include #include #include int main(){ //数组的定义和初始化 int array1[5]={1,2,3,4,5}; int array2[5]={1,2,3};//没写的后面的元素值默认为0 int i;f

2011-08-28 15:50:39 536

原创 六、数组(基本概念)

1.数组是一组同类型的变量的集合体,在内存里连续存储分配。数组声明(不一定是定义,预告内容,声明没有初始化过程)和初始化2.如何访问数组元素   a.用下标运算符去访问   b.用指针(有类型的内存地址)风格结合*取内容符号访问方式3.字符数组:一个字

2011-08-28 15:46:35 415

原创 五、语句(例3---switch)

#include #include int main(){ char str0[30]; memset(str0,0/*'\0'*/,sizeof(str0)); //对内存空间做批量化的指定值的填充,不管操作对象是什么数据类型,它就是以字节为单位,进行

2011-08-27 17:44:17 412

原创 五、语句(例2---if)

#include int main(){ int a=0; float f=0.0; if(0==a)printf("a:%d 与0相等!\n",a); else printf("a:%d 与0不相等!\n",a); if(0==f)pri

2011-08-27 17:42:51 411

原创 五、语句(例1---输入输出)

#include int main(){ int n; printf("请输入一个整数:"); int iRet=scanf("%d",&n);//如果用户一直输入回车,scanf在这种调用格式下不会返回 printf("您输入的值是:%d 接收

2011-08-27 17:36:27 577

原创 五、语句(基本概念)

1.标准输入语句 //scan formatint scanf(,);int返回值表示返回函数实际接收到的接收到准确参数的个数scanf具有输入缓冲区, 未处理完的用户录入的数据,可供后面第二个scanf()使用空白字符,多个会被转成一个,起到

2011-08-27 17:20:00 670

原创 四、运算符(例2)

#include #include int main(){ //取模(取余数)运算 int iCount=0; printf("Rand number:"); while(1) { int iRnd=rand()%100;//ran

2011-08-27 16:50:30 448

原创 四、运算符(例1---赋值运算符)

#include int main(){ //初始化和赋值 int iCount=5,iCount2=iCount;//定义初始化运算是自左向右 int iCount3=iCount2=++iCount; printf("iCount:%d iCou

2011-08-27 16:45:21 378

原创 四、运算符(基本概念)

1.单目,双目,三目单目:i++  --i   ~i  !i双目:即运算符位于两个表达式之间 a+b三目:1 ? printf(“true”) : printf(“false”)2.赋值运算符(不是简单的等式) int i=0;

2011-08-27 16:26:27 741

原创 三、常量(基本概念)

1.常量是不可改变的量(临时只读的内存空间,例字符串常量),值是个常数,有数据类型2.整型常量有长整,短整,有符号,无符号。短整:-3万~+3万二进制,八进制,十六进制011,      011U,     0x11233.浮点型常量,也有单精

2011-08-27 15:40:56 887

原创 二、变量(例4)

#include int main(){ int iV1; int iV2=-10; unsigned uV6=33; char szV3='a'; float fV4; long double dV5=3.14;

2011-08-21 20:45:21 585

原创 二、变量(例3)

#include int main(){ unsigned int iYear=2011; int iVar1=0x33; int iVar2=011; char szZero='0';\ //最右边符号表示一行写不够,下

2011-08-21 20:37:01 509

原创 二、变量(例2)

#include int main(){ long int liVar;//不同的编译器对long解析不一样,有一些是把它看成是8个字节 long lVar;//gcc,g++则分析成long跟int一样,都是4个字节 signed int

2011-08-21 20:34:00 443

原创 二、变量(例1)

//#include int m_iPi=3.14159;//!!!这样写法:m_iPi表示是一个全局变量,生命不依赖于任何一个函数结束而结束, i代表它的数据类型是整型 //在VC里这种变量名的写法是很普遍,成为一个标准void function(){ in

2011-08-21 20:31:12 393

原创 二、变量

二、变量1.变量是存储数值的内存空间,所存的值可被改变(储物箱)2.由于数值的类型有多种,对应的变量就有:    整型(整数)变量,    浮点型(实数)变量,    和字符型变量。   本质上理解:C的数据类型只有:int整型变量,其它的数据

2011-08-21 20:27:23 421

原创 一、C语言的产生和发展及特点

一、C语言的产生和发展1.    1972年美国的Dennis Ritchie, 最初用在UNIX下的DEC PDP-11计算机。由早期的BCPL(Basic Combind Programming Language)发展而来,并命名为C语言。2.    AN

2011-08-21 20:07:06 1317

空空如也

空空如也

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

TA关注的人

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