
C、C++_程序设计
zollty
这个作者很懒,什么都没留下…
展开
-
指针深入分析
指针学习资料(zollty-2009)1.指向普通变量或者某个数或者字符串。例如int j,a[10];int *pointer_1,*pointer_2;pointer_1=&j;pointer_2=&a[7]; 2.指针作为函数参数。例如 (主函数部分)p原创 2011-07-06 12:23:25 · 693 阅读 · 0 评论 -
C++运算符重载
C++运算符重载 “>”本来是在C++中被定义为左/右位移运算符的,由于在iostream头文件中对它们进行了重载,所以使用它们能用作标准数据类型数据的输入和输出运算符。因此,在使用它们的程序中必须包含:#include 1. 运算符重载例子:例1重载函数作为Complex类的成员函数class Complex{public: Complex operator +(原创 2011-08-18 10:12:19 · 3897 阅读 · 0 评论 -
C++结构和类
1. 结构和类的区别一个结构如下:struct Student{private: int num; char name[20]; char sex;public: void display() {…}};Student stud1,stud2;可以说结构只是类的一部分,struct声明的原创 2011-08-08 16:57:50 · 1202 阅读 · 1 评论 -
C++输入输出流
输入输出流1. 用控制符输出格式,例:#include #include //利用控制符输出必须包含iomanip头文件using namespace std;int main(){int a;cout<<"input a:";cin>>a;cout<<"dec:"<<dec<<a<<endl; //以十进制输出cout<<"hex:"<<hex<<a<<endl; /原创 2011-09-13 17:20:33 · 6680 阅读 · 3 评论 -
CString与string的区别
CString,是ATL/MFC共享的, string是C++标准库的相同点:(1)用他们都可以取代对char*的使用。(2)都封装了有丰富的字符串操作接口。(3)他们都是C++的类库。(4)他们都使用了模板的技术。 以string的使用为例,不能有如下用法: string * pstr = NULL; //定义一个指向字符串的转载 2012-02-24 19:57:21 · 1456 阅读 · 0 评论 -
多态性与虚函数
多态性与虚函数 面向对象理论中的3个术语:对象、方法和消息。对象(object):不言而喻,它是构成系统的基本单位,有属性和行为两个要素,在C++中,每个对象都是由数据和函数这两部分组成的,数据即是对象的属性,行为称之为方法(method),方法是对数据的操作,通常由函数实现。调用对象中的函数就是向该对象传送一个消息(message),所谓“消息”,其实就是一个命令。例原创 2011-08-22 15:18:44 · 4284 阅读 · 0 评论 -
计算机的数据存储及VC&GCC的数值范围
已上传到http://wenku.baidu.com/view/38914c54f01dc281e53af04b.html原创 2012-01-31 22:06:36 · 672 阅读 · 0 评论 -
判断一个数是否是整数
1. 判断一个数是否是“整型”,调用系统函数#include #include using namespace std;int main(){ double i=3; cout << typeid(i).name() << endl; cout << typeid(3.0000).name() << endl; system("pause") ;原创 2011-11-15 18:30:50 · 4701 阅读 · 0 评论 -
C、C++容易出错的几个地方
1. sizeof()和strlen()函数sizeof常见标准用法:(1)char buff[6]; strncpy(buff, argv[1], sizeof(buff));(2)int array[] = { 3, 1, 4, 1, 5, 9原创 2011-09-14 12:23:19 · 1339 阅读 · 0 评论 -
C/C++指针实战经验
一、C/C++ 测试环境A:电脑:笔记本电脑,WIN 7 32位 , Intel i7-2640 2.8GHz CPU,4G内存软件:VC++ 6.0 1、指针和数组#include using namespace std;int main(){ int a[2]={2,8}; //一维数组 int *p; //指向一维数组的指针 p=a原创 2014-12-30 14:04:49 · 936 阅读 · 0 评论 -
解读EOF
我学习C语言的时候,遇到的一个问题就是EOF。它是end of file的缩写,表示"文字流"(stream)的结尾。这里的"文字流",可以是文件(file),也可以是标准输入(stdin)。 比如,下面这段代码就表示,如果不是文件结尾,就把文件的内容复制到屏幕上。 int c; while ((c = fgetc(fp)) != EOF) { putch转载 2012-01-31 22:05:21 · 721 阅读 · 0 评论 -
C语言对位进行操作(增删查改)
利用移位运算、位与、位或,可以查询、修改某一bit的值。程序如下 #define uchar unsigned char/*测试变量某一位是否为‘1’,是返回真,否返回假,num为待测试的数,bit为位数,其值从0到7,下同*/uchar bittest(uchar num,uchar bit) { if(num>>bit&0x01==1)return 1;else原创 2011-11-30 13:39:35 · 5162 阅读 · 0 评论 -
函数指针和指针函数
看一个例子就懂了:下面的程序,当程序接收用户输入时,如果用户输入d,则求数组的最大值,如果输入x,则求数组的最小值,如果输入p,则求数组的平均值。前面4个函数分别实现求最大值、最小值、平均值和未知算法,然后实现了GetOperation函数。这个函数根据字符的返回值指向上面4原创 2011-08-17 14:33:26 · 1223 阅读 · 2 评论 -
将函数的返回值引用定义为引用
“将函数的返回值定义为引用”是一种比较有效的做法。例如(分析见程序的注释):#include#includeusing namespace std;char & get_val(string &str,int i)//返回类型为引用{//若去掉返回值的引用原创 2011-08-17 16:33:12 · 11495 阅读 · 1 评论 -
程序写法
通过实际测试,把复杂的函数分成几个子函数写运行速度会快一点,例如在某个函数内部需要交换两个数,写成temp=a;a=b;b=temp;不如写成swap(a,b);在外面定义swap函数,这样既方便,效率又高。 为什么调用swap函数效率高呢?原创 2011-10-10 18:25:48 · 920 阅读 · 0 评论 -
C语言的两个工具函数
1. 测试程序执行时间的函数#include #include #include void sleep( clock_t wait );void main( void ){ long i = 60000000L;//6000 W cl原创 2011-10-06 18:32:55 · 744 阅读 · 0 评论 -
数据结构-栈
栈即后进先出(LIFO)的线性表。栈的常用算法有置栈空、判栈空、进栈、出栈、取栈顶等。 1.顺序栈结构如下:typedef struct{ DataType data[MAXSIZE]; int top;}SeqStack;即,它需要一个栈顶top。 相关算法的关键步骤如下//置栈空void Initial(SeqSt原创 2011-10-15 19:29:17 · 743 阅读 · 0 评论 -
数据结构-线性表
线性表分为:顺序表和链表。查找算法:顺序查找和二分查找(效率都很低,但是可满足一般要求)。二分查找要求关键字有序。 下面给出线性表及相关算法。 1.顺序表顺序表结构如下:typedef struct{ DataType data[MAXSIZE]; int last; //最后一个元素的位置,即该顺序表的实际长度-1}SeqList原创 2011-10-15 19:24:03 · 653 阅读 · 0 评论 -
处理超长位数的数
float和double型数据分别是单精度和双精度型数,他们的取值分别是3.4E+10的负38次方到3.4E+10的38次方,和1.7E+10的负308次方到1.7E+10的308次方。那么float 6-7位的有效数字怎么能装下如3.4E+10的负38次方同是double型娄15-16位的有效数字怎么能装下如1.7E+10的负308次方的数呢。这不是相矛盾吗? 回答:不矛盾。floa原创 2011-11-12 23:07:51 · 1300 阅读 · 0 评论 -
C语言问题
1. 数组的最大长度问题int n[1000000];这样肯定是不行的,因为这样定义的数组用的是栈内存,系统默认值为最大1Mb,一个int型占4字节这样最大可以申请1024*1024/4=264144个,如果考虑到系统自身的占用最大值约为25000个。int *p=(int *)malloc(1000000*sizeof(int));,这样用的是堆内存,只要你内存有那么多的连续空间就可原创 2011-10-06 15:56:36 · 907 阅读 · 0 评论 -
2011年C++再次给力
从2001年Tiobe编程语言排行榜开始发布至今,C++几乎一直占据着第三名。虽然Perl, Visual Basic 和PHP曾经也排到第3名,但和C++相比,他们就显得弱爆了,因为他们最多只能保持几个月而已。然而相比C++,微软的编程语言C#却更被看好,甚至有人认为C#势必会取代C++,C++是垃圾语言。因为微软的大力推广,使用C#的人越来越多,而老将C++却正在被人遗忘。不甘寂寞,201转载 2011-12-13 10:54:26 · 1010 阅读 · 0 评论