走马观花游C#之向左?向右?
本课目标
通过分支和循环语句了解条件逻辑;
用户故事
计算0到20之间,能被3整除的整数。
解决故事
分支if … else…
新建一个名为LeftOrRightDemo
的控制台应用(.NET Core) 应用程序,并在static void Main(string[] args)
方法中,写下如下代码并运行;
int a = 10;
int b = 3;
int c = a % b;
if (c == 0)
{
Console.WriteLine("这个数能被三整除");
}
else
{
Console.WriteLine("这个数不能能被三整除");
}
Console.ReadKey();
这段代码主要是用来判断赋值给变量a值的能不能被3整除,这里我们通过求余运算来判断,如果余数为0,则说明这个是数能被3整除,就提示“这个数能被三整除”,如果不为0,则说明不能被整除,就提示“这个数字不能被三整除”,从结果中可以看出,10并不能被3整除,我们再把a赋值为12,重新运行。
从运行结果中可以看出,12是可以被3整除的。
从上述两个例子中,我们已了解了if…else…的用法,if后面的小括号里面是逻辑判断表达式,如果判断为真,程序就会进入if下方的大括号里面,并执行里面的代码;如果判断不为真,则为进入esle下的大括号里面,并执行里面的程序。
当a=10时,因10不能被3整除,判断结果不为真,所以程序进入了else程序块,并执行里面的代码,最后窗口打印出了“这个数字不能被三整除”;
当a=12是,判断结果为真,所以程序进入了if的程序块,并执行里面的代码,最后在窗口打印出了“这个数字能被三整除”。
循环while
我们要在控制台窗口打印出0到20的数字,这时我们可以用循环while语句来实现这个功能,输入如下代码,并运行。
int d = 0;
while(d<=20)
{
Console.WriteLine(d);
d++;
}
这段代码中有一个while循环语句,while小括号里是一个逻辑判断表达式,判断d的值是不是小于或等于20,如果是就进入大括号里的代码块,并执行里面的代码;当d的值大于20,则跳出这个循环。
while大括号里有两句代码,第一句是将d的值打印出来,第二句d++;的意思是让d自增1,只要程序进入这个代码块里,程序就会把当前d的值打印出来,然后再把d加1。
这段代码的作用是将0到20的整数都打印在窗口上。首先定义了一个整形变量d,然后给d赋值为0,然后就执行while循环,每次循环d都增加1,当d的值大于20后就退出循环。
循环for
除了可以用while循环以外,还可以使用for循环语句将0至20的整数打印出来,输入以下代码,并运行。
for(int i = 0; i <= 20; i++)
{
Console.WriteLine(i);
}
for循环基本格式
for(初始条件;循环条件;状态改变)
{
循环体
}
初始条件中,我们定义一个整形变量i,并赋值为0;
循环条件,是当i小于或等于20时,就进入循环体;
状态改变(迭代器),是让d每次都增加1;
当d的值还是小于或等于20时,就进入循环体,把i当前的值打印出来,然后再将i自增1,当i的值大于20时,就跳出循环体。
实现将0至20被3整除的数打印出来
方法1:
int d = 0;
while (d <= 20)
{
if(d%3==0)
{
Console.WriteLine(d);
}
d++;
}
方法2:
课后作业
1.求0至100能被2整除的整数的总和。