多维数组声明的一般形式如下:

1
type name[size1][size2]...[sizeN];

如,创建一个三维数组:

1
int threedim[5][10][4];
阅读全文 »

C 语言支持数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合。数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量。

所有的数组都是由连续的内存位置组成。最低的地址对应第一个元素,最高的地址对应最后一个元素。

1
int a[2] = {1,2};

(a+i) 就代表的是 a[0+i] 的地址。

阅读全文 »

  • while 循环
  • for 循环
  • do…while 循环

break 语句 终止循环或 switch 语句,程序流将继续执行紧接着循环或 switch 的下一条语句。
continue 语句 告诉一个循环体立刻停止本次循环迭代,重新开始下次循环迭代。

while循环

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>

int main ()
{
/* 局部变量定义 */
int a = 10;

/* while 循环执行 */
while( a < 20 )
{
printf("a 的值: %d\n", a);
a++;
}

return 0;
}
阅读全文 »

C 语言把任何非零非空的值假定为 true,把null 假定为 false

if 语句

1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>

int main ()
{
int a = 10;

if( a < 20 )
{
printf("a 小于 20\n" );
}
return 0;
}
阅读全文 »

机器数和真值

机器数

机器数是将符号 数字化 的数,是数字在计算机中的二进制表示形式。
机器数有2个特点:

一是符号数字化

机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负数为1.

比如,十进制中的数 +3 ,计算机字长为8位,转换成二进制就是 00000011
如果是 -3 ,就是 10000011

那么,这里的 0000001110000011 就是机器数。

二是其数的大小受机器字长的限制

机器内部设备一次能表示的二进制位数叫机器的字长,一台机器的字长是固定的。字长8位叫一个字节(Byte),机器字长一般都是字节的整数倍,如字长8位、16位、32位、64位。

阅读全文 »

C运算符:

  • 算术运算符
  • 关系运算符
  • 逻辑运算符
  • 位运算符
  • 赋值运算符
  • 杂项运算符

算术运算符

假设变量 A 的值为 10,变量 B 的值为 20,则:

运算符 描述 实例
+ 把两个操作数相加 A + B 将得到 30
- 从第一个操作数中减去第二个操作数 A - B 将得到 -10
* 把两个操作数相乘 A*B 将得到 200
/ 分子除以分母 B / A 将得到 2
% 取模运算符,整除后的余数 B % A 将得到 0
++ 自增运算符,整数值增加 1 A++ 将得到 11
-- 自减运算符,整数值减少 1 A-- 将得到 9

取余运算只能针对整数,% 的两边都必须是整数,不能出现小数,否则编译器会报错。
余数可以是正数也可以是负数,由 % 左边的整数决定:

  • 如果 % 左边是正数,那么余数也是正数;
  • 如果 % 左边是负数,那么余数也是负数;
阅读全文 »

存储类定义 C 程序中变量/函数的范围(可见性)和生命周期。这些说明符放置在它们所修饰的类型之前。下面列出 C 程序中可用的存储类:

  • auto 是局部变量的默认存储类, 限定变量只能在函数内部使用;
  • register 代表了寄存器变量,不在内存中使用;
  • static 是全局变量的默认存储类,表示变量在程序生命周期内可见;
  • extern 表示全局变量,即对程序内所有文件可见,类似于Java中的public关键字;
阅读全文 »

常量,又叫做字面量,是固定值,在程序执行期间不会改变。

常量可以是任何的基本数据类型,比如整数常量、浮点常量、字符常量,或字符串字面值,也有枚举常量。

整数常量

整数常量可以是十进制、八进制或十六进制的常量。

前缀指定基数:

不带前缀则默认表示十进制
0x 或 0X 表示十六进制,
0 表示八进制。

整数常量可以带一个后缀 U 或 L,U 表示无符号整数(unsigned),L 表示长整数(long)。
后缀可以是大写,也可以是小写,U 和 L 的顺序任意,可以两个同时存在。

阅读全文 »

配置MSDTC

点击打开 开始—>管理工具—>组件服务 (或者 Win+R 输入:Dcomcnfg.exe

组件服务—>计算机—>我的电脑—>Distributed Transaction Coordinator,右击本地DTC,选择属性,按下图进行设置,设置完成后点击确定。

阅读全文 »

C 中每个变量都有特定的类型,类型决定了变量存储的大小和布局,该范围内的值都可以存储在内存中,运算符可应用于变量上。

变量定义

变量定义就是告诉编译器在何处创建变量的存储,以及如何创建变量的存储。变量定义指定一个数据类型,并包含了该类型的一个或多个变量的列表,格式:

1
type variable_list;
阅读全文 »

在 C 语言中,数据类型指的是用于声明不同类型的变量或函数的一个广泛的系统。变量的类型决定了变量存储占用的空间,以及如何解释存储的位模式。

C中的类型:

基本类型:它们是算术类型,包括两种类型:整数类型和浮点类型。
枚举类型:它们也是算术类型,被用来定义在程序中只能赋予其一定的离散整数值的变量。
void 类型:类型说明符 void 表明没有可用的值。
派生类型:它们包括:指针类型、数组类型、结构类型、共用体类型和函数类型。

数组类型和结构类型统称为聚合类型。函数的类型指的是函数返回值的类型。

阅读全文 »

C的令牌(Token)

C 程序由各种令牌组成,令牌可以是关键字、标识符、常量、字符串值,或者是一个符号。

分号;

在 C 程序中,分号是语句结束符,每个语句必须以分号结束。

1
2
printf("Hello, World! \n");
return 0;
阅读全文 »

1
2
3
4
5
6
7
8
x86_64-posix-sjlj
x86_64-posix-seh
x86_64-win32-sjlj
x86_64-win32-seh
i686-posix-sjlj
i686-posix-dwarf
i686-win32-sjlj
i686-win32-dwarf

POSIX:表示可移植操作系统接口(Portable Operating System Interface of UNIX,缩写为 POSIX )

解释

DWARF:一种带调试信息(DWARF- 2(DW2)EH)的包, 所以比一般的包尺寸大,仅支持32位系统
SJLJ:跨平台,支持32,64位系统,缺点是:运行速度稍慢,GCC不支持
SEH: 调用系统机制处理异常,支持32,64位系统,缺点是:Gcc不支持(即将支持)

阅读全文 »

简介

网络编程有一个重要的概念 socket(套接字),应用程序可以通过它发送或接收数据,套接字允许应用程序将 I/O 插入到网络中,并与网络中的其他应用程序进行通信。

Python 提供了如下两个 socket 模块:

  • Socket 提供了标准的 BSD Sockets API,可以访问底层操作系统 Socket 接口的全部方法。
  • SocketServer 提供了服务器中心类,可以简化网络服务器的开发。

Python Internet 模块

以下列出了 Python 网络编程的一些重要模块:

协议 功能用处 端口号 Python 模块
HTTP 网页访问 80 httplib, urllib, xmlrpclib
NNTP 阅读和张贴新闻文章,俗称为 帖子 119 nntplib
FTP 文件传输 20 ftplib, urllib
SMTP 发送邮件 25 smtplib
POP3 接收邮件 110 poplib
IMAP4 获取邮件 143 imaplib
Telnet 命令行 23 telnetlib
Gopher 信息查找 70 gopherlib, urllib
阅读全文 »