- 博客(22)
- 收藏
- 关注
原创 C++中类的封装
类类是对现实生活中一类具有共同特征的事物的抽象 类是面向对象程序设计实现信息封装的基础。 类是一种用户定义类型,也称类类型。 类的实例称为对象。 类的实质是一种数据类型面向对象原则以对象为中心,以谁做什么来表达程序的逻辑,对象的所以行为都通过调用函数来实现封装private : 只读属性,不可被外界修改 protect :来声明是希望与派生类分享但是不想被其他公共...
2018-08-28 10:19:38
282
原创 C++中的继承
继承:是面向对象程序设计中使代码可以复用的重要手段,它允许程序员在原有类特性的基础上进行扩展增加功能。这样产生的新的类叫派生类。 继承体现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程。格式 class DerivedClassName : access_label BaseClassName 派生类名字 : 继承权限 父类名字继承关...
2018-08-28 10:09:20
11368
原创 C++中的多态
什么是多态? 多态性(polymorphism)据说最早源自希腊语,从字面上理解就是多种形态,多种形式。具体到C++这种面向对象(OOP)的语言中,其实就是“一种接口,多种实现(方法)”。 多态可分为静态多态和动态多态,具体的分类情况如下: 静态多态和动态多态的区别其实只是在什么时候将函数实现和函数调用关联起来,是在编译时期还是运行时期,即函数地址是早绑定还是晚绑定的?...
2018-08-28 10:00:22
188
原创 C++中引用与指针的区别
请说出C++中引用和指针的区别。(1)当引用被创建时,它必须被初始化。而指针则可以在任何时候被初始化。 (2)一旦一个引用被初始化为指向一个对象,它就不能被改变为对另一个对象的引用。而指针则可以在任何时候指向另一个对象。 (3)不可能有NULL引用。必须确保引用是和一块合法的存储单元关联。进一步解析: 指针和引用都是 C++ 中的基本语法成份,它们既有联系,也有不同...
2018-08-28 09:45:28
382
原创 stat函数与stat结构体
在Linux中,可以利用stat()函数来获取一个文件的状态#include <sys/stat.h>#include <unistd.h>int stat(const char *file_name, struct stat *buf);这个函数执行成功返回0,失败返回-1。取得的文件状态存放在buf指针指向的struct stat结构提中, struc...
2018-08-28 09:25:34
720
原创 C语言:函数的调用过程及栈帧的创建和销毁
一、说起函数调用,我们可能很快就想到:程序从main函数走起,遇到调用函数的语句,就跳转到此函数所在的语句块执行此函数,执行完之后再返回main函数继续执行程序。但是这只是笼统的描述,其实在函数内部,函数调用要经过一系列的复杂的过程,下面为大家一一详细叙述。 1.说到函数调用,我们不可避免的要说到栈帧的创建和销毁。函数调用过程要为函数开辟空间,用于本次函数的调⽤用中临时变量的保存、现场保护。这块...
2018-05-11 16:17:24
206
原创 指针了解一下
指针在c语言中,我们会频繁的使用指针,那么什么是指针?首先我们来看一段代码。#include <stdio.h>int main(){ int a = 10;//在内存中开辟一块空间 int *p = &a;//将a的地址存放在指针变量p中 return 0;}假如创建的变量a的地址为0x0000ff11,那么指针变量指向变量a,存...
2018-05-11 16:09:04
146
1
原创 C语言中的自定义类型:结构体、枚举、联合
我们知道c语言基本数据类型有: 本篇将重点介绍C语言中的自定义类型:结构体、枚举、联合结构体结构体定义:结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。 构造: struct 结构体名 { 结构体所包含的变量或数组 };声明与定义struct Stu{ char name[20];//名字 int age;//...
2018-05-11 15:57:12
223
原创 实现一个通讯录
实现一个通讯录;通讯录可以用来存储1000个人的信息,每个人的信息包括: 姓名、性别、年龄、电话、住址 提供方法: 1. 添加联系人信息 2. 删除指定联系人信息 3. 查找指定联系人信息 4. 修改指定联系人信息 5. 显示所有联系人信息 6. 清空所有联系人 7. 以名字排序所有联系人实现起来并不是很难,但是一定要养成良好的代码习惯。Contac...
2018-05-11 14:54:51
277
转载 指针数组与数组指针详解
指针数组与数组指针详解1.什么是指针数组和数组指针?指针数组:指针数组可以说成是”指针的数组”,首先这个变量是一个数组,其次,”指针”修饰这个数组,意思是说这个数组的所有元素都是指针类型,在32位系统中,指针占四个字节。 数组指针:数组指针可以说成是”数组的指针”,首先这个变量是一个指针,其次,”数组”修饰这个指针,意思是说这个指针存放着一个数组的首地址,或者说这个指针指向一个数组的首地...
2018-04-26 14:10:59
102
原创 调整数组使奇数全部都位于偶数前面
代码段:#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <stdlib.h>void swap(int arr[], int sz){ int i = 0; int a[5] = { 0 }; int b[5] = { 0 }; for (i = 0;...
2018-04-12 14:34:07
105
原创 用宏将一个数字的奇数位和偶数位交换
代码段:#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <stdlib.h>#define swap(x) (((x&(0x55555555))<<1)|((x&(0xaaaaaaa))>>1))int main(){ int a =...
2018-04-09 10:45:27
150
原创 在屏幕上打印杨辉三角
代码段:#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <stdlib.h>int main(){ int i = 0; int j = 0; int arr[20][20] = { 0 }; int a = 0; printf("请输入一...
2018-04-09 09:50:45
126
原创 获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列
代码段:#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <stdlib.h>int main(){ int a = 0; int count = 0; int i = 0; int arr1[16] = { 0 }; int arr2[16] ...
2018-04-09 09:47:19
97
原创 折半查找
代码块:#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <stdlib.h>int binary_search(int arr[], int key, int sz) //查找函数{ int left = 0; int right = sz - 1; whi...
2018-04-09 09:43:17
125
原创 猜数字游戏
主函数(main):#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <stdlib.h>#include <time.h>void menu() //菜单函数{ printf("************************\n"); print...
2018-04-09 09:38:51
216
原创 编写一个程序,它从标准输入读取C源代码,并验证所有的花括号都正确的成对出现
主函数(main):#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <stdlib.h>int main(){ int ch; int count = 0; //定义的计数器 while ((ch = getchar()) != EOF) //EOF ...
2018-04-09 09:34:20
134
原创 计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值。
主函数(main):#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <math.h>#include <stdlib.h>int main(){ double i = 1; double num = 0; for (; i < 100; i+...
2018-04-09 09:30:25
1281
原创 求两个数的最大公约数
主函数(main):#include <stdio.h>#include <stdlib.h>int main(){ int a = 15; int b = 20; int n = 0; if (a > b) { n = b; } else n = a; i...
2018-04-09 09:21:33
113
原创 自己写的三子棋
自己定义的头文件(函数声明):#ifndef A_H #define A_H#define ROWS 3 //定义行 #define COLS 3 //定义列 #include <stdio.h>#include <stdlib.h>#include <assert.h>#include <time.h>//棋盘...
2018-04-09 09:08:35
169
原创 C语言操作符
今天来总结一下常见的操作标识符。一、算术操作符。首先了解一下算术标识符都有哪些:+、-、*、/、%。这些运算符都是最基础的操作符,不做过多介绍。但要注意“%”只能用于整型。二、移位操作符。移位操作符有两种:>>(右移操作符)、<<(左移操作符)。特别注意右移操作时分为两种情况:1、算术右移;2、逻辑移位。算术右移情况指的是:二进制数有正负之分,补位时要注意符号位;逻辑移位情...
2018-03-31 13:02:02
97
原创 新的旅程
我的名字叫闵东博,是一个迷茫的大三学生,学了十几年了,都要即将毕业了,但是对未来却没有一点信心,我感觉现在的自己进入社会就是什么都不会,所以我想学习编程,想要熟练的掌握编程技巧。 对于编程我现在还能懂一点,还记得大一来的时候什么都不知道,甚至自己学的C语言能干什么都不知道,然而现在却只会写一个老谭书上的“Holle,world。”所以我现在为了以后要认真学习编程,我也想要进入像腾讯一...
2018-03-21 21:01:51
111
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人