-
b查看全部
-
使用 foreach 的语法: 需要解释一下 ④ ,如上面的示例代码,迭代变量 x 只能用于读取数组 num 中的值,但是不能给数组元素赋值,如果尝试给 x 赋值,则会有下面的错误提示: 了解了 foreach 循环的语法,你可能会有疑问:好像 foreach 循环能做的 for 都能做, foreach 存在的意义是什么呢?其实,C#中还存在一些类似于数组的数据组织方式,它们中有一些是没有元素索引的,对于这些元素,只能通过 foreach 遍历。关于那些更高级的对象,我们留待后面的课程介绍。查看全部
-
请看这段代码和运行结果,你能看出它要做什么吗? 循环变量从 1 循环到了 10 ,但输出的只有 2 4 6 8 10 ,对,这是在打印 1-10 之间的偶数。像这样,循环访问一组数据,从中找出符合条件的数据,这样的算法叫做查找。 写查找的算法,需要做 2 件事,一是写循环访问每一个数据,二是对每一个数据进行验证。这样,就需要写 2 个“条件”:循环条件和筛选条件。 如上例,循环条件是x<=10,筛选条件是x%2==0。初学者常见的错误是把 2 个条件都写在循环条件里,比如把循环条件写成 x<=10 && x%2== 0 ,请注意甄别:循环条件必须能够遍历每一个数据,如果你写的循环条件会漏掉某些数据,或者循环没有能够正常运行,请检查是不是把筛选条件也写在循环条件里了。查看全部
-
编程中有这样一种情形:我们需要存储多个同类型数据。比如,保存 1600 个学生的年龄。是否需要声明 1600 个 int 类型的变量?过了一年,学生们长了 1 岁,是否需要给每个变量重新赋值?这件事情,想想就怕怕。好在C#中有一种数组,专门存储一组相同类型的数据。数组的声明和初始化语法如下: 数据类型[ ] 数组名 = new 数据类型[长度]; 注意:数组名像变量名一样要遵循标识符的命名规则;长度必须是整数 下面我们来比较变量和数组的声明与初始化,右边是在内存中为变量和数组分配空间的示意: 对比变量 x 和数组 y 就会发现,数组 y 中其实包含了 3 个 double 类型的变量,为什么是 3 个?因为初始化数组时在 [ ] 中声明的长度为 3 。既然都在数组 y 中,所以 3 个变量(应该叫数组元素)的名字都叫 y ,为了区分它们,按照顺序给它们加上索引 [0]、[1]、[2] 。请注意:数组的索引从 0 开始递增。那么,数组 y 中 3 个元素的名字就变成了 y[0]、y[1]、y[2] 。最后再注意一点:数组经过初始化以后,数组元素有默认的初始值, double 类型为 0.0 , int 类型为 0 , char 类型为 'a' , bool 类型为 false , string 类型为 null 。 数组元素的赋值与普通变量相同。下面的示例中,我们声明了一个长度为 3 的 string 类型数组,逐个赋值,然后打印: 上例中,需要注意的是元素的索引,数组元素索引从 0 开始递增,所以长度为 3 的数组,其元素索引为 [0]、[1]、[2] 。 如何知道一个数组的长度呢? 数组.Length 属性会返回数组的长度(即数组元素的个数)。请看下面的例子: 代码中的 friends.Length 会返回 friends 数组的长度,请看运行结果:查看全部
-
嵌套循环至少包含 2 层循环,外层的循环体执行一次,内层的循环体则执行 n 次,内层体被执行的总次数 = 内层循环次数 * 外层循环次数。 for (int i = 1; i <= 7; i++) //请完善代码 { for (int x = 1; x <= 7; x++) { if (x - i == 0||i+x ==8) { Console.Write("0"); } else { Console.Write("."); } } Console.WriteLine(); }查看全部
-
在一个循环体中包含另一个循环,称为“嵌套循环”。当2个循环嵌套的时候,外层循环体执行一次,内层循环体执行 n 次( n 是内层循环的次数)。查看全部
-
前面学习 switch 结构时,我们曾经遇到过 break 关键字, break 在 switch 结构的作用是“跳出 switch 结构”。 break 关键字还可以用在循环中,作用是“结束循环”。下面的循环代码中,当 x==3 的时候会执行 break : 运行结果: 对比代码和运行结果可知,当执行到 break ,循环结束(尽管此时循环条件仍然为 true )。 利用 break 关键字和 true 关键字,我们可以用另一种方式编写循环,下面的代码是输出1-5的整数: 运行结果:查看全部
-
可以使用 continue 关键字,在循环中剔除一些特殊的数据查看全部
-
switch 中的(变量)只能是3种类型:整型(如 int )、字符型( char )、字符串类型( string )。查看全部
-
当出现多个 if 和 else ,又没有{}来界定范围时,请参考下面2条原则: ①每一个 else 与前面离它最近的 if 配对。按照这个原则,上面示例代码的两个 else 都与第二个 if 配对,这显然是不可能的,于是又有了第二个原则。 ②多个 else 都与同一个 if 相近时,最内层的 else 优先配对。这样,第一个 else 处于内层,就与第二个 if 优先配对,第二个 else 只能与第一个 if 配对。上面的示例代码会输出“C”。查看全部
-
微软写好的类:添加命名空间查看全部
-
命名空间:组织和管理类查看全部
-
C#的运算符优先级 前面我们学习了那么多运算符,如果编程中同时使用了多个运算符,到底哪一个会先运算呢?这就是优先级的问题。C#运算符的优先级请参考下面的顺序: ①括号。学数学的时候我们就知道,要先计算括号里面的内容。C#语言也是一样,如果有多层括号,要从里向外计算。括号优先级最高。 ②一元运算符。有些运算符两边有2个操作数,比如2+3、6%5等等,这些叫做二元运算符。只有一个操作数的叫做一元运算符,它们的优先级高于二元运算符。一元运算符包括:++(自加) 、 --(自减) 、 !(逻辑非)。 ③*(乘)、/(除)、%(取余)。 ④+(加)、-(减)。 ⑤>(大于)、<(小于)、>=(大于等于)、<=(小于等于)。 ⑥==(等于)、!=(不等于)。 ⑦&&(逻辑与)。 ⑧||(逻辑或)。 ⑨赋值运算符。包括:=、+=、-=、*=、/=、%=。 另外,还需要注意一点:优先级相同的运算符从左向右计算(赋值运算符相反)。查看全部
-
using System; using System.Collections.Generic; using System.Text; namespace Test { class Program { static void Main(string[] args) { //声明整型数组,保存一组整数 int[] num = new int[] { 3,34,43,2,11,19,30,55,20}; bool has7 = false;//记录有没有7的整倍数,假设没有 foreach (int x in num)//遍历每一个数字 { if (x % 7 == 0)//设置筛选条件,查找7的整倍数 { has7 = true;//找到后,记录为true,即“有7的整倍数” break;//跳出foreach,结束查找 } } //判断结果并输出 if (has7) Console.WriteLine("有7的整倍数"); else Console.WriteLine("没有7的整倍数");//请完善代码,判断数组中有没有7的整倍数 } } }查看全部
-
Ctrl+F5直接运行程序,不是为调试!查看全部
举报
0/150
提交
取消