摘要:二级指针也是一个普通的指针变量,只是它里面保存的值是另外一个一级指针的地址定义: int guizi1 = 888; int *guizi2 = &guizi1; //1 级指针,保存 guizi1 的地址 int **liujian = &guizi2; //2 级指针,保存 guizi2 的地址
阅读全文
摘要:项目需求 中国福利彩票“双色球”是一种联合发行的“乐透型”福利彩票。采用计算机网络系统发行 销售,定期电视开奖。 游戏规则 1.“双色球”彩票投注区分为红色球号码区和蓝色球号码区。 2.“双色球”每注投注号码由 6 个红色球号码和 1 个蓝色球号码组成。红色球号码从 1--33 中选择;蓝色球号码从
阅读全文
摘要:防御式编程(Defensive Programming)是提高软件质量的辅助手段怎么理解呢?防御式编程思想的理解可以参考防御式驾驶: 在防御式驾驶中要建立这样一种思维,那就是你水远也不能确定另一位司机将要做什么。这样才能确保在其他人做出危险动作时你也不会受到伤害。你要承担起保护自己的责任,哪怕是其他
阅读全文
摘要:杨辉三角形规律: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 三角形图案输出 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 实现思路:我们定义一个二维数组,所有元素先初始化为 0; 给数组的第 1 列和对角线元素赋值为 1;其余元素 a[i][j]=a[i-1][j-1
阅读全文
摘要:项目需求 2018 年 11 月 26 日,“洞察”号火星探测器在火星上成功着陆,执行人类首次探究火星“内 心深处”的任务。火星上地形比较复杂,高低起伏,有山峰和低谷,稍有不慎,就会引起“翻 车”。因此我们必须要识别地形上的各个最高点(峰点)和最低点(谷点),以便为探测器 提供导航数据。 峰点就是一
阅读全文
摘要:Linux 内核“共享”双向链表在 linux 内核中,有大量的数据结构需要用到双向链表,例如进程、文件、模块、页面等。若采用双向链表的传统实现方式,需要为这些数据结构维护各自的链表,并且为每个链表都要设计插入、删除等操作函数。因为用来维持链表的 next 和 prev 指针指向对应类型的对象,因此
阅读全文
摘要:双向链表的算法实现 单链表中每个结点除了存储自身数据之后,还存储了下一个结点的地址,因此可以轻松访问下一个结点,以及后面的后继结点,但是如果想访问前面的结点就不行了,再也回不去了。例如删除结点 p 时,要先找到它的前一个结点 q,然后才能删掉 p 结点,单向链表只能往后走,不能向前走。如果需要向前走
阅读全文
摘要:Joseph问题 有 10 个小朋友按编号顺序 1,2,。。。,10 顺时针方向围成一圈。从 1 号开始顺时针方向 1,2,。。。,9 报数,凡报数 9 者出列(显然,第一个出圈为编号 9 者)。 最后一个出圈者的编号是多少?第 5 个出圈者的编号是多少? #include<iostream> #i
阅读全文
摘要:链表的故事导入 坐在屏幕前,看着满屏幕的星光,Jack 限入了沉思,做为一个程序员,直觉告诉他,他总感觉到使用顺序表存储运动中的星星状态虽然没有什么不妥,但是,每次移除一颗星星导致其后的所有元素都向前移动并不是一种高效的做法,如果不止几十颗星星,而是有成千上万颗星星,每删除一颗,无异于是对数据进行乾
阅读全文
摘要:传送阵: demo: #include <iostream> #include <Windows.h> #include <string> using namespace std; int main(void) { string ret; for (int i=0; i<3; i++) { cout
阅读全文
摘要:要点: 把内层的循环,看成一个完整的“大语句” demo: #include <iostream> #include <Windows.h> #include <string> using namespace std; // 一天想我几次? // 24小时,每秒一次 int main(void) {
阅读全文
摘要:while 当...时候,用于while循环 for 用于for循环 break 破裂 跳出所在的那重循环 continue 继续 -> 调到 success 成功 fail 失败 error 错误 commit 提交 push 推 create 创建 clone 克隆,复制
阅读全文
摘要:client.cpp #include <iostream> #include <Windows.h> #include <string> using namespace std; int main (void){ string pwd; while (1) { cout << "Please in
阅读全文
摘要:要先安装EasyX图形界面库哦 _T( ) 补充说明: 如果项目使用的是字符集是”多字节字符集” 那么在使用easyx的相关接口时, 就不需要使用 _T( ) 如果项目使用的是字符集是”Unicode字符集”或其他字符集 那么在使用easyx的相关接口时, 就要使用 _T( ) 不论什么字符集, 都
阅读全文
摘要:循环练习第1关 难度: 1 行数和每行*的个数,由用户输入。 #include <iostream> #include <Windows.h> using namespace std; int main(void) { int rows; int cols; cout << "请输入行数: "; c
阅读全文
摘要:break 结束本层循环。 continue 结束本次循环,进入一次循环 for语句中的continue while语句中的continue demo: #include <iostream> #include <Windows.h> #include <string> using namespac
阅读全文
摘要:“愚公移山”之while循环 使用场合: 当需要反复执行某些“过程”时,就可以使用while循环。 移山,移到什么时候? 只要山还在,就一直挖! while (门前的山还在) { 一直挖 } 使用方法 while (条件) { 语句1 语句2 ....... } 强烈建议,无论循环体内有几条语句,都
阅读全文
摘要:github的重要性: 网络时代的程序员必备。 github的作用: 版本管理多人协作开源共享 常用方案: git+TortoiseGit+github [Tortoise,程序员常称其为小乌龟,小海龟] 安装配置步骤 1.注册 GitHub: Where the world builds soft
阅读全文
摘要:习题1. 让用户输入一个字符, 然后进行转换: 如果是大写字母,就转换为小写字母 如果是小写字母,就转换为大写字母 如果是其它字符,不做任何转换。 #include <iostream> #include <string> #include <Windows.h> using namespace s
阅读全文
摘要:bool 布尔 逻辑类型 if 如果 else 否则 switch 开关 case 情况 default 默认
阅读全文
摘要:switch错误 以下错误,在vs/vc中有提示,但是仍可以通过编译。 在gcc编译器中,不能通过编译。 #include <stdio.h> int main(void) { int c; scanf("%d", &c); switch(c) { case 1: int x = 0; //错误!
阅读全文
摘要:if语句的三种形态 形态1: #include <iostream> using namespace std; int main(void) { int salary; cout << "你月薪多少?"; cin >> salary; if (salary < 20000) { cout << "你
阅读全文
摘要:类型转换的概念 为什么需要“类型转换” 参与运算的两个操作数的数据类型,必须相同! 类型转换的类别: 1.隐式类型转换 (自动完成转换) 算数转换赋值转换输出转换 2.强制类型转化 隐式类型转换 算数转化 (+,-,*,/,%) char , int, long, long long, float,
阅读全文
摘要:用于综合决策的逻辑运算 与C语言完全相同。 现实生活中,任何决策,都是根据多个因素,综合决策的! 有没有钱, 有没有时间, 实力允不允许? 逻辑与 && a b a && b 真 真 真 假 假 假 假 真 假 真 假 假 都为真,逻辑与才是真 只要有一个是假, 逻辑与就是假 相当于“而且” 应用场
阅读全文
摘要:string字符串的比较 复习字符串的比较规则: 按顺先从前往后比较 同序号的字符按“ASCII”码值比较 直到遇到对应字符不等或者字符串结束 字符串比较的“运算符” == > < >= (大于或者等于) <= (小于或者等于) != c++中,字符串的比较, 可以直接使用以上的”比较运算符” 比如
阅读全文
摘要:C++版本 #include <iostream> #include <string> #include <Windows.h> using namespace std; int main(void) { string word; int count = 0; int length = 0; cou
阅读全文
摘要:错误1 cin.sync()在VS中失效! C++的标准中, cin.sync()是清空缓冲区,但是实际的实现取决于编译器. 如果使用vc++或者g++编译器,是可以的, 但是使用vs中的编译器,就不可以. 使用自定义的clearBuff(); #include <iostream> #includ
阅读全文
摘要:数组的概念和定义 什么是数组 数组,就是多个元素的有序“组合”。 生活中的“数组”: 由多个大小相同的小柜子组成这些小柜子,有自己对应的编号。而且这些编号是递增顺序。 C和C++语言中的数组: 由多个大小相同的小柜子组成 => 相同大小的内存块组成,即相同类型的数据这些小柜子,有自己对应的编号 =>
阅读全文
摘要:什么是字符串 字符串就是0个或多个“字符”组成的“有序”序列。 字符串长度 字符串包含的字符个数(不是指中文)。 空字符串的长度是0 “”是空字符串常量,没有一个字符,长度是0 “ ”是空格字符串常量,包含1个空格,长度是1 “god” 的字符串长度是 3 “我爱你” 的字符串长度不是3 ,是6或9
阅读全文
摘要:顺序表的原理 顺序表是简单的一种线性结构,逻辑上相邻的数据在计算机内的存储位置也是相邻的,可以 快速定位第几个元素,中间不允许有空值,插入、删除时需要移动大量元素。 顺序表 的三个要素: 用 elems 记录存储位置的基地址 分配一段连续的存储空间 size 用 length 记录实际的
阅读全文
摘要:练习1-数学计算 让用户输入一个圆的半径,计算这个圆的周长和面积,并输出(保留两位小数) #include <iostream> #include <Windows.h> int main(void) { float r; float len; float s; std::cout << "请输入半
阅读全文
摘要:单词/关键字 说明 char character 字符 int integer 整数 short 短的 long 长的 unsinged 无符号的 double 双倍的 float 浮动, 浮点数 name 名称,名字 password 密码 常简写为pwd precision 精度 应用: cou
阅读全文
摘要:1.变量名错误 变量名不能使用关键字 int char; //编译失败 变量名不能和函数名同名 int system; //会导致后面不能使用system函数 2.变量还没有定义,就直接使用 age = 20; 变量一定要先定义,再使用。 3.变量的输入与使用顺序不当 //以下为错误代码 #incl
阅读全文
摘要:字面常量 int类型字面常量:1, 2, 3, 100 long 类型字面常量:200L (或200l, 建议用大写字母L) 注意:使用vs编译时,默认都是win32平台, 所以即使在64位系统中,long也只有4个字节 long long 类型字面常量:100000000000LL(一千亿,建议用
阅读全文
摘要:向计算机输入数据 当缓冲区为空时,程序才会暂停,让用户输入数据。 输入回车后,数据全部送到输入缓冲区。 #include<iostream> #include<Windows.h> int main(void){ char girlType; int salary; float height; st
阅读全文
摘要:为什么选择EasyX 作为学习、提高C++的重要工具,在实际工作中再根据需要选择其他工具。开发简单的图形界面应用程序 搭建EasyX图形开发环境 安装Visual C++2010或VS的其他版本 在EasyX官网下载EasyX的安装包 以下是安装EasyX: 根据你需要的版本进行安装 接下来实现开发
阅读全文
摘要:效果: 代码: #include <graphics.h> // 引用 EasyX 图形库 #include <Windows.h> #include <mmsystem.h> // mci库头文件 #pragma comment(lib, "winmm.lib") int main(void) {
阅读全文
摘要:Beyond Compare4 排错的最后武器-代码对比工具 明明文档或代码是一样的,为什么还是出错? 使用场合: 学习时,和参考代码做比较开发时,在多个版本之间做比较。
阅读全文
摘要:为什么要使用变量 程序在运行时,需要保存很多内容常常变化的数据。 比如,射击类游戏中不断变化的“分数”。 变量是什么 变量,是内存中的一块存储空间,即一小块内存。 变量和数据类型有什么关系? 变量,是一个盒子,盒子里保存了“数据” 数据又分成很多“类型”(数据类型) => 变量的类型,就是变量中数据
阅读全文
摘要:计算机中的数据, 也分成很多类型: int unsigned int char unsigned char long long long unsigned long short unsigned short float double 各种指针类型 枚举类型 struct结构类型 union联合类型
阅读全文
摘要:IDE 集成开发环境 fatal error fatal 致命的 error 错误 fatal error 致命的错误 main 主要的 include 包含 io input 输入 output 输出 input output 输入输出 io 输入输出的简写 stream 流 iostream 输
阅读全文
摘要:错误2:360报告病毒 项目执行时,360安全卫士报告病毒,程序被拦截,提示如下: 解决方法: 方法1. 关闭360 方式2. 在360中添加白名单。 定位到文件:C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe 错误3:代码正确,但
阅读全文
摘要:使用注释的要点 注释的目的: 为了让程序更方便阅读(“可读”),以便于维护。 需要注释的内容: 重要变量名的作用(用来表示什么)比较复杂的算法思想程序中的关键步骤 注释的方式 有两种注释方式 1.单行注释 // 在行尾,或代码的上一行 在代码的下一行也可以,但很少有人这么做。 2.多行注释 /* *
阅读全文
摘要:错误1:VS的中文乱码问题 VS最知名的错误(被程序员吐槽最多的BUG)。 VS支持多种中文编码,但是使用不当时,常常导致中文乱码,而且难以解决。 中文乱码的原因: 中文在不同编码格式下, 存储的方式不一样.如果程序是A编码方式编译运行的,但是控制台却是以B编码方式来显示, 就会出现乱码.vs的控制
阅读全文
摘要:使用vs, 只需单击一下,就把源代码转换成“软件”。
阅读全文
摘要:C++避免名字冲突:使用命名空间 用法1: #include <iostream> #include <string> namespace China { float population = 14.1; //单位: 亿 std::string capital = "北京"; } namespace
阅读全文
摘要:C++风格的打印: 实例: std::cout << “你好! Rock.” ; std::cout << “你好! Rock.” << std::endl; std::cout << std::endl; std::cout <<”工资: “ << 30000; std::cout <<”工资:
阅读全文
摘要:什么是字符串? 字符串常量:内容永远不会发生变化的字符串。 字符串常量:要用半角(英文输入法)双引号” “括起来。 常量和变量的区别: 常量:在程序整个运行期间,值不会发生任何变化。 变量:在程序整个运行期间,值随时可以发生变化。
阅读全文
摘要:程序从哪里开始执行——main函数 人生,就是一个程序。在不同的阶段,做不同的事。 每件事,就是一个函数。 每个人的人生都不相同, 以不同的顺序,做不同的事(相当于调用不同的“函数”), 但是都是从“出生”开始. 每个软件也各不相同,包含不同的函数,但是都是从main函数开始: main 函数的要求
阅读全文
摘要:发布模式和调试模式的区别: 调试模式中会生成很多调试信息,便于排查错误,但是对执行效率有影响。 确定程序正确后,使用发布模式生成可执行文件。 使用发布模式: 使用调试模式: C++的规则: 各“语法单位”(组成部分)使用任意个(至少1个)分隔符隔开。分隔符有:空格,或tab键,或换行符。 int m
阅读全文