关于作者:
2019NOIP退役成员,学习c语言已有多年经验, 更懂得考试的题目,和初学者学习时所遇到的问题华为云享专家,以及CSDN的新星创作者,有写博客的一定能力
关于本栏目
本栏目的宗旨是带你入门c语言,作者打算用题海+c语言的概念来完成本栏目,
适用人群: 面向广大的编程爱好者和大学生来进行创作学完本栏后你能达到的水平:计算机二级水平左右,入门c语言学习
题目:主要来源于网络和c语言的入门算法题目
写在前面的话(第八天)
记住我们的宗旨:努力去做,让一切交给时间来评判!
今天我们学习俩个语句:while和do…while语句
while语句
while(condition)//为真执行循环体
{
statement(s);
}
while 循环的关键点是循环可能一次都不会执行。当条件为 false 时,会跳过循环主体,直接执行紧接着 while 循环的下一条语句。
#include <stdio.h>
//输出0-9
int main ()
{
int a = 0;
while( a < 10 )
{
printf("a 的值: %d\n", a);
a++;
}
return 0;
}
do…while语句
do
{
statement(s);
}while( condition );
与while循环不同的地方是:
do...while循环至少执行一次
#include <stdio.h>
int main ()
{
int a = 0;
do
{
printf("我虽然不满足条件,但是也执行一次");
}while(a>0);
return 0;
}
案例
我们来做一个案例,巩固一下这俩天学的知识:
假设用户的密码是一个三位整数,令用户输入密码,如果输入成功,则提示welcome,如果输入失败,则提示”bad password“,如果三次都没有输入成功,则锁定,提示:"user locked"
用do…while+if判断:
#include <stdio.h>
int main()
{
int key = 123;
int times = 0;//次数
bool passed = 0;
do
{
times++;
int input = 0;
printf("请输入密码:");
scanf_s("%d", &input);
if (key == input)
{
passed = 1;
break;
}
else
{
printf("bad password\n");
}
} while (times < 3);
if (passed)
{
printf("Welcome");
}
else
{
printf("user locked");
}
return 0;
}
使用 while, for 分别输 1~100 以内的所有的奇数和偶数的和:
#include <stdio.h>
int main()
{
int sum=0;
int num=1;
int sum2=0;
int num2=2;
while(num<100)
{
sum=sum+num;
num=num+2;
}
printf("奇数和为:%d\n",sum);
while(num2<=100)
{
sum2=sum2+num2;
num2=num2+2;
}
printf("偶数和为:%d\n",sum2);
}
#include <stdio.h>
int main()
{
int sum=0;
int sum2=0;
int num,num2;
for(num=1;num<100;num=num+2)
{
sum=sum+num;
}
printf("奇数和%d\n",sum);
for(num2=2;num2<=100;num2=num2+2)
{
sum2=sum2+num2;
}
printf("偶数和%d\n",sum2);
}
用 continue 语句求输出 100~200 之间的不能被3整除的数
#include<stdio.h>
int main()
{
int n;
for(n=100;n<=200;n++)
{
if(n%3==0)
continue;
printf("%d",n);
}
printf("\n");
return 0;
}
最后
留一个作业:
打印房子问题:
观察下面图片,来写出代码:
#include<iostream>
using namespace std;
int main()
{
int n,m;
cin >> n >> m;
for(int i = 1; i<=n; i++)
{
for(int j = 1;j<=m; j++)
{
cout<<"+-";
}
cout<<"+"<<endl;
for(int j = 1;j<=m; j++)
{
cout<<"|*";
}
cout<<"|"<<endl;
}
for(int j = 1;j<=m; j++)
{
cout<<"+-";
}
cout<<"+"<<endl;
return 0;
}
循环就到此结束了,这块很重要还请多花时间来学习!!!