1.while语句
while 语法结构
while(表达式)
循环语句;
break终止整个循环
continue,跳过本次循环,直接判断要不要进行下一次循环。
a一直=5,一直在循环,跳过了后面的打印和++,
a++在前,没有打印1和5。
while循环中的:
break是用于永久的终止循环。
continue是跳过本次循环后面的代码,直接去判断部分,进行下一次循环的判断。
getchar获取字符,从键盘输入一个字符给他
putchar 打印字符
函数fgetchar返回值EOF(EOF的本质是#define定义的-1所以用int来接收getchar()函数返回的值。
ctrl+z就是让getchar返回一个EOF。
没让我确认直接No了。
scanf和getchar公用一个输入缓冲区,当输入的密码123456\进入输入缓冲区,scanf取走了123456给到了password,getchar直接取走了\n,就输出No了。
临时解决方法,放一个getchar读取走了\n,
如果有空格,上述方法就又不起作用了。
scanf取走了abcd,getchar拿走了空格,下面的ret取走了直接不等于Y,直接No。
解决方法:用whie循环一直读,读取到\n停止。
下述代码:只打印数字,跳过其他。
2.for语句
for循环是三个循环中用的最多的循环。
break:跳出循环
continue:跳过本次循环。
while和for continue的区别,for是跳过continue后面的代码,跳到调整部分i++;
while是跳过continue后面是代码,进入死循环。(因为i++在coninue后面执行)。
建议写第一种。那种方便解读用那种。
例如:for(i=100,i<=200,i++)//打印100-200,这种比第一种可读性强。
for循环的判断部分省略意味着判断会恒成立。
建议不要随便省略。
代码2:打印100个;
代码3:打印10个。
C99语法才支持了这种写法,不是所有编译器中都这么写的。
C++中支持这种写法。
这种写法是任何编译器都能编译通过的,而且没有多占内存。
多个变量控制循环也是可以的。
循环0次,因为k=0;k赋值为0,0为假不进入循环。
3.do while
do while:至少循环一次。
打印1-10;
break;
continue:跳过了5的打印。
只打印1-4,死循环。
do while 循环至少执行一次,使用的场景有限,所以不是经常使用。