- 博客(44)
- 资源 (6)
- 收藏
- 关注
原创 C++异常机制的初识
2.1 typeid 的使用 sizeof 关键字,用来计算数据类型在内存中的占用的空间的大小 int i= 10; sizeof(int) = sizeof(i) = 4; 表达式的结果是整数; typeid 关键字,用来获取数据类型的名字 typeid(int) = typeid(i) 结果是
2014-05-19 13:57:26 582
原创 C++之多态的初识
2.多态 C++是一门面向对象的编程语言,体现在: 封装,继承,多态 多态:只同一种类型的指针/引用 ,调用相同的函数 表现出来不同的形态 2.1多态的特性 (1)通过指向子类对象的基类指针/引用 只能调用基类的成员函数 (2)通过指向子类对象的基类指针/引用 调用虚函数,那么实际上调用的是子类中的版本 (3)虚函数和虚函数覆盖
2014-05-19 13:36:07 524
原创 C++之封装和继承初识
1.封装 和 继承的初识 1.1 封装和继承的概念 (1)封装:通过访问控制属性对类中的属性和行为进行访问控制的机制 (2)继承:表达类型之间共性和特性的一种语言机制 比如: 学生类: 属性: 姓名 学号 年龄 行为: 学习 吃饭 教师类: 属性: 姓名 职称 年龄 行为: 讲课 吃饭
2014-05-19 12:49:26 464
转载 Windows把一个目录下所有的文件文件中的数据导入程序中
#include "stdafx.h"#include#include#include#define num 3 //文件数量#define number 1//导入的行数int _tmain(int argc, _TCHAR* argv[]){//保存文件名system("dir d:\\C语言批量导入数据\\*.txt /b > d:\\C语
2014-05-14 17:09:10 645
转载 Linux系统下把一个目录下所有的文件合并到一个文件中
find . | xargs cat >> out.json备忘:查找目录下的所有文件中是否含有某个字符串find .|xargs grep -ri "IBM"查找目录下的所有文件中是否含有某个字符串,并且只打印出文件名find .|xargs grep -ri "IBM" -l1.正则表达式(1)正则表达式一般用来描述文本模式的特殊用法,由普通字符
2014-05-14 12:28:12 9379
原创 C++之双目/单目等运算符的重载
1. 双目运算符重载 格式: L/*左操作数*/ # /*操作符*/ R/*右操作数*/ L#R => L.operator#(R) 成员形式,写在类中,成员函数形式 => operator#(L,R) 非成员形式 //需要定义为类的友元函数 如: cout => cout.operator
2014-05-11 22:08:54 1160
原创 C++输入输出运算符重载
重载定义: 函数重载: 在同一个作用域中,函数名相同,函数的参数列表不同 如:int i = 10; cout char c = 'a'; cout class Student {}; Student s; cout /usr/include/c++/4.6/ostream 文件中 提供好了各种版本的ope
2014-05-11 21:47:53 616
原创 C++之静态成员变量/函数以及成员指针
3.静态成员 复习: static 修饰局部变量,生命周期变长,为整个程序,一般用于计数 static 修饰全局变量,这个变量只能在当前文件中使用 static 修饰函数,这个函数只能在当前文件中使用 static 修饰的成员变量和函数,表示这个成员归整个类共有 3.1 静态成员变量 class 类名 {
2014-05-02 14:54:17 771
原创 C++之析构函数/拷贝构造函数/拷贝赋值函数的概念和使用
1.析构函数 构造函数:当对象被创建时,自动调用构造函数进行初始化, 如果没有自定义的构造函数,那么系统会自动提供一个缺省构造函数 析构函数: 当对象被销毁时,自动调用析构函数进行资源的回收, 如果没有自定义析构函数,那么系统会自动提供一个缺省析构函数 1.1格式 class 类名 {
2014-05-02 14:39:26 575
原创 C++之this指针和const对象/成员函数
1.this 指针 class A { public: void foo(B b){} }; class B{}; A a; B b; a.foo(b);//a叫做调用对象,b叫做参数对象 3.1 this指针的概念 见代码06this.cpp 一般而言,关键字this就是一个指针,对于一般成员函数来说,该指针用于指向调用对象的地址
2014-05-02 14:25:29 538
原创 C++之构造函数与初始化列表
1.构造函数的概念和使用 (见代码03class.cpp) 1.1 概念 函数名与类名相同,函数没有返回值类型(void 也没有),参数随意的函数叫构造函数 6.2 语法格式: class 类名 { 类名(形参列表) { 构造函数体; }
2014-05-02 14:18:17 438
原创 C++之类的概念与使用
5.类和对象的概念以及使用 类:将一些对象的共性提取出来组成类 如:学生类 属性: 姓名,学号,性别 等等 行为: 吃饭,学习,娱乐 教师类 属性: 姓名 年龄 性别 职称 行为: 吃饭 授课 娱乐 (1) 类的定义 class 类名{}; 如: clas
2014-05-02 13:53:37 422
原创 C++之类型转换与编程建议
2.类型转换算子(见代码 :02cast.cpp) C语言中: 隐式类型转换: 小到大 char --> int 显示类型转换(强制类型转换): 大到小 int --> char 如: char c = 'a'; int i = (int)c; //C语言中强制类型转换风格 C++中: i
2014-05-02 13:40:36 423
原创 C++之动态内存和引用
1.动态内存 C语言中通过malloc calloc realloc free 进行动态内存的分配和释放 C++ 中除了对C提供的函数兼容之外,提供两个关键字 new / delete 实现动态内存的管理 如:见代码04maloc 1.1 分配变量大小空间 (1)申请指定数据类型变量大小的内存 int* p = (int*)malloc(sizeof(in
2014-05-02 13:21:01 692
原创 C++中结构体、联合、枚举的使用以及函数相关
2.结构体,联合以及枚举的使用 2.1 结构体在C++中的不同 C语言中: struct Person{ char name[20]; int age; };struct Person p = {"zhangfei",30};一般使用起别名的方式解决名字过长的问题C++中: struct Person{
2014-05-01 23:23:45 1013
原创 C++之命名空间的使用
1.命名空间的概念和使用C中: int num = 66; int num = 66;//编译报错,出现重定义的错误C++中: 命名空间1 {int num = 66;} 命名空间2 {int num = 66;}1.1 自定义命名空间的格式 namespace 命名空间的名字 { 名字空间的
2014-05-01 23:04:11 554
原创 C++概述
1.C++的 简介和 编程变化1.1 C++ 的简介 C语言 1972 年出生于贝尔实验室,C语言的标准:C89 C99 C++ 是在C 语言的基础上 1983 年出生,一开始的名字叫做:New C,后来叫做改名C with classes(带类的C语言), 再后来于是借助了一个运算符++;最后叫做C++;简称为BS ,中文名字叫 本贾尼-斯特劳斯特鲁普、、、、、、
2014-05-01 22:56:35 409
原创 C语言之文件操作
1.文件操作:1.1相关函数:定位问题 fseek()函数 int fseek(FILE *stream, long offset, int whence);功能分析: 第一个参数为文件指针,第二个参数表示偏移量,第三个参数表示从什么地方开始偏移 返回值为0 表示成功,-1表示失败 whence的数值: SEEK_SET 文件的起始位置
2014-05-01 20:43:38 450
转载 进程,线程 - 面试题
1.请简述使用互斥量(Mutux)和临界区(CriticalSection) 作为同步方法的区别及应用场景解答:互斥量与关键段的行为完全相同。互斥量是内核对象,而关键段是用户模式下的同步对象。(除非对资源的争夺非常激烈,这种情况下等待关键段饿线程将不得不进入内核模式等待)互斥量比关键段慢(原因如上述)不同进程中的线程可以访问同一个互斥量,这就意味着线程可以在等待对资源的访问
2014-04-02 23:26:59 1358
转载 腾讯面试题
腾讯二面:1、在数据库中如何创建一个表解答:在数据库中对表的操作有 创建:create table 表名 ;删除:drop table 表名2、创建后如何添加一个记录、删除一个记录解答:添加一条记录:insert into 表名 (字段1,字段2) values (值1,值2) 删除一条记录:delete from 表名 where 条
2014-04-02 23:24:34 439
转载 2012年百度校园实习招聘题目及解答(一)
题目5、算法题2数组al[0,mid-1] 和 al[mid,num-1],都分别有序。将其merge成有序数组al[0,num-1],要求空间复杂度O(1)我的实现:将从前半段移除的值,用插入排序插入到后半段数组中,保持有序,这样将前半部分排序完,就这个数组有序了 可以运行的程序地址和word文档:http://download.c
2014-04-02 23:22:58 377
转载 C++笔试题
现在将会写一系列各种IT公司招聘的笔试面试题博客(自己学习和讨论)。欢迎大家提出好的意见。共同讨论,共同进度。一.字符串或数字的全排列问题(百度笔试题)题目:求一个全排列函数,如P([1,2,3])输出:【123】、【132】、【213】、【231】、【321】、【312】解答:方法一:一个数或(字符)的全排列是其本身,比
2014-04-02 23:19:58 402
原创 C语言之输入输出相关函数
1.库函数:1.1 scanf和printf scanf:表示从输入缓冲区中读取数据printf:表示将要显示的输入送到输出缓冲区中1.2 sscanf和sprintf函数int sscanf(const char *str, const char *format, ...);功能:按照指定的格式从str指向的字符串中读取数据,返回值表示成功读取的个数i
2014-04-02 22:50:58 587
原创 指针数组与数组指针的认识
1.·指针数组回顾: int arr[5]; 整型数组,表示数组中每一个元素都是一个int类型 char arr[5]; 字符数组,表示数组中每一个元素都是char struct Student ss[5]; 结构体数组,表示数组中每一个元素都是一个结构体 指针数组:表示数组中的每一个元素都是一个指针1.1定义数据类型* 数组名[数组长度]
2014-04-02 22:43:11 427
原创 C语言之动态函数的使用
1.使用动态内存的目标:希望在程序执行的运行期间,可以动态的分配内存,由程序员手动的申请和释放内存; -> 堆区2. malloc函数2.1函数的原型#include void *malloc(size_t size);2.2函数的介绍 函数的参数为要申请的内存大小,函数的返回值表示分配到内存的首地址,函数的功能就是申请一块指定大小的动态内存;如果申请失败,返回N
2014-04-02 22:11:38 1154
原创 C语言之联合体union
8 共用体8.1 共用体的概念 有时需要使几种不同类型的变量存放到同一段内存单元中,也就是用覆盖技术,几个变量互相覆盖。这种几个不同的变量共占同一段内在的结构称为 共用体 类型的结构。定义共用体类型的一般形式为union 共用体名{ 成员表列}变量表列;例如:union data{ int i; c
2014-03-31 23:26:01 623
原创 C语言之结构体的初识
1.结构体的定义 C语言允许用户自己指定这样一种数据结构,它由不同类型的数据组合成一个整体,以便引用,这些组合在一个整体中的数据是互相联系的,这样的数据结构称为结构体,它相当于其它高级语言中记录。2.结构体的使用习惯2.1 一般不会把结构体放在主函数中,一般可以放在.h文件中,这样就可以供多个.c文件调用2.2 typedef 关键字可以用来给数据类型起别名,它和#define
2014-03-31 15:48:36 1570
转载 C语言预处理命令之条件编译(#ifdef,#else,#endif,#if等)
预处理过程扫描源代码,对其进行初步的转换,产生新的源代码提供给编译器。可见预处理过程先于编译器对源代码进行处理。在C语言中,并没有任何内在的机制来完成如下一些功能:在编译时包含其他源文件、定义宏、根据条件决定编译时是否包含某些代码。要完成这些工作,就需要使用预处理程序。尽管在目前绝大多数编译器都包含了预处理程序,但通常认为它们是独立于编译器的。预处理过程读入源代码,检查包含预处理指令的语句
2014-03-30 15:47:15 435
原创 C中宏的学习
1宏定义:简单的宏定义有如下格式: [#define 指令 (简单的宏)] #define 标识符 替换列表 替换列表是一系列的C语言记号,包括标识符、关键字、数、字符常量、字符串字面量、运算符和标点符号。当预处理器遇到一个宏定义时,会做一个 “标识符”代表“替换列表”的记录。在文件后面的内容中,不管标识符在任何位置出现,预处理器都会用替换列表代替它。
2014-03-21 10:55:44 878
转载 Ubantu基础操作,基础命令
作者 : 万境绝尘转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/21056029.1. Linux运行等级介绍Linux运行等级 : -- 0 : 关机, 如果将Linux默认运行等级设置为0, 系统将无法启动;-- 1 : 单用户模式, 在这个等级下, 只允许 root
2014-03-21 09:08:58 3912
原创 C中字符串处理
1.字符串的表示形式 在C语言中没有string类型,常见的表示形式 (1)常量字符串 “Hello” “GoodMorning” 存储在只读常量区,字符串的内容不可以修改 (2)使用字符指针去处理 char* pStr = “Hello”; 让pStr指针指向字符串“Hello”的首地址,也就是第一个字符的地址
2014-03-20 18:16:46 493
原创 指针的初识
1.指针 1.1指针的概念 指针实质上就是内存地址,指针变量就是用于存储变量的地址 1.2指针的声明 数据类型* 变量名 如: int num;//定义一个整型变量,变量名为num int* num;//定义一个整型的指针变量,用于存储一个整型变量的地址注意事项:(1)指针的数据类型取决于所保存的地址上的数据类型(2)声明指针变量的时候,*表
2014-03-20 17:14:42 595
原创 变量的分类
1.变量的分类: 1.1块变量 语句块(程序块):指使用大括号{}括起来的一组语句 在一个语句块内部的变量,叫做块变量 if(...) { int i;//块变量 } (1)生命周期: 从定义开始,一直到程序块结束 (2)作用域(访问范围):只有在语句块的内部访
2013-12-15 22:48:13 863
原创 谈谈函数
1. 函数 C语言一门面向过程的语言,注重程序的执行过程,在程序中函数是主体 函数本质就是一些语句的集合 C程序中函数主要分为3类 (1)主函数(main) 程序的入口 (2)自定义函数 (3)库函数 printf、scanf1.1 函数的定义 返回值 函数名(形式参数) { 函数体; }
2013-12-15 22:41:31 471
原创 输入 /输出 缓冲区 与 数组的常识
1. 输入输出缓冲区1.1 输入缓冲区键盘——>键盘缓冲区——>输入缓冲区——>程序scanf("%*[^\n]");scanf("%*c");(丢弃任意一个字符)——>清空输入缓冲区——>程序解释:* 丢弃读取到的内容[^\n] 表示任何非\n的字符如果读取到的数据类型匹配,那么缓冲区中的数据会被成功读取,缓冲区中被读取完的数据就不存在了1.2
2013-12-15 18:03:43 731
原创 各个进制之间的转换
1. 十进制:118——逢十进一2. 二进制计算机中:存储的都是整数的二进制形式二进制:逢二进一数据分为:正数、0、负数于是采用二进制的最高位(左边的)作为符号位1 负数;0 非负数1: 0000 0001-1:1000 0001 +----------------------------1000 0010 = -2 错误的
2013-11-28 22:40:22 828
原创 C 语言之流程控制语句
1.流程控制----条件分支语句 1.1 if语句if(条件){ 语句1;}语句2;如果条件成立(为真1),则执行语句1,然后执行语句2,否则直接执行语句2注意:无论if条件满足后需要执行多少语句,要求if条件后面使用大括号 1.2 if —else语句if(){ 语句1;}else{
2013-11-28 21:47:28 680
原创 C 语言之运算符
1.运算符a+b ——》表达式a,b ——》操作数+/- ——》运算符 1.1算数运算符+ - * / %(取余)注意: (1)%要求操作数必须是整数 5%2 =1(2)0不能做除数,当然也不能对0取余(3)如果两个数相除,那么结果取整数部分1.2 赋值运算符int num; num = 1;“=”就是赋值运算符(1)简单赋
2013-11-28 21:29:44 789
原创 C 语言之格式化输入与输出
1.格式化的输出 1.1 printf的介绍 #include int printf(“格式字符串”,标识符名称 ...); printf是一个函数,“”里面用于设置输出的格式,后面代表具体的输出内容 printf(“你好%d 我好%d 大家好%d 我们都好\n”); 普通字符:你好 我好 大家好 我们都好——》原样输出,一般用于打印
2013-11-28 21:01:01 977
原创 C 语言中的数据类型
1.C语言中的数据类型1.1基本数据类型:字符型(char),短整型(short [int]),整型(int),长整型(long [ int])单精度浮点型(float)双精度浮点型(double)1.2复合数据类型:数组,结构体。。。2.基本数据类型字符型 (char)‘a’ ‘1’——1个字节短整型(short [int])——2个字节整型(in
2013-11-28 20:38:58 1230
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人