初识C语言 DAY8 【for语句和循环嵌套】


前言

本文章总结于此视频


一、for语句

循环的基本结构
在这里插入图片描述

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

表达式1:循环初始化表达式
表达式2:循环条件表达式
表达式3: 循环调整表达式

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main()
{
	int n1 = 0;
	for (n1; n1 < 10;n1++)
	{
		printf("%d\n", n1);

	}

	return 0;
}

运行如下:
在这里插入图片描述
也可以把int n1 = 0写入()中

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main()
{
	
	for (int n1 = 0; n1 < 10;n1++)
	{
		printf("%d\n", n1);

	}

	return 0;
}

练习

写一个程序,判断一个是是否为素数
在这里插入图片描述

#define _CRT_SECURE_NO_WARNINGS
#include<stdbool.h>
#include <stdio.h>


int main()
{
	int a, i;
	bool flag = 1;
	printf("请输入一个数:");
	scanf("%d", &a);
	for (int i = 2; i < a / 2; i++)
	{
		if ( a % i == 0)
		{
			flag = 0;

		}
	}
	if (flag)
	{
		printf("%d为素数", a);
	}
	else
	{
		printf("%d不为素数", a);
	}

	return 0;
}

代码主要分为两部分:
1.循环部分
如果没有余数,被整除,他就不是素数,(是)或(不是)使用一个bool flag = 1为真

for (int i = 2; i < a / 2; i++)
	{
		if ( a % i == 0)
		{
			flag = 0;
		}
	}

2.使用bool函数 ,进行是否的选择
在整个里用没有出现 0或1

if (flag)//这里flag = 1
	{
		printf("%d为素数", a);
	}
	else
	{
		printf("%d不为素数", a);
	}

补充:
bool是在C99标准中引入的类型,bool是专门用来表示真假的类型(即:bool类型只有两种情况true或false,也就是真或者假,没有第三种情况)。在引用bool类型前需要引用头文件<stdbool.h>。
例如下面:

int main()
{
	bool x = true;
	if (x)
	{
		printf("hello\n");
	}
	return 0;
}

注;判断!x,就是先判断x是true还是false,然后取反即可。
回到正题

在这里插入图片描述
当为for(;;)是可以等价为
在这里插入图片描述
其意为永久循环,比如说写一个一直刷小怪的代码。

在for()语句中,表达式1中可以同时给多个变量赋值,但要用“,”隔开

在这里插入图片描述
并且C99新规定在表达式一中可以定义新变量:

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
	
	for (int i = 0, a = 10; i < a; i++, a--)
	{
		printf(" % d\n", i);

	}
	return 0;		    
}

结果还是一样
在这里插入图片描述

二、for()的嵌套

代码如下(示例):

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
	int a, s;
	for (a = 0;a < 3; a++)
	{
		for (s = 0; s < 3; s++)
		{
			printf("a=%d  s=%d\n", a, s);
		}
	}
	return 0;		    
}

在这里插入图片描述

2.写一个99乘法表

先观察乘法表
在这里插入图片描述
发现第一行有一列,第二行用两列。。。。。当两数相等时到下一循环。且在每一次循环结束后还要换行
代码如下(示例):

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
	int a, s;
	for (a = 1;a <= 9; a++)
	{
		for (s = 1; s <= a; s++)
		{
			printf("%d*%d=%-2d  ", a, s,a*s);
			
		}
		putchar('\n');
	}
	return 0;		    
}

在这里插入图片描述
注:putchar在此处的用法

这里是引用

1.putchar在此处的用法:在C语言中,putchar函数与getchar函数类似,它们两个常常搭配使用。
2.同时putchar函数与printf函数又很相似,但是putchar函数每次只能输出单个字符,而printf函数每次既能输出单个字符,也能输出字符串,printf函数无疑是新一代的后浪,功能比前浪更加强大。

①当putchar函数单独使用时

#include<stdio.h>
int main()
{
    char a,b,c;
    a = 'A';
    b = 'B';
    c = 'C';
    putchar(a);//每次只能输出单个字符,我的评价是太逊啦!
    putchar('\n');//'\n'是一个字符
    putchar(b);
    putchar('\n');
    putchar(c);
    putchar('\n');
    return 0;    
}

输出:
在这里插入图片描述

在做输出换行时不能用printf替代

如果您发现文章有错误请与我留言,感谢

  • 29
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

马职音人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值