【本书编程学习的重点内容】
第一单元:顺序结构
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++的小学生或初学者。
下册内容敬请期待!
领取专属 10元无门槛券
私享最新 技术干货