c语言sixeof,C语言死循环会报错吗
大家好,我是小红,我又来记录我的学习了!
今天要分享的主要是:分支语句和循环语句的第二部分。为什么这次是2.1?因为今天的视频没看完,而且3个半小时太长了。所以就像昨天一样分享一些吧。我们可以明天一起分享。
今天的第一个内容是关于getchar和putchar的应用,它们各自的输入和输出字符的含义,以及它们的一般功能。今天讲的是一个关于输入密码正确与否的例子。总的想法是这样的:
我们先输入一串数字或字符,然后在屏幕上输入是确定还是不确定。一开始我觉得很简单,但是当我写完程序开始运行的时候,我发现我的考虑太少了。你看我第一次打出来的代码。
可见我们的代码逻辑是可以的,但是他为什么直接帮我做Y/N判断呢?我很困惑。听了老师的话,我才知道我们输入密码之后还要按一个回车键,所以这个回车键对于getchar来说是一个数据,一个字符。所以我们的回车键直接赋给了getchar。然后我想,既然你想从我这里吸一个字,那好吧,我就多写一个空间给你。下面是修改后的代码:
在这种情况下,我直接给出了while循环,目的是为了存储更多我们不想要的字符,直到他得到换行符才跳出来\N,以便我们判断正确与否。
第二个内容是for循环的介绍和使用。
先看框架:
For(表达式1;表情2;3)表达
循环语句;
注意事项:
1表达式1是初始化部分,用来初始化循环变量。2表达式2是条件判断部分,用来判断循环何时终止。3表达式3是调整部分,用来调整循环条件。
我觉得for循环最好用,代码少:比如我想打印0到9的数字。
很简单。就几行。
这里要注意的是,我们的表达式1到3完全没有丢失省略,否则可能和你想要的输出不一样。我们来看一下对比:
我们先来看那些不省略表情的。
这里的输出是100哈哈,下面这个省略了表达式1:
这里只有10个哈哈,因为当I=0,J=0时;代码只走一次,当他想走第二次的时候,发现J已经是10了,就不执行了。注意,注意!
在这之后,老师马上给我们出了一道题,就是求n的阶乘,一开始我不知道阶乘是什么,但是百度了一下,到了1乘n的时候才知道。
我先说一下我的想法:
就是先定义一个数I,然后乘以1,然后保存相乘后的结果,保存后再乘以I。最后,输出这个数字就可以了。参见下面的代码:
如果n是阶乘3,则阶乘等于1 * 2 * 3=6;
老师做了一个测试:
//你想循环多少次?
#包含stdio.h
int main()
{
int I=0;
int k=0;
for(i=0,k=0;k=0;我,k)
k;
返回0;
}
这个题目我一看就死了,因为他的第二个表达式是k=0;如果完全不符合要求,就直接死了。果然,答案是一样的。
下面分享第三个内容。
这只是一个do - while循环。我们先来看框架。
做
循环语句;
While(表情);
可以看出来很简单,但是他的一个特点就是不管怎么样都会执行一次。不管你的代码有多错,这里有一个例子或者打印数字从0到9:
这是基本框架。老师说实际写代码的时候很少用到这个。基本上都是用fo循环。今天到此为止。现在我想告诉你关于berak和continue在每个循环中的作用。
While循环:
break while循环中的角色:
其实只要遇到循环的断裂,就把后面的循环都停下来,直接终止循环。所以:break in while用于永久终止循环。
while循环中continue的作用是:
Continue用于终止这个循环,即这个循环中continue之后的代码不会再执行,而是直接跳转到while语句的判断部分。做出下一个周期的入场判断。
For循环:
我们发现break和continue也可以出现在for循环中,它们的含义与while循环中的含义相同。
Do while循环:
break语句立即退出循环,强制循环体后面的语句继续。
continue语句跳出当前循环,继续下面的循环。
好了,今天的内容总结完毕。期待明天的收获!
下面的链接是我今天打的代码。
https://gitee.com/hong-houyuan/six日
原创作品来自不知道C的博主,
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。