getchar和putchar
//PS:在进行本文讲解时,我们先用以下这些图来了解一下gerchar和putchar这两个函数:
这是msdn上面定义的getchar函数
上图意思就是当getchar读取错误或者读到文件结束标志的时候就返回一个EOF。
这是msdn上面定义的putchar函数
//linux上面是 Ctrl+D
ps:此时getchar拿的是空格
ps:当然如果想要读取到空格的话我们可以去用gets这个函数,目前也只是提一下。
//以上就是给小伙伴们补充的getchar和putchar两个函数啦!!!
//再次回来!上文我们讲完了while循环,这节课我们接着来讲for循环和do...while循环
3.2 for循环
我们已经知道了 while 循环,但是我们为什么还要一个 for 循环呢?
首先来看看 for 循环的语法:
for ( 表达式 1 ; 表达式 2 ; 表达式 3 )
循环语句 ;
表达式 1
表达式 1 为 初始化部分 ,用于初始化循环变量的。
表达式 2
表达式 2 为 条件判断部分 ,用于判断循环时候终止。
表达式 3
表达式 3 为 调整部分 ,用于循环条件的调整。
实际的问题:
使用 for 循环 在屏幕上打印 1-10 的数字。
现在我们对比一下 for 循环和 while循环。
int i = 0 ;
// 实现相同的功能,使用 while i = 1 ; // 初始化部分 while ( i <= 10 ) // 判断部分 { printf ( "hehe\n" ); i = i + 1 ; // 调整部分 } // 实现相同的功能,使用 while for ( i = 1 ; i <= 10 ; i ++ ) { printf ( "hehe\n" ); }
可以发现在 while 循环中依然存在循环的三个必须条件,但是由于风格的问题使得三个部分很可能偏离较 远,这样查找修改就不够集中和方便。所以, for 循环的风格更胜一筹; for 循环使用的频率也最高。
3.2.1 break和continue在for循环中
我们发现在for循环中也可以出现break和continue,他们的意义和在while循环中是一样的。
但是还是有些差异:
//代码1
// 代码 2
3.2.2 for语句的循环控制变量
建议:
1. 不可在 for 循环体内修改循环变量,防止 for 循环失去控制。
2. 建议 for 语句的循环控制变量的取值采用 “ 前闭后开区间 ” 写法。
int i = 0 ;
// 前闭后开的写法
for ( i = 0 ; i < 10 ; i ++ )
{}
// 两边都是闭区间
for ( i = 0 ; i <= 9 ; i ++ )
{}
//一般建议用前闭后开的方法,因为这样可以使后开的那个值赋有一定的意义。