C#基础知识及题目练习 Day5 三元表达式 常量变量 枚举 数组

一、循环内容回顾

while(循环条件)
{
    循环体
}


do
{
    循环体;
}while(循环条件);

for(表达式1;表达式2;表达式3)
{
    //要执行的代码;
}

二、break   continue
break:在循环语句中,遇到break会跳出整个循环。  break后面的语句永远都不会得到执行。
continue:在循环语句中,遇到continue会跳出当前循环

三、三元表达式
语法:
表达式1?表达式2:表达式3;
表达式1一般是关系表达式
执行过程:如果表达式1的值为true,那么表达式2的值就是整个三元表达式的值;
          如果表达式1的值为false,那么表达式3的值就是整个三元表达式的值;
          
四、常量 变量
常量:恒定不变的固定值    关键字:const
常量定义格式: const 常量类型  常量名称=常量值;
const double pai = 3.14;    //定义了一个常量
常量不能被重新赋值

五、枚举
语法:
[访问修饰符] enum 枚举名称
                {
                    spring,
                    summer,
                    autumn,
                    winter
                }

注意:1、枚举类型不能定义在方法的内部
      2、枚举是一个类型
      
六、数组:一次性存储多个相同类型的变量
语法结构:
数组类型[] 数组名称=new 数组类型[数组长度];
int[] ages=new int[10];    
//定义了一个int类型的数组,并为该数组开辟了十块连续的空间,我们称每一块为一个元素

数组元素的赋值:使用for循环为数组元素赋值、取值。

int类型的数组,创建完以后,如果不赋值,默认值为0;
string类型的数组,创建完以后,如果不赋值,默认值为null.
null与空的区别:null代表没有分配空间,空代表已分配空间,但是还未赋值
数组的长度:数组名.length
bool类型的数组,创建完以后,如果不赋值,默认值为false

练习一:从一个整数数组中取出最大的整数、最小的整数,总和,平均值
练习二:数组里面都是人的名字,分割成老杨|老马|老苏。。。
练习三:将一个整数数组的每一个元素进行如下处理:如果元素是正数则将这个元素的值加1;
如果元素是负数则将该元素减1;如果是0,不变
练习四:将一个字符串数组进行反序排列,例如 string strA={"wo","shi","好人"}转变成 strB={"好人","是","我"}
练习五:实现冒泡排序

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Day6zy_machenxi
{
    
    class Program
    {
        //用冒泡排序,对数组进行升序排列
        static void Bubble(int[] a)
        {
            int z = 0;
            for (int i = 0; i < a.Length; i++)
            {
                for (int j = 0; j < a.Length - i - 1; j++)
                {
                    if (a[j] > a[j + 1])
                    {
                        z = a[j + 1];
                        a[j + 1] = a[j];
                        a[j] = z;
                    }
                }
            }
        }
        static void Main(string[] args)
        {
            #region 练习五:实现冒泡排序
            int[] BubbleInts = { 1, 2, 3, 6, 5, 4 };
            Bubble(BubbleInts);
            Console.Write("\n5.冒泡排序后的结果为:");
            for (int i = 0; i < BubbleInts.Length; i++)
            {
                Console.Write("{0} ", BubbleInts[i]);
            }
            Console.WriteLine();
            #endregion

            #region 练习四:将一个字符串数组进行反序排列,例如 string strA={"wo","shi","好人"}转变成 strB={"好人","是","我"}
            string[] strA = { "我", "是", "好人" };
            string temp;
            for(int i = 0; i < strA.Length/2; i++)
            {
                temp = strA[i];
                strA[i] = strA[strA.Length - 1-i];
                strA[strA.Length - 1 - i] = temp;
            }
            Console.Write("\n\n4.反序排列后的字符串数组为:");
            for (int i = 0; i < strA.Length; i++)
            {
                Console.Write(strA[i]);
            }
            Console.WriteLine();

            #endregion

            #region 练习三:将一个整数数组的每一个元素进行如下处理:如果元素是正数则将这个元素的值加1;
            //如果元素是负数则将该元素减1;如果是0,不变
            int[] ints = { 12, -2, 13, -41, 5, 0 };
            Console.Write("\n\n3.处理前的数组为:");
            for (int i = 0; i < ints.Length; i++)
            {
                Console.Write("{0}  ", ints[i]);
            }
            Console.WriteLine();
            for (int i = 0; i < ints.Length; i++)
            {
                if (ints[i] > 0)
                {
                    ints[i] += 1;
                }
                else if (ints[i] < 0)
                {
                    ints[i] -= 1;
                }
            }
            Console.Write("处理后的数组为:");
            for (int i = 0; i < ints.Length; i++)
            {
                Console.Write("{0}  ",ints[i]);
            }
            Console.WriteLine();
            #endregion

            #region 练习二:数组里面都是人的名字,分割成老杨|老马|老苏。。。
            string[] Names = { "老杨", "老马", "老子", "孔子", "孟子" };
            string last = "";
            int shuLiang = Names.Length;
            for (int i = 0; i < Names.Length - 1; i++)
            {
                last += Names[i] + "|";
            }
            last += Names[shuLiang - 1];
            Console.Write("\n\n2.分割后的人名为:");
            Console.WriteLine(last);
            #endregion

            #region 练习一:从一个整数数组中取出最大的整数、最小的整数,总和,平均值
            int[] salaryArr = new int[6];   //定义一个数组并分配空间
            int[] salary = { 12, -2, 13, 41, 5, 6 };   //定义一个数组,并赋值
            int[] sa = new int[] { 2, 3, 4, 5 };    //定义一个数组,并赋值

            int max = salary[0];    //最大值
            int min = salary[0];    //最小值
            int sum = 0; //和
            int avg = 0;    //平均值    
            for (int i = 0; i < salary.Length; i++)
            {
                //怎样获取最大值 方式1
               // max = salary[i] > max ? salary[i] : max;
                if (salary[i] > max)    //方式2
                {
                    max = salary[i];
                }

                min = salary[i] < min ? salary[i] : min;
                sum += salary[i];
            }
            avg = sum / salary.Length;
            Console.WriteLine("\n\n1.当前数组的最大值为{0},最小值为{1},和为{2},平均值为{3}", max, min, sum, avg);
            #endregion

            

            Console.Read();
        }
    }
}

 

你可能感兴趣的:(C#)