第六章知识总结
1.梳理知识点 2.重点+可解决的问题 3.用知识解决问题的感想
(一)、感想。
通过学习循环结构这一章,我明白用更简单的方法去处理数据,要先看清题目的要求,原则所需的循环结构来解决问题。
学的越多难度越大,所以更要努力,将每个题目都研究一下,认真审题。
从开始学习C语言到现在,我已经从一无所知到会写一点简单的程序,我知道我懂的还不够多,现在学习的难度也在不断增加,我希望自己能够更好的学习它。掌握它的内容。
(二)、梳理知识点。
1.while当型循环
while (循环表达式)
{
语句序列
}
2.do-while 直到型循环
do
{
语句序列
}while(循环表达式) ;
3.for语句
for(初始化表达式;循环控制表达式;增值表达式)
{
语句序列
}
for语句省略形式例如(;循环…;增值)或(;循环…)都是允许的。
for语句中三个表达式之间的分隔符是分号,有且仅有两个分号,既不能多也不能少。一般情况下,循环控制表达式很少省略,若省略则表示循环条件永真。
4.用到rand()为随机函数 magic=rand()%100+1 表示[1,100]之间的数
5.嵌套循环:先由外层循环进入内层循环,并在内层循环中终止之后接着执行外层函数,再由外层循环进入内层循环中,当外层循环全部终止时,程序结束。
- 注意:使用复合语句保证逻辑准确性;内层循环控制变量不能同名;采用右缩进格式书写。
6.暴力法:按层次将所有满足情况列举出来,下面层次在上面层次基础上一一列举出来。
7.函数time()返回一秒计算的当前值,该值被转换为无符号整数并做随机数发生器种子。提供代表时间字符串。
#include<time.h>
……………
srand (time(NULL));
8.break作用终止循环,从循环语句后的一条开始执行。
9.continue:程序将跳过continue语句
后面尚未执行的语句,开始下一次循环,只结束本次循环的执行,,并不终止整合循环执行。
(三)、重点+可解决问题
1.选择三中循环结构的一般原则,不是必须原则。
如果循环次数已知,计数控制循环,用for语句。
如果循环次数未知,条件控制循环,用while语句。
如果循环体至少执行一次,用do-while语句。
2.等腰三角形、矩形、菱形……要注意观察其中的规律。
#include<iostream>
using namespace std;
int main()
{
int i,j,n;
cin>>n;
for(i=n;i>=1;i--)
{
for(j=1;j<=2*n-1;j++)
{
if(j<i||j>2*n-i) cout<<" ";
else cout<<"*";
}
cout<<endl;
}
return 0;
}
3.for,while后不可有分号
while后有分号会造成死循环,for语句后有分号会导致循环什么不做,只起延时作用。
有分号表示循环体就是分号之前的内容,空语句表示循环体什么也不做。
4.余数相同题:注意要用多组数据。
#include<iostream>
using namespace std;
int main()
{
int a,b,c;
while(cin>>a>>b>>c)
for(int i=2;;i++)
{
if((a%i==b%i)&&(b%i==c%i)&&(c%i==a%i))
{
cout<<i<<endl;
break;
}
}
return 0;
}