随笔分类 -  C 语言

C语言基础与深度剖析
摘要:同学们认为注释很简单,那我来看看下面的代码是否正确? 1.似是而非的问题 你的答案是什么呢? 答案: 只有第七行出错。 2.注释规则 编译器在编译过程中使用空格替换整个注释 字符串字符串字面量中的 // 和 /*...*/不代表注释符号 /*......*/型注释不能被嵌套(在分段排除异常往往被忽略 阅读全文
posted @ 2018-12-15 15:03 lemaden 阅读(3128) 评论(0) 推荐(0)
摘要:1、const只读变量 const修饰的变量是只读的。本质还是变量 const修饰的局部变量在栈上分配空间 const修饰的全局变量在全局数据区分配空间 const只在编译期有用,在运行期无用 const修饰的变量不是真的变量,它只是告诉 编译器该变量不能出现在赋值符号的左边实例一.cpp: 从上面 阅读全文
posted @ 2018-12-15 14:40 lemaden 阅读(1164) 评论(0) 推荐(0)
摘要:昨天韩同学在做数据结构题的时候,问了我一个关于typedef 与结构体数组的问题: 这里我们先回顾一下struct是怎么使用的。 1.有名构造类型-结构体 2.别名构造类型-结构体 上面我们使用有名构造类型-结构体可以满足要求了,为何还要有个别名构造类型呢? 因为你看上面的第8行代码,我们定义一个新 阅读全文
posted @ 2018-12-15 12:06 lemaden 阅读(5558) 评论(1) 推荐(2)
摘要:-循环语句分析 循环语句的基本工作方式 - 通过条件表达式判断是否执行循环体 - 条件表达式循环if语句表达式的原则 do、while、for的区别 - do语句先执行后判断,循环体至少循环一次 - while语句先判断后执行,循环体可能不执行 - for语句先判断后执行,相比while更简洁 三者 阅读全文
posted @ 2018-12-15 09:57 lemaden 阅读(320) 评论(0) 推荐(0)
摘要:if语言中零值比较的注意点: -bool型变量应该直接出现于条件中,不要进行比较 -变量和零值比较时,零值应该出现在比较符号左边 -float型变量不能直接进行零值比较,需要定义精度 switch 语句分析: -switch 语句对应单个条件多个分支的情形 -case语句分支必须要有break,否则 阅读全文
posted @ 2018-12-15 09:38 lemaden 阅读(164) 评论(0) 推荐(0)
摘要:首先我们看我们接到的一个用户需求: 编写一个函数: -函数可以获得斐波那契数列每项的值 -没调用一次返回一个值。 -函数可以重复使用根据需要。 比如斐波那契函数,第一二次调用返回1 三次调用返回2,四次返回3。。 这段代码我们发现初步满足需要,但客户说我们的不满足需求; 他说:我们这段代码一旦开始就 阅读全文
posted @ 2018-12-14 21:05 lemaden 阅读(163) 评论(0) 推荐(0)
摘要://通过不同的方法,实现对所输入字符串的反转,可以很好地复习巩固 C++ 基础知识/*分析过程: 假设要使传递的字符串为常量const字符串,这样操作更加灵活,可直接传递字符串字面值进行反转,常见的解决方法就是,定义一个新的与传递过来字符串长度 相等的字符数组,然后进行字符串拷贝,把str字符按从左 阅读全文
posted @ 2018-12-14 17:34 lemaden 阅读(22312) 评论(0) 推荐(0)
摘要:历史遗留问题: -C语言不支持真正意义上的字符串; -C语言字符数组和一组函数实现字符串操作; -C语言不支持在定义类型,因此无法获得字符串类型; solution: -从C到C++的进化过程引入了自定义类型; -在C++中可以通过类完成字符串类型的定义; question: C++中原生类型系统是 阅读全文
posted @ 2018-12-14 14:13 lemaden 阅读(195) 评论(0) 推荐(0)
摘要:复数计算第一种形式(自定义复数类): Question: Add 函数可以解决Complex对象相加的问题; 但是Complex是现实世界的确定存在的复数; 并且复数的地位在数学中的地位与普通的实数地位i相同; 为什么不能+操作符也支持复数相加呢? 操作符重载: C++中的operator关键字可以 阅读全文
posted @ 2018-12-14 10:56 lemaden 阅读(209) 评论(0) 推荐(0)
摘要:函数重载回顾: - 函数重载的本质为相互独立的不同函数; -C++通过函数名和函数参数确定函数调用. -无法直接通过函数名得到重载函数的入口地址. -函数重载必然发生在同一作用域. 类中的重载: -构造函数的重载; -普通成员函数的重载 -静态成员函数的重载 Question: 全局函数,普通成员函 阅读全文
posted @ 2018-12-14 10:24 lemaden 阅读(309) 评论(0) 推荐(0)
摘要:实际工程开发逐渐被遗弃; 什么是友元? - 友元是C++ 中的一种关系; -友元关系发生在函数与类之间或者类与类之间; -友元是单项的,不能传递。 函数————》(友元)————》class; 友元的用法: -在类中以friend 关键字声明友元 -类的友元可以是其它类或者具体的函数 -友元不是类的 阅读全文
posted @ 2018-12-14 09:50 lemaden 阅读(149) 评论(0) 推荐(0)
摘要:模式:方法。设计模式,就是设计方法。前人证明了的行之有效的方法。 构造函数: 1.关于构造函数 -类的构造函数用于对象的初始化。 -构造函数与类同名并且没有返回值。 -构造函数在对象定义时自动被调用。 问题: 1.如何判断构造函数的执行结果? 2.在构造函数中执行return语句会发生什么? 3.构 阅读全文
posted @ 2018-12-14 08:44 lemaden 阅读(426) 评论(0) 推荐(0)
摘要:深拷贝 main.cpp IntArray.cpp IntArray.h 阅读全文
posted @ 2018-12-12 11:55 lemaden 阅读(1454) 评论(0) 推荐(0)
摘要:-无参构造函数 没有参数的构造函数: 当类中没有定义构造函数时,编译器默认提供一个无参构造函数,并且其函数体为空; -拷贝构造函数 参数为const class_name & 的构造函数 (当前类对象的引用): 当类中没有定义拷贝构造函数,编译器默认提供一个拷贝构造函数,简单的进行成员变量的复制。 阅读全文
posted @ 2018-12-12 11:53 lemaden 阅读(295) 评论(0) 推荐(0)
摘要:C++ 实例练习-替换原生数组 main.cpp IntArray.cpp IntArray.h 阅读全文
posted @ 2018-12-12 11:08 lemaden 阅读(380) 评论(0) 推荐(0)
摘要:类的属性-初始化对象 从程序设计的角度,对象只是变量,因此: -再栈上创建对象时,成员变量初始化为随机值; -在堆上创建变量时,成员变量初始化为随机值; -在静态存储区创建变量时, 成员变量初始化为 0 值。 生活中的对象都是初始化后才能上市。 初始状态是普遍存在的状态。 如何解决? 解决方案: - 阅读全文
posted @ 2018-12-11 21:06 lemaden 阅读(317) 评论(0) 推荐(0)
摘要:C++四位运算符操作,完美诠释面向对象初级小联系 阅读全文
posted @ 2018-12-11 20:30 lemaden 阅读(2195) 评论(0) 推荐(0)
摘要:转自:https://www.cnblogs.com/L-hq815/archive/2012/07/09/2583043.html 若有违规请联系我删除。 介绍 Socket编程让你沮丧吗?从man pages中很难得到有用的信息吗?你想跟上时代去编Internet相关的程序,但是为你在调用 co 阅读全文
posted @ 2018-12-10 19:08 lemaden 阅读(333) 评论(0) 推荐(0)
摘要:C文件操作 阅读全文
posted @ 2018-12-10 18:34 lemaden 阅读(365) 评论(1) 推荐(0)
摘要:一、浮点数的秘密 1.内存中的浮点数 浮点数在内存中的存储方式为:符号位、指数、尾数 十进制浮点数的内存表示: 实例分析: float 跟int 都是四个字节为什么float 表示的范围要更广呢? 阅读全文
posted @ 2018-12-07 10:46 lemaden 阅读(232) 评论(0) 推荐(0)