第四单元知识点总结

第四单元知识点:

4.1 while语句

1.while语句的格式:

while(表达式){

              循环体

}     表示为当表达式成立时,不断重复执行循环体

2.变量初始化

3.当重复次数不确定时定义一个特定的条件,一般条件下循环,特殊条件下结束

4.2 do-while语句

1.do-while语句格式:

 do{

     循环体

}while(表达式)   表示为先执行一次循环体,然后判断表达式是否成立,如果成立,则返回继续执行循环体,直到表达式不成立,才退出循环

2.do-while语句中,循环体至少执行一次

4.3 for语句

1.for语句的格式:

for(表达式1;表达式2;表达式3;){

      循环体

}

2.在循环体中可以定义变量,但使用范围小

3.可以省略表达式

4.4 循环嵌套

1.循环嵌套又称多重循环

2.先找规律,再想方案

3.可以利用标志变量法

4.外循环中循环变量变化一次,内循环变化一遍

4.5 break和continue语句

1.在循环体中遇到break语句,就会立刻跳出循环体,执行循环体结构后面的语句。

2.在循环体中遇到continue语句,就会忽略本次循环的后续语句而去执行下一次循环。

3.若循环变量只在循环体中起作用,可在循环体中定义变量

4.6 程序的调试与跟踪

1.静态查错:语句的顺序,思路,逻辑是否有误;语法是否有误;变量是否未赋初值;中间运算结果是否越界;if-else语句是否越界

2.动态调试:通过添加输出语句调试程序

4.7 循环结构应用举例

1.国王将金币作为工资,发放给忠诚的骑士。第一天,骑士收到一枚金币;之后两天(第二天和第三天),每天收到两枚金币;之后三天(第四、五、六天),每天收到三枚金币;之后四天(第七、八、九、十天),每天收到四枚金币……;这种工资发放模式会一直这样延续下去:当连续N天每天收到N枚金币后,骑士会在之后的连续N+1天里,每天收到N+1枚金币。请计算在前K天里,骑士一共获得了多少金币。

#include<iostream>
using namespace std;
int main(){
	int i=1,k=1,s=0,n;
	cin>>n;
	while(i<=n){
		for(int j=1;j<=k;j++){
		s+=k;
		i++;
		if(i>n) break;
		}
		k=k+1;
	}
	cout<<s<<endl;
	return 0;
	}		

2.【题目描述】输入n,输出一个n*n的正方形,正方形由符号c1和c2组成,正方形的四条边和对角线由c1组成,其余部分由c2组成。

#include<cstdio>

using namespace std;

int main(){

    int n,i,j;

    char c1,c2;

    scanf("%d %c %c",&n,&c1,&c2);

    for(int i=1;i<=n;i++)

    {

        for(int j=1;j<=n;j++)

        {

            if((i==j)||(i==1)||(j==n)||(j==1)||(i==n)||(i+j==n+1))

            printf("%c",c1);

            else

            printf("%c",c2);}

            printf("\n");

    }

        return 0;

}

注意:

1.要注意循环体中循环控制变量的更新。

2.注意变量初始化。

3.while执行循环体时当超过一条语句要用{}括起来。

4.求各位数字之和,需要分解出它的每一位数字进行累加,即从低位到高位不断求余累加。

5.连续输出若干项后,输出后要回车换行。

6.先考虑大框架,再考虑细节,注意利用已经学过的背景知识解题。

7.注意多重循环的写法。

8.注意标志变量的使用。

9.循环语句的嵌套不限语句类型,可以任意嵌套。

10.最大公因数=两数之积÷最小公倍数。

学习感受:

学习了关于循环结构的知识后,我认为这是c++中非常重要且难学的知识点,同时也要在写程序过程中注意很多问题,要求具备一定的逻辑思维,并且要能够找到题目中的规律,并进行抽象处理,我也通过openjudge中的题目更加深入了解了循环结构的题型,在做题过程中要注意先考虑大框架,再注意细节,并且要灵活运用已有的知识背景解决问题,但还是需要平时多加练习,才能及时掌握。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值