小学生C+趣味编程(2)编程知识总结篇

【本书编程学习的重点内容】

第一单元:顺序结构

Cout语句(cout

头文件#include

命名空间usingnamespace std;

赋值:a=880指880赋值给a

变量:此上的a即为变量,a和A就不同的变量

运算符号表示:+-*/

整型变量定义: inta,b,s;

自增运算符:i++或++I,(即i=i+1)自减运算符:i—或—i(i=i-1)

赋值语句中使用运算符:x=a++表示a的值赋值给x后,再将a的值加1.

x=++a表示将a的值加1,再赋值给x。

自增运算符的结合方向为先左后右。

累加的方法:sum=sum+1,sum=sum+n

复合运算符:s+=i等同于s=s+I;s/=i等同于s=s/i(i不等于0)

交换两个变量的值:借助空瓶子,将两个值交换。

注释符://是单行注释符,表示注释内容。多行内容注释用/*开始,以*/结束,其之间的所有内容均为注释信息。

设置域宽:setw操作符来设置域宽。如cout

输入语句:cin>>a的作用是输入一个数并赋值给变量a。它的格式一般是:cin>>变量1>>变量2>>……变量n。

单精度实数float:保留小数点的数,其应定义为单精度实数(浮点数)float。

整除求余运算符:%百分号,在C++中它是整除求余运算符,又叫模运算符。如15%2表示15除以2的余数,其值为1。n%10表示n除以10的余数。

ASCII码:空格的码是32,的码是48,字符A的ASCII码是65,a的ASCII码是97,两者相差值为32。

字符型数据:只包含一个字符(有助理只有一个字符),用一对单撇号括起来。如’+’\’b’等,用关键字char定义字符型变量。

第二单元选择结构

关系运算符:>大于,>=,==,

If语句:if(表达式)语句1;

If-else语句:if(表达式)

语句1;

else

语句2;

If语句嵌套:if语句中又包含一个或多个if语句。应注意配对关系,else总是与离它最近的if相匹配(就近原则),形成一个完整的语句。

if(表达式)

if(表达式)

else

else

if(表达式)

else

常变量:加上关键字const,则变量的值在程序运行期间不能改变,则称为常变量又称只读变量。如:const int USER=2017,PSW=135。

字符串:它是夹在两个双撇号之间的一串字符,字符个数可以是零个,一个或多个。如””、”a”、”apple”。

使用string需用头文件:#include

逻辑变量:bool定义,又称布尔变量,其值只有假和真。False和true是逻辑常量,又称为布尔常量。1代表真,代表假。在判断表达式逻辑量是否为“真”时采取的标准是:非即真。

逻辑运算符:与(&&)、或(||)、非(!)。与:同时满足两个或多个条件,整个表达式都为true;或:两个或多个条件中,只要有一个满足,整个表达式为true;非:非true的值为false,非false的值为true。

逻辑运算符的优先级:优先级由高到低为:!---&&--||

复合语句:用{}把3个语句括起来,变成一个整体,成为一个复合语句,当条件为真时,才执行此复合语句。若if-else之间写了多个语句,而未用{}括起来变成一个整体,系统为提出错。“else without a previous if”。

随机函数rand():它返回的值是一个大于等于且小于等于RAND_MAX的随机函数。(AND_MAX是一个符号常量,用一个标识符来替代常量)使用随机函数需包含头文件:#include。

随机种子:若需要每次运行,得到不同的阿迪数,则需要用srand()来设置随机种子srand(time0)设置当前的系统时间值为随机中子,由于系统时间是变化的,那么种子也是变化的。使用它需包含头文件#include。

要产生一个【a,b】的随机整数,就要使用通用公式:

rand()%(b-a+1)+a

rand()%5+1可以生产一个【1,5】的随机整数。

switch语句:是一个专门用于处理多分支结构的条件选择语句,又称开关语句,它可以很方便地实现深层嵌套的if-else逻辑。

switch语句一般使用格式:

switch(表达式)

{

case常量表达式1:语句1;break;

case常量表达式2:语句2;break;

……

case常量表达式n:语句n;break;

default;语句n+1;break

}

先计算switch表达式的值,当表达式的值与某一个case子句中的常量表达式相匹配时,就执行此case子句中的内嵌语句,并顺序执行之后的所有语句,直到遇到break语句为止;若所有的case子句中常量表达式的值都不能与switch表达式的值相匹配,就执行default子句的内嵌语句。

注意:n如果定义成float型数据,程序就要出错。因为若n是浮点数,则它的个数是不可以枚举的,当然写不出常量表。

第三单元for循环

for循环语句:

for(循环变量赋初值如:i=1;循环条件i

语句;sum+=i;

其中语句就是循环体,可以是一个简单的语句,也可以是一个用{}括起来的复合语句。

(1)先执行循环体变量赋值初值语句。

(2)再判断循环条件,若为假(值为),则结束循环,转到(5);若其值为真(值非),则执行循环体语句。

(3)执行循环变量增值语句。

(4)转回(2)继续执行。

(5)循环结束,执行for语句的下一条语句。

for语句与if语句的结合:可用循环语句枚举,再每一个数去判断,根据不同的判断结果输出不同的内容。

累加求和:sum+=i相当于sum=sum+i

如:sum=0; //累加器sum清零

for(i=1;i

sum=+i; //累加

cout

continue语句:它的作用是结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。(满足条件就结束循环,否则就继续)

循环变量:循环变量的类型可以是整型,可以是字符型,也可以是布尔型,但不能为实型,因为实型的个数是不可以枚举的。

如列举26个字母

char i; //循环变量字符类型

for(i=’’a;i

cout

break语句:它是提前结束整个循环过程,不再判断执行循环的条件是否成立。continue语句只是结束本次循环,而不是终止整个循环的执行。

随机函数:rand()%2指产生随机函数除以2的余数,得到结果是或1.

48+rand()%2结果是48或49

rand()产生一个随机函数,其分布范围是至最大整数。

rand()%100指得到0-99整数。

rand()%100+1指得到1-100的整数。

(补充学习资料1)

rand()和srand()要一起使用,其中srand()用来初始化随机数种子,rand()用来产生随机数。

因为默认情况下随机数种子为1,而相同的随机数种子产生的随机数是一样的,失去了随机性的意义,所以为使每次得到的随机数不一样,用函数srand()初始化随机数种子。srand()的参数,用time函数值(即当前时间),因为两次调用rand()函数的时间通常是不同的,这样就可以保证随机性了。

产生一定范围随机数的通用表示公式

要取得[a,b)的随机整数,使用(rand()% (b-a))+ a(结果值含a不含b)。

要取得[a,b]的随机整数,使用(rand()% (b-a+1))+ a(结果值含a和b)。

要取得(a,b]的随机整数,使用(rand()% (b-a))+ a + 1(结果值不含a含b)。

(总的来说,通用公式:a+ rand() % n;其中的a是起始值,n是整数的范围)

要取得a到b之间的随机整数,另一种表示:a + (int)b * rand() / (RAND_MAX + 1)。

要取得~1之间的浮点数,可以使用rand()/ double(RAND_MAX)。

(补充学习资料2)

本书个人点评:通过对这套教材的备课,本人认为,本套教材入门较好,特别对于小学生,简单实用。但其中的案例只有一个,不能根据案例继续深入思考,没有连贯性,不能继续思维发散。此外,本书有的知识点并没有讲,在案例和练习题中就出现了,显得不够严谨,但出现此类问题的较少,所以并不是大问题,总之,本人认为,小学生选择此书作为入门,确实不错,推荐!

本人对此书的教学方式:

1、1个案例(导入课程、引起兴趣)

2、2个模拟编程(引入经典案例讲解,模仿写1个程序)

3、3个课后练习(填空题,巩固学习,填写后测试正确性)

4、几个英文单词(熟读熟写常用英文单词)

5、1个课后练习(回家后拓展练习,可巩固可预习)

6、一段口令总结(可用一段绕口令总结知识重点,小朋友易懂易记)

其实这六个阶段真要全部完成,还是需要课程时间充足、学生基础知识牢固。可根据实际情况删减内容,如:减为1个模拟编程,2个课后练习,减去英文单词的专项拼读。

仅以此篇献给学习C++的小学生或初学者。

下册内容敬请期待!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181101G0NSX900?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券