.NET学习 流程控制习题以及答案

1. 下列选项中,()是引用类型。
a) enum
类型

b) struct
类型

c) string
类型

d) int
类型

2.swtich 是否能作用在 byte 上,是否能作用在 long 上,是否能作用在 String ?
答:它们都可以作用在 switch 中。

3. 请列出 c #中几种循环的方法,并指出他们的不同

  答: 4 种,分别是 for 循环, while 循环, do while 循环, foreach 循环

      区别: for 循环是按照指定的循环次数执行循环体。

    while 循环: 用于执行重复程序代码的语句,一般用在循环次数不固定时。

          do while 循环:它的循环至少执行一次或若干次。

foreach 循环: 用于循环访问集合以及获取所需信息。

4. 下面这段代码有错误么?

switch (i)

{

case :

    CaseZero();

    break ;

case 1:

    CaseOne();

    break ;

case 2:

dufault;

     CaseTwo();

    break ;

}

2 处错误,第一个 case 后应该跟常量表达式   应该为: case 0 :, dufault ,拼写错误。

5. 能用 foreach 遍历访问的对象需要实现 Ienumerable _ 接口 .

 

 

6 . 分析以下代码,完成填空  
string strtmp = "abcdefg
某某某 "; 
int i= system.text.encoding.default.getbytes(strtmp).length;  //
获得字节的长度
int j= strtmp.length; 
以上代码执行完后, i=__13_ ____ j=_____10 ____ 

7 ( 单选 )

public static void Main(string[] args)

{

int i = 2000;

object o = i;

i = 2001;

int j =(int) o;

Console.WriteLine("i={0},o={1}, j={2}",i,o,j);

}

1. i=2001,o=2000,j=2000

2. i=2001,o=2001,,j=2001

3. i=2000,o=2001,,j=2000

4. i=2001,o=2000,j=2001

 

8. . 求以下表达式的值 写出您想到的一种或几种实现方法 1-2+3-4+……+m

1. 按照奇偶数的正负号来实现 当是偶数时取它的负号,反之取正号。

2. 可以用 if 判断 m 的取值:

m 取偶数是 它的和是: (-1)* m/2

  M 取奇数时 , 它的和是: (m+1)/2

实现的代码:部分

第一种方法:   Console .WriteLine(" 请输入数字 m 的取值范围 " );

            int m = Convert .ToInt32(Console .ReadLine());

            int sum=0;

            if (m%2==1)  // 取奇数

            {

               sum=(m+1)/2;

            }

            else

            {

                 sum=-m/2;// 取偶数

            }

                 Console .WriteLine("1-2+3-4+ +{0}={1}" ,m ,sum);

                  Console .ReadLine();

第二种方法:

            static void Main(string [] args)

        {

            Console .WriteLine(" 请输入一个数字: " );

            int m = int .Parse(Console .ReadLine());

            int sum1 = 0; // 正数的和

            int sum2 = 0; // 负数的和

             for (int i = 1; i <= m; i++)

            {

                if (i % 2 == 0)  // 偶数

                {

                    sum1 += i;

                }

 

                else

                {

                    sum2 += i;// 奇数

                }

             }

            Console .WriteLine("1-2+3-4+ …… +{0}={1}" ,m, sum2 - sum1);

            Console .Read();

        }

 

附加写一个函数计算当参数为n(n很大)时的值 1-2+3-4+5-6+7……+n


      

9. 一个长度为 10000 的字符串,通过随机从 a-z 中抽取 10000 个字符组成。请用 c #语言编写主要程序来实现。  

 

using System;

using System.Collections.Generic;

using System.Text;

// 一个长度为 10000 的字符串,通过随机从 a-z 中抽取 10000 个字符组成。请用 c #语言编写主要程序来实现。

namespace ConsoleApplication2

{

    class Program

    {

        static void Main(string [] args)

        {

            char [] letter = new char [] {'a' ,'b' ,'c' ,'d' ,'e' ,'f' ,'g' ,'h' ,'i' ,'g' ,'k' ,'l' ,'m' ,'n' ,'o' ,'p' ,'q' ,'r' ,'s' ,'t' ,'u' ,'v' ,'w' ,'x' ,'y' ,'z' };

            int j = 0;

            System.Random random = new Random ();

            j = (int )random.Next(1, 27);

            string s =  "" ;

            for (int i = 0; i < 10000; i++)

            {

                 s += letter[j - 1];

            }

            Console .WriteLine(s);

        }

}

}

        

10. 将控制台输入的 int 数输出显示为大写。如:输入 206 ,显示为二零六。

代码节选

namespace demo

{

    class Program

    {

        static void Main(string [] args)

        {

            Console .WriteLine(" 请输入数字: " );

            string s = Console .ReadLine();

            for (int i = 0; i < s.Length; i++)

            {

                switch (s[i]-48)  // 注意 ASCII 码值的转换

                {

                    case 0:

                        Console .Write(" " );

                        break ;

                    case 1:

                        Console .Write(" " );

                        break ;

                    case 2:

                        Console .Write(" " );

                        break ;

                    case 3:

                        Console .Write(" " );

                        break ;

                     case 4:

                        Console .Write(" " );

                        break ;

                    case 5:

                        Console .Write(" " );

                        break ;

                    case 6:

                        Console .Write(" " );

                        break ;

                    case 7:

                        Console .Write(" " );

                        break ;

                    case 8:

                        Console .Write(" " );

                        break ;

                     case 9:

                        Console .Write(" " );

                        break ;

                   default :

                        Console .Write(" 输入其他字符 " );

                        break ;

                }

            }

            Console .WriteLine();

            Console .Read();

        }

    }

}

  

 

11. 输入 给定字符串,统计每个字母出现的次数(不区分大小写)

代码节选

   Console .WriteLine(" 请输入你需要统计的字符: " );

            string str = Console .ReadLine();

            for (int i = 0; i < str.Length; i++)

            {

                 int count = 0;

                char c = str[i];

                int n = 0;

                for (int m = i - 1; m >= 0; m--)

                {

                    if (str[m] == c)

                    {

                        n = 1;

                         break ;

                    }

}

                if (n == 0)

                {

                    for (int j = 0; j < str.Length; j++)

                    {

                        if (str[j] == c)

                        {

                            count++; 

                        }

                    }

                    Console .WriteLine("{0} 出现次数: {1}" , c , count);

                }

            }

            Console .ReadLine();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值