栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

循环语句--2022/3/25学习笔记(C语言)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

循环语句--2022/3/25学习笔记(C语言)

22/3/19学习笔记(Part 5)

while循环语句


(注释:continue是用于终止本次循环的,也就是本次循环中continue后边的代码不会再执行,而是直接会跳转到wile语句的判断部分,进行下一次循环的入口判断。但break是用于永久的终止循环。)

案例

(注释:输入函数(scanf,getchar等等)都是从与键盘中的缓冲区取的数据,密码已经拿走,剩下的n直接被放入getchar,即ch里,于是自动打出确认成功。)

所以要在下一次输入之前,清除缓冲区。

当输入密码有空格之后的其他字符时,会残留在缓冲区:


所以此时需要将缓冲区进行while循环用getchar清理

for循环语句

for循环语句语法为:

for(表达式1;表达式2;表达式3)
//表达式1即初始化
//表达式2即判断语句
//表达式3即调整语句
    循环语句;

for循环中break的用法:

for循环中continue的用法:跳过该条令,其他继续循环。

注意:不可在for循环体内修改循环变量,防止for循环失去控制。并且for语句的循环控制变量的取值采用“前闭后开”的区间写法。

for循环变种之一(省略语句):

 int main()
 {
   for(;;)
   //三条语句皆可省略
   //判断部分的省略 = 判断部分恒为真
   {
   printf("质胜文则野,文胜质则史,文质彬彬,然后君子。n");
   }
   return 0;//该循环会进入死循环。
 }

以下代码块:将会打印出九个“允执其中”。

int main()
{
 int a = 0;
 int b = 0;
 for(a=0; a<3;a++)
  {
    for(b=0; b<3; b++)
      {
         printf("允执其中n");
       }
   }
 return 0;
 }

以下代码块,只会打印出三个“毋意,毋必,毋固,毋我”。

int main()
{
int a = 0;
int b = 0;
for(; a<3;a++)
 {
   for(; b<3; b++)
     {
        printf("毋意,毋必,毋固,毋我n");
      }
  }
return 0;
}

for循环变种之二(用多个变量控制):

 int main()
 {
  int x, y;
  for(x=0, y=0; x<21 && y<23; x++, y++)
  {
  printf("思想就是对思想的思想。n";)
  }
  return 0;
  }
 
do while循环语句

do while语法如下:

do
    循环语句
    while(表达式);

do while先斩后奏,先执行后判断。当do while循环语句中运用continue时,会进入死循环。
do while至少执行一次,所以很少使用。 Little tips

getchar()

1.getchar是用于获取一个用户键盘输入的字符。只能接收一个字符,其函数值就是从输入设备获取到的字符。

(注释:该代码块不会忽视enter键(回车键))

2.getch与getchar基本功能相同,差别是getch直接从键盘获取键值,不等待用户按回车,只要用户按一个键,getch就立刻返回,getch返回值是用户输入的ASCII码,出错返回-1,输入的字符不会回显在屏幕上。getch函数常用于程序调试中,在调试时,在关键位置显示有关的结果以待查看,然后用getch函数暂停程序运行,当按任意键后程序继续运行。

当输入CTRL+Z时,**getchar()**就读取结束。

putchar(),即输出一个字符

int main()
{
	int ch = getchar();
	putchar(ch);//输出一个字符
	return 0;
}

EOF = end of file(文件结束标志) ,即-1

在上文For循环中,例用break时候,用到了if(a == 70),要注意在此需使用两个“=”,即为“==”,表示判断,当为一个“=”时表赋值。

gets() 能读包含空格的一行数据。

⭐题目
    该代码块是什么意思?
#include
int main()
{
     int ch = 0;
     while((ch = getchar()) ! = EOF)
     putchar(ch);
     return 0;
}
    该代码块是什么意思?
 int main()
{
    int ch = 0;
	while((ch=getchar())!=EOF)
	{
		if(ch<'0'|| ch>'9')
			continue;	
		putchar(ch);
	}
	return 0;
}
    请问该循环要循环多少次?
#include
int main()
{
 int i = 0;
 int k = 0;
 for(i=0, k=0; k=0; i++, k++)
     k++;
 return 0;
}
⭐答案
    这块代码的意思为:输入一个字符,当它不是-1时便输出它。
    其中,getchar旨在获取一个字符,!旨在反逻辑操作,EOF旨在为-1,即终止。
    代码意思为,输入一个字符并赋值给ch,当它不是-1的时候就输出这个字符。ch=getchar()的意思为“ch被赋值为getchar的返回值”。getchar的返回值为ASCII值,0的ASCII值为48,9的ASCII值为57,即输入的不是数字字符执行cuntinue,即跳过,不显示。当输入的为数字时,显示。
    3.零次。因为“k = 0”是赋值,在判断语句被赋值为0,0为假,所以不会进入循环。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/779650.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号