随笔分类 - c练习
C++中的字符串输入getline
摘要:http://www.cnblogs.com/wanghao111/archive/2009/09/05/1560822.html 1 #include <iostream> 2 #include <string> 3 using namespace std; 4 5 6 /* run this p
阅读全文
c/c++在线编译Output Limit Exceeded(OLE)错误
摘要:提示输出错误,有如下两个可能情况: 1. 不符合题目给出的输出格式,自己输出了多余的内容或者格式不正确 2. 输入数据的时候,未考虑到输入错误的情况 针对2,有如下的例子: 错误的情况: 1 int main(){ 2 3 int i = 0; 4 int re =0; 5 6 // while(s
阅读全文
C语言中的重要位运算
摘要:1. 常用的等式 :-n = ~(n-1) = ~n + 1. 2. 获取整数n的人进制形式中的最后1个,也就是只保留最后一个1,其余的全部置位0,如1000 0011 > 0000 0001. 公式为:n & (-n) 或者 n & ~(n-1) 3. 去掉整数n的人进制形式中的最后1个,也就是将
阅读全文
C语言中的除法的计算
摘要:不用除号,计算除法运算。思路是使用减法运算!思路1:循环采用减法每次减去n,直到做完减法之后结果小于0为止 但是这样次数较大 如求100/3,需要次数为34次。 思路2:循环采用减法每次减去k,K的值每次会增加2倍,也就是左移1位,这样来优化思路1的算法 如求100/3,需要次数为3*2^i ==
阅读全文
C语言中宏定义#define 、 typedef 和枚举类型
摘要:替换时机 #define :预编译阶段简单替换,编译阶段展开源程序(1.词法扩展==程序生成期间的字符串替换 2.语义扩展==生成特定指令) 枚举常量:编译阶段确定其值 内联函数:编译阶段插入代码 typedef:关键字,编译时处理
阅读全文
C语言中的指针与整数相加的值计算
摘要:以下分三种情况: 1. 指针 + 整数值 2. 整数 + 整数 3. 指针强制转换为另一个类型后(指针或者是整数) + 整数 测试例子: 1 struct AAA{ int a; char b[4]; }*p;/*sizeof(AAA) == 8*/ 2int *a = 200;//假设该a 在内存
阅读全文
C语言中的字节对齐
摘要:下面这个篇博客讲解很好 http://blog.csdn.net/meegomeego/article/details/9393783 总的来看分三类: 1. 不加 #pragma pack(n)伪指令(n未对齐的字节数目) 2. 加#pragma pack(n) 伪指令 3. __attribut
阅读全文
C语言中不用 + 和 - 求两个数之和
摘要:(二)解题 题目大意:不用+或者-实现两个整数的加法 解题思路:不用+或者-,就自然想到位运算,无非就是与或非来实现二进制的加法 首先,我们来看一位二进制的加法和异或运算 ABA&BA^B 0 0 0 0 1 0 0 1 0 1 0 1 1 1 1 0 与运算可以算出每一位上的进位,异或运算可是算出
阅读全文
C 语言中求中间数时候防止溢出方法
摘要:当使用二分法时候,注意 mid = left + (right - left) / 2; 这句代码,可以防止溢出!!,千万不能写成 mid = (left + right) / 2 这样写的话,当数字很大时,就会导致溢出
阅读全文
C语言中的各种类型所占的字节大小
摘要:一)64位系统和32位有什么区别? 1、64bit CPU拥有更大的寻址能力,最大支持到16GB内存,而32bit只支持4G内存 2、64位CPU一次可提取64位数据,比32位提高了一倍,理论上性能会提升1倍。但这是建立在64bit操作系统,64bit软件的基础上的。 什么是64位处理器? 之所以叫
阅读全文
C语言之内核中的struct list_head 结构体
摘要:以下地址文章解释很好 http://blog.chinaunix.net/uid-27122224-id-3277511.html 对下面的结构体分析 1 struct person 2 { 3 int age; 4 int weight; 5 struct list_head list; 6 };
阅读全文
C语言中的指针的小标可以是负数
摘要:首先,创建一个正常的数组 int A[20];。然后用指针指向其中间的元素 int *A2 = &(A[10]); 这样,A2[-10 ... 9] 就是一个可用的有效范围了。 1 2 3 4 5 6 7 8 9 10 11 12 13 /* 样例示范 */ #include <stdio.h> i
阅读全文
C语言中的字符和整数之间的转换
摘要:首先对照ascal表,查找字符和整数之间的规律: ascall 控制字符 48 0 49 1 50 2 51 3 52 4 53 5 54 6 55 7 56 8 57 9 可以看出ascall和整数字符的大小相差48,字符可以和整数进行相互转换,计算,且计算的时候采用的是字符对应的ascall值来
阅读全文
C语言中的各种字符串输入方法
摘要:C语言从stdin读取一行字符串的几种方法 gets gets函数的头文件是<stdio.h>,原型如下: char *gets(char *s); gets从stdin中读入一行内容到s指定的buffer中,当遇到换行符或EOF时读取结束。读取成功时,返回s地址;失败时返回null。需要注意的是,
阅读全文
C语言中的main函数的参数解析
摘要:main()函数既可以是无参函数,也可以是有参的函数。对于有参的形式来说,就需要向其传递参数。但是其它任何函数均不能调用main()函数。当然也同样无法向main()函数传递,只能由程序之外传递而来。这个具体的问题怎样解决呢?我们先看一下main()函数的带参的形式: 1 main(int argc
阅读全文
浙公网安备 33010602011771号