• 最新文章
  • C++基础
  • 基础算法
  • 数据结构

C++基础07 程序中的除法和求余

int / int = int double / int = double int / double = double double / double = double 只要除号任意一边出现了double类型,结果就是double类型 只有除号两边都是int类型,结果才是int类型 这个规律也适用于加法减法和乘法 小知妈妈早上出去买了n块饼作为早餐,准备回家跟小知爸爸还有小知平均分掉吃,请问每个人

C++基础08 强制类型转换

强制类型转换,就是把一种数据类型转化为另一种指定的数据类型。 它是一种临时的转换。 格式:(数据类型) (表达式) 即:(要被转换成的类型)(被转换的式子); 注意:类型名或者表达式至少要有一个被括号括起来。 例如:输出5/2的小数结果,可以这么写: int a=5;   cout<<(double)a/2; 这么写就相当于先把a转化成double类型,再除以2。这样的话与5.0/2的

C++基础09 字符类型和ASCII码

如果我们想存字母,例如输入k,能输出k,就需要声明字符类型的变量来存放。 字符是指计算机中使用的字母、数字和符号。例如我们26个大小写字母、数字0~9、和一些特殊的符号“#”、“@”、“+”、“-”等等。 字符类型(char)是一种数据类型,和实数类型、整型类似,不同的是一个字符类型变量可存储的内容为单个字符。 定义格式:char  a;   // (数据类型) (变量名) 赋值:a = 'k';

C++基础10 变量连续赋值、自增自减

当很多个变量都需要给一个相同的值的时候,我们可以用连续的赋值符号完成这个操作。 基本格式:变量=变量=变量=……=变量=表达式; int  a,b,c,d,e; a=b=c=d=e=88; 完成的功能是将88这个数值赋给a,b,c,d,e这五个变量。而在程序内部执行的顺序如下: e=88;   d=e;  c=d;   b=c;   a=b; 小知邀请三个小伙伴来家做客,妈妈刚好买回来一袋糖果准备

C++基础11 复合运算符与变量交换

在c++中,有很多方便书写的复合运算符,用的比较多的有如下几个: += 、 -= 、*= 、 /= 、 %= 。 例如: a+=b;  就是把变量a的数值增加b。其他运算符与之类似。 a=b就是把b的值赋值给a了,这样a的值变成了4,之后b=a,b的值也变成了4。 就像有两杯饮料,我们要交换两个杯子的饮料,直接把一个杯子往另一个杯子里倒肯定是不行的,这时需要一个多余的空杯子来过渡。 这里我们也需要

C++基础12 if语句与关系运算符

单分支:只有一条路可以选择,只能选择走或不走。如果满足条件,就执行语句,不满足就跳过单分支结构的语句。 if(条件表达式)    {        语句1;        ...... } 如果条件表达式的值为真,即条件成立,语句1及括号内的其他语句将被执行。否则,括号内的语句将被忽略(不被执行),程序将按顺序从整个选择结构之后的下一条语句继续执行。 条件表达式就是把判断条件用关系式的方式表达出来

C++基础13 单分支结构的相关问题

要判断一个数是否是偶数,只要判断这个数字能不能被2整除即可。如果一个数字a除以2,没有余数,那么就是偶数;如果除以2有余数,那么就是奇数。 if(a%2==0)   a是偶数 if(a%2==1)   a是奇数 小知参加一场抽奖活动,抽到偶数号才能进入下一轮继续抽奖,他想知道自己是否晋级,是的话在屏幕输出yes,否则输出no?(1<=a<=100) 【输入描述】一个整数a,表示抽奖的数

C++基础14 双分支结构 if…else语句

双分支:有两条路,而且这两条路都可以选择。如果满足判断条件,就执行语句1,不满足就执行语句2。 if(条件表达式)  //如果条件成立 {       语句1;    //条件真时执行  } else             //否则 {       语句2;    //条件假时执行 } 乐乐在期末考试结束,感觉心里没底,于是提前去问老师考试情况,老师告诉他的得分为a,达到60分就是及格,未达到就

C++基础15 逻辑运算符

“并且”在C++中的写法为“&&”,它是一种运算符,称作逻辑运算符。 逻辑运算符有3种: 与、并且( && ) 或者(||) 非(!) 当参与运算的两个条件都为真时,结果才会真(1);否则为假(0)。 如:5>0 && 4>2 由于5>0为真,4>2也为真,相“与”的结果也为1。 5>6 && 4>

C++基础16 多分支结构

if(条件1)     语句1;       //满足条件1就执行 else if(条件2)     语句2;       //不满足条件1,但是满足条件2执行 else if (条件3)     语句3;       //不满足条件1和条件2,满足条件3执行 ...... else 语句 n;     //不满足上面所有条件就执行 if开始,中间都是else if,最后是以else结束是对上面所

C++基础17 switch结构

应用条件语句可以很方便地使程序实现分支,但是出现分支比较多的时候,虽然可以用嵌套的if语句来解决,但是程序结构会显得复杂,其至凌乱。为方便实现多情况选择,C++提供了一种switch开关语句。 switch(表达式)   {          case 常量表达式1:                   语句序列1;                   break;          ……    

C++基础18 for循环基础知识

循环在我们的日常生活中随处可见: 表盘上不断转动的时针分针、每天的日落日出、一遍又一遍的单词背诵等等... ... 这些“周而复始,不断重复的事情”都是循环。 常见的作用有两种: 循环可以指挥计算机重复去执行某些代码,减少程序的代码量。 循环可以让计算机去尝试所有的可能情况,找出最优的答案。 如果循环条件永远成立,循环就会一直执行,造成死循环。试试下面的代码会发生什么事情吧。 for(int i=

C++基础19 for循环求和

求1+2+3+... ...+1000的和: 可以把这个加法运算,看成一个循环的过程。用变量s表示运算的结果,s的初始值为0,依次让s的值增加1,2,... ... ,1000,即: s = s+1;s = s+2; ... ... ;s = s+1000; 用变量i表示s每次增加的数值,即: for(int i=1;i<=1000;i++) {     s = s+i; } 即:s+1+2

C++基础20 for循环求积

求1*2*3*... ...*10的积: 这个算式与求和十分类似,我们可以类比循环求和的代码,将”+”替换成”*”,即可得到循环求积的代码,即: s = s*1;s = s*2; ... ... ;s = s*10; 用来求积的变量s的初始值要为1,这样才不会改变算式的运算结果。 循环对应的算式:s*1*2*3...*10。 注意:用来求积的变量最好是long long 类型,累乘运算很容易超出i

C++基础21 while循环、循环中断break与继续continue

愚公移山小故事:“愚公不畏艰难,坚持不懈,挖山不止,最终感动天帝而将山挪走。” 其实愚公移山的过程也是循环的过程,但是并不能确定循环多少次后感动天帝将山移走,所以用for循环并不合适,因为我们不清楚循环的次数(i的范围不确定)。 对于这种不清楚次数的循环,但是知道循环条件的问题,我们可以使用while循环去解决: while(山未被移完) {        移山; }   如果循环条件永

C++基础22 循环嵌套结构(for/while循环)

和if一样,循环也能够嵌套。例如:我们可以先写一个输出1~10的循环a,我如果想让这个程序执行5次,则只需要再写一个5次的循环b,然后把循环a放入循环b中即可。   输入整数m,n,请你打印m行,整数n~1。 【输入格式】输入两个空格隔开的整数m,n(1<=m,n<=15) 【输出格式】m行:每行有n个空格隔开的整数 【输入样例】3 5 【输出样例】 5 4 3 2 1 5

C++基础23 一维数组及相关问题详解

在之前的题目中出现过有很多很多数字,我们可以使用多个变量把这些数字都保存下来,但是变量数量太多不方便使用,这个时候就需要数组了。   相同数据类型的元素按一定顺序排列的集合,就是把多个类型相同的变量用同一个名字命名,然后用编号区分他们的变量的集合。 这个名字称为数组名,编号称为下标,数组里面的每一个数称为数组中的元素。 数组可以理解为一列火车,车厢是从 1 开始编号的,车头可以算成是 0

C++基础24 二维数组及相关问题详解

在上篇教程中我们提到,一维数组就像是一列火车。假设我们来到火车站,看见有很多辆长度一样的火车。为了区别这些火车,我们尝试分别命名为a1,a2,a3...那么a1就可以用来表示第一辆火车2号车厢。 如果把火车当做一个元素,那么这些火车就会组成一个一维数组,而这个一维数组里面的每一个元素都是一个小的一维数组。这样就是二维数组,即一个数组需要使用两个数字来控制位置。   维数组就是用一个

C++基础25 字符串与字符数组及其相关操作

字符类型为由一个字符组成的字符常量或字符变量。 字符变量定义: char 字符变量; 字符类型是一个有序类型, 字符的大小顺序按其ASCⅡ代码的大小而定。   按字母表顺序和逆序每隔一个字母打印。 【输出描述】输出26个字母,从a开始隔一个字母打印下一个字母,如,a打印之后打印c,一直到最后一个字母,再逆序输出下一个字母,每两个字母之间空一个格 【样例输出】a  c  e  g  i  

编程学习小圈子,助力大家成长

不知不觉,星球已经运营1000多天了,在这一年多的时间里通过星球给近260位老师/同学带去了不少原创资料。通过微信私聊,我看到了很多老师/同学的进步,很多老师原来并没有带过C++课程,但看完课件及视频之后,便可以带班上课;也有很多学生因此入门了信息学,拿到了奖项,也有些同学通过等级考试资料自学,轻松通过。 目前已经/正在更新的内容有【《信息学奥赛C++》共四十节原创精品PPT】、【CSP- J初赛

软件下载

此页更新软件,如需其他相关软件,可给我留言~ 【蓝奏云下载】https://wwbp.lanzouw.com/b004i0yb0j 密码:23v3(建议此方式下载,无需登录) 【阿里云盘下载链接】https://www.alipan.com/s/57Mx64L8xPc 下载后,双击打开DEV-CPP安装包 ,等待进度条到 100% 直接选择English ,点击 OK(注:过程中如果出现第二次语言

竞赛简介

介绍 CSP是非专业级软件能力认证,是由中国计算机协会(CCF)统一组织的评价计算机非专业人士算法和编程能力的活动,在2019年国家某政策下来之前,为NOIP普及组/提高组竞赛,而后改的认证,实际还是竞赛。 CSP针对中小学生有两个等级,分别为CSP-J(入门级,Junior,小学生和初中生参加)和CSP-S(提高级,Senior 高中生参加),两个级别难度不同,均涉及算法和编程(PS:部分地区还

C++视频教学

在公众号【大李编程】内回复“C++”可获取本阶段讲义,请跳转至B站观看全部章节【共20个小章节】 详情请跳转至B站观看全部章节【共13个小章节】 详情请跳转至B站观看全部章节【共4个小章节】