循环语句第二节

    选择打赏方式

循环分支

while循环

EOF的实际价值:

# include<stdio.h>
int main()
{
    char password[20];
    int judge;
    printf("请输入密码");
    scanf("%s",password);
    printf("请确认:(y/n)\n");
    judge = getchar();
    if('y'==judge)
    {
        printf("确认成功");
    }
    else
    printf("确认失败");
    return 0;
} 

输入缓冲区:当我们输入密码时假设输入了:123456,当我们按下回车键执行下一步的时候,这时,将会输出确认失败 原因是因为存在输入缓冲区 ,其实输入的是123456\n,\n是一个ascll码,但是我们没有想到,当scanf函数获取数值时,只获取了123456\n将会继续存在于缓冲区中,下一次将被getchar函数获取,所以将会输出确认失败,解决办法,将存在的\n,消除

# include<stdio.h>
int main()
{
    char password[20];
    int judge;
    printf("请输入密码");
    scanf("%s",password);
    getchar();//将\n拿走,这样代码将会执行我们想要的结果
    printf("请确认:(y/n)\n");
    judge = getchar();
    if('y'==judge)
    {
        printf("确认成功");
    }
    else
    printf("确认失败");
    return 0;
} 

for循环

最常用的循环,

for(初始化 判断 执行) 

同样有break和continue和while中的continue,break一样

for循环的一些建议

  • 不能在循环体内改变循环变量,否则容易导致循环失控
  • 建议for循环的循环变量的取值采用前闭后开 的写法(具体看实际情况)

for循环的一些特殊情况

  1. for循环的初始化,判断,执行都可以被省略,如果省略了判断则恒为真
  2. 如果不熟练则不建议省略,不要随便省略。
  3. 第三种特殊情况:for(x= 10,y = 10; x >20 && y <30; x++,y++>)
  4. 这个代码执行多少此呢!
int main()
int a = 0;
int b = 0;
for(a = 0,b = 0; b = 0; b++,a++)
{
    b++;
    return 0;
} 

答案0次,因为判断的值每一次都被改为了0,0表示假,这个代码将不会被执行

dowhile循环

do 
{
 循环语句
}
  while(判断) 

同样可以使用brake和continue语句,循环至少都要被执行一次。

练习

1.计算n的阶乘

int a;
long long rest = 1;
int n;
scanf("%d",&n);
for(a=1; a<=n; a++)
{
    rest = rest*a;
}
printf("%lld",rest); 
版权声明:若无特殊注明,本文为《若离风》原创,转载请保留文章出处。
本文链接:https://www.rlfit.cn/post-19.html
正文到此结束

热门推荐

发表吐槽

你肿么看?

你还可以输入 250 / 250 个字

嘻嘻 大笑 可怜 吃惊 害羞 调皮 鄙视 示爱 大哭 开心 偷笑 嘘 奸笑 委屈 抱抱 愤怒 思考 日了狗 胜利 不高兴 阴险 乖 酷 滑稽

评论信息框
可使用QQ号实时获取昵称+头像

私密评论

吃奶的力气提交吐槽中...


既然没有吐槽,那就赶紧抢沙发吧!