循环结构
1:三种循环结构
a)for(); while(); do-while();
b) for循环当中必须是两个分号,千万不能忘记;
c)写程序的时候一定要注意,循环一定要有结束的条件,否则成了死循环;
d)do-while()循环时最后一个while();的分号一定不能丢;do-while循环是至少执行一次循环;
2):break和continue语句
break:是打破的意思(破坏了整个循环)所以看见break就退出整个一层循环;continue是继续的意思(继续循环运算)但是要结束本次循环,就是循环体内的剩下语句不再执行,跳到循环开始,然后判断循环条件,进行新的一轮的循环;
3)嵌套循环
就是有循环里面还有循环,这种比较复杂,要一层一层一步一步的耐心计算,一般当作两层的处理二维数组的;
#include <stdio.h>
int main() {
for (int i = 0; i <= 100; i++) {
printf("%d ", i);
if ((i + 1) % 5 == 0)
printf("\n");
//如果i是从1开始,则if(i%5==0) printf("\n");
}
5)如何整除一个数
i%5==0 表示整除5
i%2==0 表示整除2,同时表示是偶数!
6)输入123,输出321逆序输出数据
#include<stdio.h>
int main()
{
int i=123;
while (i != 0)
{
printf("%d", i % 10);
i = i / 10;
}
}
7)不停的输入,直到输入#$?停止输入
while((x=getchar!())='#');
while((x=getchar!())='$');
while((x=getchar!())='?');
8)例题
while语句 --k与 k--的区别
int k = 1;
while (--k);
printf("%d", k); //结果为0
int k = 1;
while (k--);
printf("%d", k); //结果为-1
用三种循环语句实现1+2+3+...+1000
a.for循环
int i, sum = 0;
for (i = 1; i <= 1000; i++)
sum += i;
printf("%d", sum);
b.while循环
int i = 1, sum = 0;
while (i <= 1000) {
sum += i;
i++;
}
printf("%d", sum);
c.do-while循环
int i = 0, sum = 0;
do {
i++;
sum += i;
} while (i < 1000);
printf("%d", sum);
输入数字中有几个数字’digit’
#include <stdio.h>
int countdigit(int, int);
int main() {
int a, b, t;
printf("请输入一个正整数:");
scanf("%d", &a);
printf("请输入指定的数字:");
scanf("%d", &b);
t = countdigit(a, b);
printf("%d中有%d个%d", a, t, b);
return 0;
}
int countdigit(int number, int digit) {
int i = 0;
while (number != 0) {
if (number % 10 == digit)
i++;
number = number / 10;
}
return i;
}