今天是学C语言的第11天
今天学了分支语句中的switch语句和循环语句中的while语句。具体来讲,switch语句就是
switch(整形表达式)
{
case 1:
进行的操作、输出等
break;//用于跳出switch语句,否则程序会接着后面的语句运行
case 2:
...
break;
...
default://当输入的值不为任一分支时,利用default离开switch语句
操作
而switch语句相对于if,else语句的好处就是在面对大量的分支时能够简化代码。
对于while循环:
while(表达式)
{
进行的操作、输出等
}
只要满足while后面的条件或者输入的整形为真,即可进入while循环,不满足条件时即跳出循环,而while语句中还有break和continue两个关键字。其中,break为直接跳出循环,而continue为跳过该关键字后面的所有代码,直接进入下一次循环的判断环境(判断是否进入循环)。
此外,今天还学了scanf函数和getchar函数对于数据的抓取:在使用scanf函数作为输入时,在输入数据(字符串等)并按下回车后,数据会进入一个缓冲区并自动添加一个\n作为数据的结尾,此时scanf函数会从缓冲区抓取\n前的数据(在数据中有空格时,只抓取空格前的数据),而后面的数据则会留在缓冲区中。而下一个函数又会从缓冲区中抓取数据,因此,缓冲区中残留的数据会对后面程序的运行造成干扰,因此可以用while循环配合getchar函数进行简单的缓冲区清理。
//利用循环清理缓冲区
int a = 0;
while ((a = getchar()) != '\n')
{
;//不能漏
}
明天继续努力!