随笔分类 - C /C++学习
摘要:引子问题:中国象棋将帅问题:在一把象棋的残局中,象棋双方的将帅不可以相见,即不可以在中间没有其他棋子的情况下在同一列出现。而将、帅各被限制在己方的3*3的格子中运动。相信大家都非常熟悉象棋的玩法吧,这里就不详细说明游戏规则了。用A、B代表将和帅,请写出一个程序,输出A、B所有合法的位置。要求在代码中只能用一个变量。分析与解法:这个问题的解法并不复杂。遍历A的所有位置 遍历B的所有位置 如果A的位置和B的位置在同一列 输出结果 否则 继续寻找地图可以用0-8表示A或B可能的9个位置 0------1------2 3------4------5 6------7------8关键问题在于只使用一
阅读全文
摘要:题外话今天听了《编程范式》的Lecture 5,继续上一篇的主题,用C语言实现简单的泛型编程,收个尾。正题回忆上一篇的最后一个函数:void* lsearch(void* key,void* base,int n,int elemSize,int (*cmpfn)(void*,void*)){ for(int i=0;i<n;++i){ void* elemAddr=(char *)base+i*elemSize; if(cmpfn(key,elemAddr)==0) ...
阅读全文
摘要:题外话 鄙人最近在家里听斯坦福大学的开放课程——《编程范式Programming Paradigms》。附上veryCD的资源下载地址:http://www.verycd.com/topics/2838268/ 这个是英文授课,现在还是没有中文或英文字幕的。就课程来说非常不错。其中Lecture 4中讲到了一种在C语言中不用C++中的template实现泛型编程的方法。我在这里总结了它的笔记后,加入了我自己的一些思考和试验写下了这篇文章分享一些经验给大家。正题 泛型编程让你编写完全一般化并可重复使用的算法,其效率与针对某特定数据类型而设计的算法相同。所谓泛型(Generici...
阅读全文
摘要:如果想要在程序中使用控制符,在文件的开头除了要加iostream头文件外还要加iomanip头文件。控制符 作用dec 设置数值的基数为10hex 设置数值的基数为16oct 设置数值的基数为8setfill(c) 设置下一个输出的量的填充字符为c,c可以为字符常量或字符变量setprecision(n) 设置浮点数的精度为n位。在以一般十进制小数形式输出时,n代表有效数字。在以fixed(固定小数位...
阅读全文
摘要:玩转C指针 前段时间听了CSDN在线讲堂的嵌入式C学习关于指针的课,下面是我的学习笔记,记下了我认为比较重要的知识点,笔记并不全面,就算是学习的tips。1.看下面的代码:#define INT_T int*typedef int* int_t;void main(){ INT_T p1,p2; int_t q1,q2;}这两种定义方式是有区别的。 第一种的情况是,在编译之前,编译器用int*替代代码中的INT_T,所以INT_T p1,p2;相当于int* p1,p2;所以p1为指向int型的指针,p2为...
阅读全文

浙公网安备 33010602011771号