摘要: 1联合union 联合 (union) 是一个能在同一个存储空间里(但不同时)存储不同类型数据的数据类型。 编译器为联合分配足够的空间保存所描述的可能性的最大需要。 下面是一个带有标记的联合模板例子: union hold{ //带有标记的联合的模板 int digit; double bigf1; char letter; }; 下面是定义3个 hold 类型联合变量的例子 union hold fit; //hold类型的联合变量 union hold sa... 阅读全文
posted @ 2012-11-28 20:07 wjtang 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 1.对形式参量使用 const 函数之所以可以改变数组的内容,是因为函数使用了指针,从而能够直接使用原始数据。 然而也许其他的函数并不希望修改数据。例如下面这个函数的功能是计算数组中所有元素的和,所以它不应该改变数组的内容。由于 ar 实际上是一个指针所以编程上的错误可以导致原始数据遭到破坏。/*****错误的代码******/int sum (int ar[], int n){ int i; int total = 0; for (i =0; i < n; i++) total += ar[i]++; //错误的增加了每个元素的值 return... 阅读全文
posted @ 2012-11-08 13:48 wjtang 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 1.除法与取模运算符 -7/4 = -1 -7./4 = -1.75 -7%4 = -3 7/4 = 1 7./4 = 1.75 7%4 = 3 C99要求除法运算符使用“趋零截尾”。这种“趋零截尾”的解释方式是建议将 -1.75 转换成 -1,而不是 -2。 取模运算符只用于整数运算,对浮点数是无效的。根据C99的整数除法规定“趋零截尾”规则,如果第一个操作数为负数,取模后得到的模也为负数;如果第一个操作数是整数,那么得到的模也为整数。 a%b = a - (a/b)*b2.增量(++)减量(--)运算符 当 n++是表达示的一部分时,它表示的意思是“先使用n,... 阅读全文
posted @ 2012-09-27 16:43 wjtang 阅读(541) 评论(0) 推荐(0) 编辑
摘要: 1.scanf()输入控制符1.1 转换说明符转换说明符 意 义%c把输入解释成一个字符%d把输入解释成一个有符号十进制整数%e,%f,%g,%a把输入解释成一个浮点数(%a 是C99标准)%E,%F,%G,%A把输入解释成一个浮点数(%A是C99标准)%i把输入解释成一个有符号十进制整数%o把输入解释成一个有符号八进制整数%p把输入解释成一个指针(一个地址)%s把输入解释成一个字符串:输入的内容是以第一个非空白字符作为开始,并且包含直到下一个空白字符的全部字符%u把输入解释成一个无符号十进制整数%x,%X把输入解释成一个有符号十六进制整数1.2 转换修饰符修饰符 意 义*滞后赋值示例:... 阅读全文
posted @ 2012-09-27 13:37 wjtang 阅读(4382) 评论(0) 推荐(0) 编辑
摘要: 1.printf()函数的四种用法 printf("字符串"); printf("输出控制符",输出参数); printf("输出控制符1 输出控制符2 ……", 输出参数1, 输出参数2,……); printf("输出控制符 非输出控制符", 输出参数);2.输出控制符2.1输出控制符:转换说明符转换说明符 输 出%a,%A浮点数、十六进制数字和 p-计数法/P-计数法(C99)%c一个字符%d有符号十进制整数%e,%E浮点数、e-计数法/E-计数法%f浮点数、十进制计数法%g,%G根据数值的不同自动选择%f 或 阅读全文
posted @ 2012-09-25 20:29 wjtang 阅读(1420) 评论(0) 推荐(0) 编辑
摘要: 1.基本数据类型基本数据类型字节数整数整型int *短整型 short 2长整型long 4浮点型(实数)单精度float 4双精度double 8字符字符char 12.int与long的使用 C语言的标准规定long的长度不能低于int,所以一般long型为4字节,而int可能是2个字节,也有可能是4个字节,而为了保证程序的可移植性,当您所使用的变量超过两个字节时,使用long。3.strlen()函数与sizeof()运算符 C中没有专门的变量类型给字符串,而是把它存储在数组中,每个字符占... 阅读全文
posted @ 2012-09-25 20:15 wjtang 阅读(448) 评论(0) 推荐(0) 编辑