详细内容如下:
代码部分:
#define _CRT_SECURE_NO_WARNINGS 1
// 31.循环语句while(注意初始化部分,判断部分,调整部分!!!!!)
// ps:多用于三大部分之间代码不多的情况
//while----表达式结果为非0,(为真),则一直执行,如果为0,则不执行
//常用场景:1.break篇
//#include<stdio.h>
//int main()
//{
// int i = 1;//初始化部分
// while (i <= 10)//判断部分
// {
//
// if (5 == i)
// {
// break;//在while循环中,break用于跳出所有代码,永久的终止循环
// }
// printf("%d ", i);//1 2 3 4
// i++;//调整部分
// }
// return 0;
//}
// 常用场景:2.continue篇
//#include<stdio.h>
//int main()
//{
// int j = 1;//初始化部分
// while (j <= 10)//判断部分
// {
// if (5 == j)
// {
// continue;//在while循环中,continue用于跳过contine后面代码,(此处跳过的是printf("%d ", j);和j++; ),下一次进行时仍while(j<=10),j=5,进入循环,但是又遇到continue,又再次跳过后面的printf和j++ 陷入循环
// }
// printf("%d ", j);
// j++;//1 2 3 4 调整部分
// }
//}
//常用场景3.
//#include<stdio.h>
//int main()
//{
// int i = 0;
// while ((i = getchar()) != EOF)//getchar输入一个常量,会输出你输入的值,只有当ctrl+z时getchar读取结束 程序和键盘之间有缓存区,getchar拿走缓存区的字符,拿走(空格)\n,直到EOF(ctrl+z)出现
// {
// putchar(i);//输出一个函数,此函数为输入的i
// }
// return 0;
//}
// 32.循环语句while2
//常用场景4.
//#include<stdio.h>
//int main()
//{
// char arr[20] = { 0 };
// printf("请输入密码\n");//打印字符串用%s
// scanf("%s", arr);//程序和键盘之间有缓存区,scanf拿走缓存区的字符,不拿走\n
// printf("请确认密码:>Y/N\n");
// //程序和键盘之间有缓存区,提取数据之前需要用getchar清除\n,
// //否则会直接判断\n不等于1,但是一个getchar不够,所以需要多个getchar,即循环
// int arr1 = 0;
// while ((arr1 == getchar())!='\n')
// {
// ;//用循环反复清理\n
// }
// int arr2 = getchar();
// if (arr2=='Y')
// {
// printf("密码正确\n");
// }
// else
// {
// printf("密码错误\n");
// }
// return 0;
//}
//常用场景5.
#include<stdio.h>
int main()
{
int ch = 0;
while ((ch = getchar()) != EOF)//将ch赋予getchar,判断ch的值是否有效用EOF
{
if (ch < '0' || ch>'9')
{
continue;//跳出此次循环
}
else
putchar(ch);//输出的是输入的ch的值
}
return 0;
}