今天为大家讲一下,C语言入门的主要一课(也是节点)!!!
(1)循环结构的几个类型
(1)while循环
while(表达式)
{ 语句序列 ;
}
(2)do...while循环
do
{
语句序列 ;
}(表达式);
(3)for循环
for(表达式1;表达式2;表达式3)
{
语句序列;
}
注:在使用三种循环中没有哪一个最好用,只有做程序时哪一个更适用。
(2)实际操作(三种不同循环应用)
(1)while循环操作
例:使用while循环使123...变成...321
#include<stdio.h>
int main(){
int a;
scanf("%d",&a);
while(a!=0){
printf("%d",a%10);
a=a/10;
}
return 0;
}
在while循环中只要符合条件语序就一直重复循环中的语句序列,直到超出条件。
解题思路:
(1)123%10==3;
(2)123/10==12; 所以这样123就变成了321
12%10==2; 其他倒序也如此。
(3)123/100==1;
说明:
无法终止的循环常被称为死循环或者无限循环。
(2)do...while循环操作
例:使用do...while循环查找水仙花数
#include<stdio.h>
int main() {
int a,b,c;
int num = 100;
do {
a = num % 10;
b = num / 10 % 10;
c = num /100;
if(a*a*a+b*b*b+c*c*c==num) {
printf("%d\n",num);
}
num++;
} while(num<999);
}
在do...while循环中无论是否符合条件都要先进行一次循环,运行完以后再判断是否符合条件语序
解题思路:
首先要知道什么是水仙花数(是指各位的数的三次幂相加的结果等于他本身的数,例:),知道了什么是水仙花数以后就要开始想如何判断了,因为它是一个三位数定义sum=100,由上一题可以知道如何找各位的数,将各位的数用a,b,c代替,最后我们可以根据上节课的分支语句在循环中增加判断语句if()在括号中添加【a*a*a+b*b*b+c*c*c】并定义sum逐一增加,输出即可。
说明:
do...while循环最后的条件括号内填写条件莫忘
(3)for循环操作
例:使用for循环得到2+22+222+......的前十项结果
#include<stdio.h>
int main(){
int n,b=2; //设定第一项的值
double a,sum; //设置后一项与前10项的和
a = b;
sum = a;
for(n=1;n<=10;n++){ //当前项a = 前一项a*10+a
a=a*10+b; //赋值左边为当前项a,赋值运算符右边为前一项a
printf("a=%.2lf\t\n",a);
sum+=a;
printf("sum=%.2lf\t\n",sum);
}
return 0;
}
for循环条件内三个表达式不管有没有都要有分号隔开,如果没有第二个表达式则无法终止循环,第三个表达式可以省略不影响结果
解题思路:先设置一个首项b=2,再设置后一项a与到第10项的和sum,然后设置循环条件n,向条件括号中填写条件【n=1;n<10;n++】,因为22=2*10+2,222=22*10+2所以它的规律就是前一项乘10加2,所以填写a=a*10+b,最终结果sum就是一直加a,所以sum+=a就是结果值,最后用printf输出即可。【别忘记在循环外写return 0;】
说明:循环里的printf输出的次数等于循环次数
注:各循环之间可以任意嵌套,如果觉得一个循环无法完成,那可以试一下循环嵌套
(3)自增自减与break的作用
(1)i++与++i的区别
它们的区别在于i++是先取i的值输出再加1,++i的意思是1+i相当于i先加1再取i的值【i--,--i的使用规则也一样】,写程序时千万要小心注意!!!
(2)break在循环中的作用
当break出现时无论下面有多少语句无论是否不符合条件都直接停止循环并跳出循环。
break的基本意思:打破;打破(纪录);开始;(使)破,裂,碎;损坏;打断;使心碎;终止,断绝(关系、联系);(被)摧毁,削弱;(常指好天气)突变;弄坏;公布,透露,说出;破译;逃脱;弄破;坏掉;违背。
如果有什么觉得不好或听不懂的可以私信我
如果有HTML不好的或者是想学的可以去看一下我朋友的HTML的博客哟!)(名字放下面了)


1万+

被折叠的 条评论
为什么被折叠?



