C语言入门--循环语句及练习

标签:
365c语言程序设计循环语句it |
分类: C语言 |
一,for 循环
//示例 1
//练习: 打印1 - 100 之间的数
//格式一
for (int i=1; i <= 100; i ++) {
char b = '.';
printf("%d%c\t ", i,b);
}
//格式二,每五个打印一行
for(int i = 1; i<=100;i++){
printf("%d\t",i);
// 制表符\t
if (i%6==0) {
printf("\n");
// 每五个一行
}
}
// 练习: 打印1 - 100
之间的偶数
//方法一
for (int i = 2; i <= 100; i++) {
if (i % 2 == 0)
{
//判断是否是偶数
printf("%d ",
i);
//如果是偶数,就输出(进到分支内部,意味着满足此时分支的条件,也就是偶数)
}
}
//方法二
for (int i = 2; i <= 100; i += 2) {
printf("%d ", i);
}
// 练习: 打印1 - 100 之间的奇数
for (int i = 1; i < 101; i += 2) {
printf("%d ", i);
}
printf("\n");
for (int f = 1; f < 101; f ++) {
if (f % 2 != 0) {
printf("%d ", f);
}
}
//格式二,每五个打印一行
//
//方法二
// 练习: 打印1 - 100 之间的奇数
//练习: 打印1 - 100之间7的倍数
//练习: 打印1 - 100之间个位为7的数
//
//
//求1 - 100之间所有数的和
//求1 - 100之间所有偶数的和
int sum = 0;
for (int i = 2; i < 101; i += 2) {
sum += i;
}
printf("1 - 100之间所有偶数数之和是%d\n", sum);
//求1 - 100之间所有奇数的和
int sum = 0;
for (int i = 1; i < 100; i += 2) {
sum += i;
}
printf("1 - 100之间所有奇数之和是%d\n", sum);
//求1 - 100之间7的倍数的和
int sum = 0;
for (int i = 7; i < 100; i += 7) {
sum += i;
}
printf("1 - 100之间7的倍数之和是:%d\n", sum);
//求1 - 100之间个位为7的所有数的和
int sum = 0;
for (int i = 0; i < 100; i++) {
if (i % 10 == 7) {
sum += i;
}
} printf("1 -
100之间个位数为7的所有数的和为:%d\n", sum);
//求1 - 100之间所有奇数的和
//求1 - 100之间7的倍数的和
//求1 - 100之间个位为7的所有数的和
//求1 -
100之间十位为7的所有数的和
int sum = 0;
for (int i = 0; i <100; i++) {
if (i / 10 == 7) {
sum += i;
}
} printf("1 - 100之间十位为7的所有数的和为:%d\n", sum);
//求1 - 100之间不是7的倍数,也不包含7的所有数之和
int sum = 0;
for (int i = 0; i < 101; i++) {
if (i % 7 != 0 && i % 10 != 7&& i / 10 != 7)
{
sum += i;
}
}printf("1 - 100之间不是7的倍数,也不包含7的所有数之和为:%d\n", sum);
// 打印下面的图形
// 循环嵌套,外层for循环控制打印的行数,内层for循环控制每一行的内容
for (int j = 0; j < 3; j++) {
for (int i = 1; i < j + 2; i++) {
printf("%d
", i);
}
printf("\n");
}
//打印下面的图形
//打印下图
二, break, continue
//
// 输出 1 - 100 之间的偶数
for (int i = 1; i < 101; i++) {
if (i % 2 != 0) {
continue;
}
printf("%d ",i);
}
//
break:结束本层循环
// 从控制台输入一个数,判断是否是素数.
int a = 0;
printf("请输入一个不小于2的整数:");
scanf("%d",& a);
for (int i = 2; i < a; i++) {
if (a % i == 0)
{
//判断,如果i在递增的过程中,存在有 a 的因子, 那么 a 就不再是素数
printf("%d不是素数.\n",a);
break; //结束本层循环
}
if (i == a) {
printf("%d是一个素数.\n", a);
}
}
if (a == 2) {
printf("2是一个素数.");
}
// 从控制台输入一个数,判断是否是素数.
三,
//for循环可以转化为 while 循环,而 while 循环不一定能转化为 for 循环.
//打印 1 - 100 之间的数
//练习:打印 1 - 100 之间不是7的倍数,也不包含7的数,使用while循环.
//
四, do....while循环:
// 无论循环条件是否满足, 先执行一次循环体,
然后再来判断循环条件是否满足.
// 打印 1 - 100
之间的数
int i = 1;
do {
printf("%d ", i);
i++;
} while (i< 101);
//
循环总结:
//
for循环与while循环的区别: for循环用于知道循环次数的循环,while循环用于不知道循环次数的循环.
//
while循环与do...while循环的区别: do...while循环无论循环条件是否满足,先执行一次循环体.
//
for循环可以转化为while循环,而while循环不一定能够转化为for循环.
//
//
//
//
五,随机数 : arc4random()
//
//如果想要得到[a, b]区间上得随机数值,取余公式 --- arc4random() % (b - a +1) + a;
//控制台输入一个数,打印相应个数的随机数,范围[10, 30]
前一篇:OC中对Block最简单的认识
后一篇:OC中宏的使用