
网上资源
maidanm
这个作者很懒,什么都没留下…
展开
-
c++引用
一、引用的概念 引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。引用的声明方法:类型标识符 &引用名=目标变量名; 说明:(1)&在此不是求地址运算,而是起标识作用。 (2)类型标识符是指目标变量的类型。 (3)声明引用时,必须同时对其进行初始化。 (4)引用声明完毕后,相当于目标变量名有两个名称,即该目标原名称和引用名,且转载 2012-08-24 15:38:22 · 383 阅读 · 0 评论 -
C++ 入门 (四) 私有数据成员和友元
一、私有数据成员的使用1.取值和赋值成员函数面向对象的约定就是保证所有数据成员的私有性。一般我们都是通过公有成员函数来作为公共接口来读取私有数据成员的。某些时候,我们称这样的函数为取值和赋值函数。取值函数的返回值和传递给赋值函数的参数不必一一匹配所有数据成员的类型。#include iostream.hclass Date{int mo, da, yr;pu转载 2012-08-01 08:12:31 · 2946 阅读 · 0 评论 -
C++入门 (三) 类的转换
C++的内部数据类型遵循隐式类型转换规则。假设某个表达市中使用了一个短整型变量,而编译器根据上下文认为这儿需要是的长整型,则编译器就会根据类型转换规则自动把它转换成长整型,这种隐式转换出现在赋值、参数传递、返回值、初始化和表达式中。我们也可以为类提供相应的转换规则。对一个类建立隐式转换规则需要构造一个转换函数,该函数作为类的成员,可以把该类的对象和其他数据类型的对象进行相互转换。声明了转换函数转载 2012-08-01 00:04:09 · 1279 阅读 · 0 评论 -
C++入门 (二) 类的设计,构造函数和析构函数
类是编程人员表达自定义数据类型的C++机制。它和C语言中的结构类似,C++类支持数据抽象和面向对象的程序设计,从某种意义上说,也就是数据类型的设计和实现。一、类的设计1.类的声明class 类名{private: //私有...public: //公有...};2.类的成员一般在C++类中,所有定义的变量和函数都是类的成员。如果是变量,我们就转载 2012-07-31 12:12:16 · 836 阅读 · 0 评论 -
(一) C++与C语言的区别 下
六、函数重载在C++中,允许有相同的函数名,不过它们的参数类型不能完全相同,这样这些函数就可以相互区别开来。而这在C语言中是不允许的。1.参数个数不同#include iostream.hvoid a(int,int);void a(int);int main(){a(5);a(6,7);return 0;}void a(int i)转载 2012-07-31 12:09:48 · 881 阅读 · 0 评论 -
C语言入门教程 (二十) 堆和链表
我们经常在题目中有要求,输入一个整数,然后以这个整数作为数组的元素个数,下面的程序代码是错误的。int n,array[n];scanf(%d,&n);在Turbo C中,不允许出现动态数组。那么如果必须需要这样时,就只能使用链表了。一、堆堆是一种动态存储结构,实际上就是数据段中的自由存储区,它是C语言中使用的一种名称,常常用于动态数据的存储分配。堆中存入一数据,总是以2字转载 2012-07-28 19:51:26 · 1214 阅读 · 0 评论 -
C语言入门教程 (十九) 联合和枚举
联合(union):一、联合说明和联合变量定义 联合也是一种新的数据类型, 它是一种特殊形式的变量。联合说明和联合变量定义与结构十分相似。其形式为:union 联合名{ 数据类型 成员名; 数据类型 成员名; ... }联合变量名; 联合表示几个变量公用一个内存位置,在不同的时间保存不同的数据类型和不同长度的变量。 下例表示说明一个联合a_bc: u转载 2012-07-28 19:48:17 · 883 阅读 · 0 评论 -
C语言入门教程 (十八) 结构体
结构是由基本数据类型构成的、并用一个标识符来命名的各种变量的组合。结构中可以使用不同的数据类型。一、结构说明和结构变量定义在Turbo C中,结构也是一种数据类型,可以使用结构变量,因此,象其它类型的变量一样, 在使用结构变量时要先对其定义。定义结构变量的一般格式为: struct 结构名{ 类型 变量名;类型 变量名;...} 结构变量;结构名是结构的转载 2012-07-28 19:45:12 · 806 阅读 · 0 评论 -
C语言入门教程 (十六) 数组和指针
指针和数组有着密切的关系,任何能由数组下标完成的操作也都可用指针来实现,但程序中使用指针可使代码更紧凑、更灵活。一、指向数组元素的指针我们定义一个整型数组和一个指向整型的指针变量:int a[10], *p; 和前面介绍过的方法相同,可以使整型指针p指向数组中任何一个元素,假定给出赋值运算p=&a[0]; 此时,p指向数组中的第0号元素,即a[0],指针变量p中包含了数转载 2012-07-28 19:42:28 · 852 阅读 · 0 评论 -
C语言入门教程 (十五) 指针概念
学习Turbo C语言,如果你不能用指针编写有效、正确和灵活的程序,可以认为你没有学好C语言。指针、地址、数组及其相互关系是C语言中最有特色的部分。规范地使用指针,可以使程序达到简单明了,因此,我们不但要学会如何正确地使用指针,而且要学会在各种情况下正确地使用指针变量。一、指针基本概念及其指针变量的定义我们知道变量在计算机内是占有一块存贮区域的,变量的值就存放在这块区域之中, 在计算机转载 2012-07-28 19:40:38 · 929 阅读 · 0 评论 -
C++与C语言的区别 上
注明:以下及其后续内容部分摘自《Standard C++ Bible》,所有程序代码都在Visual Stdio 6.0中编译运行,操作系统为WinXP。本文不涉及VC6.0开发工具的使用,只讲解C++语法知识。C++和C的共同部分就不讲解了(如 常量和变量,循环语句和循环控制,数组和指针等,这里面的一些区别会在本节和下节介绍一下),具体可看精华区->新手上路->C语言入门,本文着重介绍C++转载 2012-07-31 12:07:57 · 1503 阅读 · 0 评论 -
C++入门 (五) 析构函数和this指针
一、析构函数前面的一些例子都没有说明析构函数,这是因为所用到的类在结束时不需要做特别的清理工作。下面的程序给出了一新的Date类,其中包括一个字符串指针,用来表示月份。#include iostream.h#include string.hclass Date{int mo,da,yr;char *month;public:Date(int m=0, i转载 2012-08-01 08:13:34 · 811 阅读 · 0 评论 -
c++重载
简介 重载是可使函数、运算符等处理不同类型数据或接受不同个数的参数的一种方法编辑本段重载是不是多态?第一种说法 重载是一种是多态(如C++),有四种形式的多态: 1.虚函数多态 2模板多态 3重载 4转换 所谓的动态和静态区分是另一种基于绑定时间的多态分类,严格来说,重载是编译时多态,即静态多转载 2012-08-24 16:27:33 · 3036 阅读 · 0 评论 -
一个 fork 的面试题
题目:请问下面的程序一共输出多少个“-”? 01#include 02#include 03#include 04 05int main(void)转载 2012-08-02 10:01:34 · 257 阅读 · 0 评论 -
C++入门 (九) 重载运算符
C++允许为类的对象构造运算符来实现单目或者双目运算,这个特性就叫运算符重载。可以通过添加成员函数来实现运算符重载。重载是由P.J.Plauger发现的。一。重载运算符的时机1。需要在定义的对象间相互赋值时,重载赋值运算符2。需要在数字类型增加算术属性时,重载算术运算符3。需要为定义的对象进行逻辑比较时,重载关系运算符4。对于container,重载下标运算符[]5转载 2012-08-01 12:48:44 · 467 阅读 · 0 评论 -
C语言初学者常遇到的变量名称
argc argv argc,argv 用命令行编译程序时有用。 主函数main中变量(int argc,char *argv[ ])的含义 我们平时定义主函数时通常的写法为:int main( )或void main( ) 其实,int main( ) 只是 UNIX 及 Linux 默许的用法, main(int argc, char原创 2012-08-01 21:17:14 · 613 阅读 · 0 评论 -
Linux下的C编程实战之开发平台搭建
Linux下的C编程实战之开发平台搭建 1.引言 Linux操作系统在服务器领域的应用和普及已经有较长的历史,这源于它的开源特点以及其超越Windows的安全性和稳定性。而近年来,Linux操作系统在嵌入式系统领域的延伸也可谓是如日中天,许多版本的嵌入式Linux系统被开发出来,如ucLinux、RTLinux、ARM-Linux等等。在嵌入式操作系统方面,Linux的转载 2012-08-01 19:59:21 · 453 阅读 · 0 评论 -
linux程序设计 第一章:生成一个Process(进程)
第一章:生成一个Process(进程)进程是什么?简单地说,进程就是在执行状态下的一个程序(包括CPU状态,所占内存的状态,等等)A进程生成了B进程,也就是说,A程序在执行的时候,又生成了另一个进程B。这个时候,我们可以把A进程叫做父进程,把B进程叫做子进程。例程序:// Usage : ./a.out 20#includeint main( int argc , ch转载 2012-08-01 12:53:19 · 598 阅读 · 0 评论 -
Linux下的C编程实战之三
Linux下的C编程实战之三 Linux进程在内存中包含三部分数据:代码段、堆栈段和数据段。代码段存放了程序的代码。代码段可以为机器中运行同一程序的数个进程共享。堆栈段存放的是子程序(函数)的返回地址、子程序的参数及程序的局部变量。而数据段则存放程序的全局变量、常数以及动态数据分配的数据空间(比如用malloc函数申请的内存)。与代码段不同,如果系统中同时运行多个相同的程序,它们不能使用同一转载 2012-08-01 20:06:30 · 585 阅读 · 1 评论 -
C++入门 (八) 类的其他几点问题
一、拷贝构造函数拷贝构造函数在下列情况下被调用:用已经存在的对象去初始化同一个类的另一个对象;在函数的参数中,以传值方式传递类对象的拷贝;类对象的值被用做函数的返回值。拷贝构造函数和前面说到的转换构造函数有些相似。转换构造函数是把一个类的对象转化为另一个类的对象;拷贝构造函数是用一个已经存在的对象的值实例化该类的一个新对象。不同对象间的初始化和赋值的区别:赋值操作是在两个已经存在的对象间进转载 2012-08-01 12:47:45 · 491 阅读 · 0 评论 -
C++入门 (七) 类和堆
一、构造函数和析构函数前面的例子已经运用了new和delete来为类对象分配和释放内存。当使用new为类对象分配内存时,编译器首先用new运算符分配内存,然后调用类的构造函数;类似的,当使用delete来释放内存时,编译器会首先调用泪的析构函数,然后再调用delete运算符。#include iostream.hclass Date{int mo,da,yr;pub转载 2012-08-01 08:15:44 · 611 阅读 · 0 评论 -
C++入门 (六) 类对象数组和静态成员
一、类对象数组类的对象和C++其他数据类型一样,也可以为其建立数组,数组的表示方法和结构一样。#include iostream.hclass Date{int mo,da,yr;public:Date(int m=0,int d=0, int y=0) { mo=m; da=d; yr=y;}void display() const { cout };转载 2012-08-01 08:14:33 · 1424 阅读 · 0 评论 -
C语言入门教程 (二十三) 文件操作
一、标准文件的读写1.文件的打开fopen()文件的打开操作表示将给用户指定的文件在内存分配一个FILE结构区,并将该结构的指针返回给用户程序,以后用户程序就可用此FILE指针来实现对指定文件的存取操作了。当使用打开函数时,必须给出文件名、文件操作方式(读、写或读写),如果该文件名不存在,就意味着建立(只对写文件而言,对读文件则出错),并将文件指针指向文件开头。若已有一个同名文件存在,则删转载 2012-07-28 19:54:18 · 852 阅读 · 0 评论 -
C语言入门教程 (十二) 变量的作用域和存储类型
一、作用域和生存期C程序的标识符作用域有三种:局部、全局、文件。标识符的作用域决定了程序中的哪些语句可以使用它,换句话说,就是标识符在程序其他部分的可见性。通常,标识符的作用域都是通过它在程序中的位置隐式说明的。1.局部作用域前面各个例子中的变量都是局部作用域,他们都是声明在函数内部,无法被其他函数的代码所访问。函数的形式参数的作用域也是局部的,它们的作用范围仅限于函数内部所用的语句块转载 2012-07-28 19:36:10 · 698 阅读 · 0 评论 -
C语言入门教程 (十七) 指针函数和函数指针
一、指针函数当一个函数声明其返回值为一个指针时,实际上就是返回一个地址给调用函数,以用于需要指针或地址的表达式中。格式:类型说明符 * 函数名(参数)当然了,由于返回的是一个地址,所以类型说明符一般都是int。例如:int *GetDate();int * aaa(int,int);函数返回的是一个地址值,经常使用在返回数组的某一元素地址上。int * GetD转载 2012-07-28 19:44:09 · 683 阅读 · 0 评论 -
Linux下socket编程
什么是Socket Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解Socket接口。 Socket接口设计者最先是将接口放在Unix操作系统里面的。如果了解Unix系统的输入和输出的话,就很容易了解Socket了。网络的 Socket数据传转载 2012-08-09 00:21:40 · 359 阅读 · 0 评论 -
C语言入门教程 (二) 变量和常量
编译环境设置好以后,就可以正式学习C语言了。一、变量(一)、变量类型和表示方法1.什么是变量?一句话,变量是存储数据的值的空间。由于数值的类型有多种,有整数、小数(浮点数)、字符等等,那么对应的变量就有整型变量、浮点型变量、字符型变量。变量还有其他的具体分类。整型变量还可具体分为无符号型、长整型和短整型。浮点型也可分为单精度型、双精度型和长双精度型。此外还可以分为静态变量、外部变量、寄转载 2012-07-23 06:47:34 · 621 阅读 · 0 评论 -
C语言入门教程 (三) 运算符
无论是加减乘除还是大于小于,都需要用到运算符,在C语言中的运算符和我们平时用的基本上都差不多。运算符包括赋值运算符、算术运算符、逻辑运算符、位逻辑运算符、位移运算符、关系运算符、自增自减运算符。大多数运算符都是二目运算符,即运算符位于两个表达式之间。单目运算符的意思是运算符作用于单个表达式。(具体什么是表达式下一节再说)一、赋值运算符赋值语句的作用是把某个常量或变量或表达式的值赋值转载 2012-07-23 06:49:25 · 931 阅读 · 0 评论 -
C语言入门教程 (一) 概述
一、C语言的产生与发展C语言是1972年由美国的Dennis Ritchie设计发明的,并首次在UNIX操作系统的 DEC PDP-11 计算机上使用。它由早期的编程语言BCPL (Basic Combind Programming Language)发展演变而来。在1970年,AT&T贝尔实验室的Ken hompson根据BCPL语言设计出较先进的并取名为B的语言,最后导致了C语言的问世。转载 2012-07-22 23:35:16 · 645 阅读 · 0 评论 -
Linux应用程序中出现两次fork的解释
一个进程使用fork创建子进程,如果子进程退出,而父进程并没有调用wait或waitpid获取子进程的状态信息,那么子进程的进程描述符仍然保存在系统中。这种进程称之为僵死进程。 在一些程序中经常看见使用两次fork创建子进程,原因如下: 以下摘自《UNIX环境高级编程》 如果一个进程fork一个子进程,但不要它等待子进程终止,也不希转载 2012-08-07 01:48:40 · 804 阅读 · 0 评论 -
Linux 常用命令列表
Linux Shortcuts and Commands:by Stan and Peter Klimas This is a practical selection of the commands we use most often. Press to see the listing of all available command (on your PATH). On my smal转载 2012-08-07 01:33:10 · 515 阅读 · 0 评论 -
linux进程通讯-共享内存
一)概念: 1)Linux和所有的UNIX操作系统都允许通过共享内存在应用程序之间共享存储空间. 2)有两类基本的API函数用于在进程间共享内存:System v和POSIX. 3)这两类函数上使用相同的原则,核心思想就是任何要被共享的内存都必须经过显示的分配. 4)因为所有进程共享同一块内存,共享内存在各种进程间通信方式中具有最高的效率. 5)内核没有对访问共享内存转载 2012-08-07 01:28:45 · 406 阅读 · 0 评论 -
助你成为编程高手的22条小建议
1.大学生活丰富多彩,会令你一生都难忘,但难忘有很多种,你可以学了很多东西而难忘,也会因为什么都没学到而难忘! 2.计算机专业是一个很枯燥的专业,但即来之、则安之,只要你努力学,也会发现其中的乐趣的。 3.记住:万丈高楼平地起!基础很重要,尤其是专业基础课,只有打好基础才能学得更深。 4.C语言是基础,很重要,如果你不学好C语言,那么什么高级语言你都学不好。转载 2012-07-23 07:03:04 · 728 阅读 · 0 评论 -
Ubuntu12.04安装基础教程(图文)
Ubuntu12.04安装基础教程(图文)1、进入 live cd 桌面 1)设置好启动后,断开网络,然后重启动计算机,可以用硬盘启动,也可以刻成光盘启动,镜像的下载地址: 进入后找蓝色链接点击下载,如 ubuntu-12.04-desktop-i386.iso,64位CPU可以下载amd64的版本:http://mirrors.sohu.com/ubuntu原创 2012-08-04 23:59:29 · 2255 阅读 · 0 评论 -
linux下C的共享内存编程
unix/linux 环境下,IPC的方式有3种: 消息队列、信号、共享内存#include #include 共享内存使用方法(shared memory),主要使用以下这几个函数:1) ftok 根据一个文件路径(相应的文件必须存在)和一个数值(char类型),计算出一个key,这个key用于提供给其他IPC函数。2) shmget 用于创建/获取已转载 2012-08-02 16:26:06 · 659 阅读 · 0 评论 -
C语言入门教程 (八) 数组
数组,顾名思义就是一组同类型的数。一、数组的声明声明数组的语法为在数组名后加上用方括号括起来的维数说明。本接仅介绍一维数组。下面是一个整型数组的例子:int array[10];这条语句定义了一个具有10个整型元素的名为array的数组。这些整数在内存中是连续存储的。数组的大小等于每个元素的大小乘上数组元素的个数。方括号中的维数表达式可以包含运算符,但其计算结果必须是一个长整型转载 2012-07-26 08:33:18 · 703 阅读 · 0 评论 -
C语言入门教程 (六) 条件语句
一个表达式的返回值都可以用来判断真假,除非没有任何返回值的void型和返回无法判断真假的结构。当表达式的值不等于0时,它就是“真”,否则就是假。一样个表达式可以包含其他表达式和运算符,并且基于整个表达式的运算结果可以得到一个真/假的条件值。因此,当一个表达式在程序中被用于检验其真/假的值时,就称为一个条件。一、if语句if(表达式) 语句1;如果表达式的值为非0,则执行语句1,否则转载 2012-07-25 19:39:51 · 1569 阅读 · 0 评论 -
C语言入门教程 (十四) 预处理过程
预处理过程扫描源代码,对其进行初步的转换,产生新的源代码提供给编译器。可见预处理过程先于编译器对源代码进行处理。在C语言中,并没有任何内在的机制来完成如下一些功能:在编译时包含其他源文件、定义宏、根据条件决定编译时是否包含某些代码。要完成这些工作,就需要使用预处理程序。尽管在目前绝大多数编译器都包含了预处理程序,但通常认为它们是独立于编译器的。预处理过程读入源代码,检查包含预处理指令的语句和宏转载 2012-07-28 19:39:33 · 649 阅读 · 0 评论 -
C++入门教程 之 初学者,你应当如何学习C++以及编程
Javascript是世界上最受误解的语言,其实C++何尝不是。坊间流传的错误的C++学习方法一抓就是一大把。我自己在学习C++的过程中也走了许多弯路,浪费了不少时间。 为什么会存在这么多错误认识?原因主要有三个,一是C++语言的细节太多。二是一些著名的C++书籍总在(不管有意还是无意)暗示语言细节的重要性和有趣。三是现代C++库的开发哲学必须用到一些犄角旮旯的语言细节(但注意,是库设计转载 2012-07-28 20:02:08 · 1712 阅读 · 0 评论 -
C语言入门教程 (二十二) 文件操作基本常识
由于程序中经常有大量对文件的输入输出操作,它经常构成了程序的主要部分,因而C语言提供了很多输入输出的函数,它们分别用于两种类型文件输入输出系统:即由ANSI标准定义的缓冲文件(也称标准文件(流)输入输出(I/O)系统);另一类是ANSI标准中没有定义的非缓冲文件(也称非标准文件(流)输入输出(I/O)系统)。我们已经熟悉了通过键盘和显示器进行输入输出的一些函数,如scanf(),printf(转载 2012-07-28 19:53:17 · 636 阅读 · 0 评论