加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

C#复习题

(2011-03-26 15:36:29)
标签:

c

复习题

资料

软件

分类: 软件工程

题型要求:

一、 单项选择题 (本大题共15小题,每小题1分,共15分)

二、 多项选择题 (本大题共5小题,每小题2分,共10分)

三、 判断题 (本大题共5小题,每小题3分,共15分)

四、 程序阅读题 (本大题共5小题,每小题4分,共20分)

五、 编程题 (本大题共4小题,每小题10分,共40分) 

六、 附加题 (本大题共1小题,20分)

===========================================================

一、 单项选择题 (本大题共15小题,每小题1分,共15分)

1、C#程序设计语言属于什么类型的编程语言?(  
汇编语言     机器语言     高级语言      D 自然语言


2、请问经过表达式 a=3+1>5?0:1 的运算,变量a的最终值是什么? (   
A 3      B 1          C 0            D 4

3、关于如下程序结构的描述中,哪一项是正确的?(    )
   for( ; ; )
{
       循环体;
}
一直执行循环体,即死循环            B 执行循环体一次
不执行循环体                        D 程序不符合语法要求


4、设double型变量x和y的取值分别为12.5和5.0,那么表达式x/y+(int)(x/y)-(int)x/y的值为()
2.9    B 2.5         C 2.1        D 2


5、设bool型变量a和b的取值分别为true和false,那么表达式a&&(a||!b)和a|(a&!b)的值分别为:
   true   true             true  false     
C false    false             false     true

 

6、设int型变量x的值为9,那么表达式x-- + x-- + x--的值为()
 A . 27         B. 24        C. 21       D .18


7、下列属于合法C#变量名的有()
  A、x_123       B if         C 1_x      D 3x


8、要使用变量age来存储人的年龄,则将其都声明为()类型最为适合。
  A sbyte       byte      C int      float


9、以下数组声明中,不正确的有()
   int[] a ;                      B int a[]=new int[2];
   int [] a={1,3}                 D int [] a=int []{1,3}


10、以下不属于.NET编程语言的是()
   Java                         B C#
   VC.NET      D、VB.NET


11、下列语句执行后y的值为()
 int x=0,y=0;
 while(x<10)
 {
      y+=(x+=2);
}
10         B 20         C 30     D 55


12、C#中每个char类型变量占用(  )字节内存
 B 2    D 4


13、在C#中,表示一个字符串变量应使用下面哪条语句定义( 
A、CString  str;    B、String str;
C、Dim str as string;   D、char * str;


14、下列哪些运算符是属于“右结合”的?

A、算术运算符   B、关系运算符
C、逻辑运算符   D、赋值运算符


15、下列语句在控制台上的输入是什么?()

if(true)
  System.Console.WriteLine("FirstMessage");
  System.Console.WriteLine("SecondMessage");
A、无输出         B、FirstMessage
                  SecondMessage
C、SecondMessage       D、FirstMessage

 

16. 以下数据类型中不可以使用算术运算运算的是()
A. bool
B. char
C. decimal
D. sbyte


17. 在C#中以下赋值不允许的是()
A. short b=2;     sbyte c;   b=c;
B. char b=’a’;   int c;     c=b;
C. double b=2   long c;    c=b;
D. decimal b=2m  byte c;    b=c;


18. 以下赋值语句中正确的是()
A. short x=32768;
B. ushort y=65534;
C. long x=5000; int y=x;
D. double x=20; decimal y=x;


19 以下数据类型不能表示负数范围的是()
A. sbyte
B. decimal
C. double
D. uint


20. 在C#中下列表达式不正确的是()
A. double a;   double b=2;   int c=3;   a=b+c;
B. short a;   byte b=2;   byte c=3;   a=b+c;
C. string a;  string b=”1”  string c=”2” a=b+c;
D. bool a;   bool b=true;  bool c=false  a=b==c;


21. C#中下列变量标识符定义不正确的是()
A. m_n
B. _a124;
C. @3_4;
D. udouble


22. C#中下列字符是可显示字符的是()
A. ‘\n’
B. ‘\\’
C. ‘\t’
D. ‘\f’


23. 下列对于实数类型说法正确的是()
A. double类型的数据占用字节数比decimal类型的高,所以范围表示比decimal类型要大。
B. float 类型的变量占用字节数比long类型的变量要小,所以可以将float类型的变量赋值给long类型的数据。
C. decimal类型比double类型的变量占用的字节数要大很多,所以可以将double类型的数据赋值给decimal类型。
D. decimal类型的变量不可以与double和float类型的变量之间直接赋值


24. 以下语句不可以在屏幕上输出Hello,World语句是()
A. Console.WriteLine(“Hello”+”,World”);
B. Console.Write(“Hello{0}”,”World”);
C. Console.WriteLine(“{0},{1}”,”Hello,World”);
D. Console.Write(“Hello,World”);


25. 以下强制类型转换书写不正确的是()
A. int a; double b=2.3; a=Convert.ToInt32(b);
B. int a; double b=2.3;  a=int.Parse(b);
C. char c; int a=97;   c=(char)a;
D. float a; double b=2d;  a=Convert.ToSingle(b);


26. 以下数组初始化不正确的是()
A. int[] a=new int[5]{1,2,3,4};
B. int a[]=new int[]{1,2,3,4};
C. int[] a={1,2,3,4};
D. int[]a; a=new int[]{1,2,3,4};


27. 已知如下变量decimal a=12.4m;float f=2.6f;double n=3.6d;int m=5,则正确的语句是:()
A. bool bo=(a=f)?a:f;
B. bool bo=m>n>f;
C. bool bo=true+false;
D. bool bo=true==false;


28. 假设有如下数组int[] a=new int[10];则下列不正确的是()
A. int n=5; a[n]=a[0]+a[1];
B. a[0]=1;a[1]=2;a[2]=’3’;
C. a[0]=1;a[1]=2;a[2]=”3”;
D. a[2*3]=2*3;


29. 在C#语言中,运算符"="和"=="的功能分别是(  )
A.关系运算和赋值运算
B.赋值运算和关系运算
C.都是关系运算
D.都是赋值运算


30. 两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是(    )。
  int x;
  x=int.Parse(Console.ReadLine());
  if(x++>5)  
Console.WriteLine(x);
  else  
Console.WriteLine(x - -);
  A. 7和5      B. 6和3      C. 7和4       D. 6和4


31. 为了避免嵌套的条件分支语句if-else的二义性,C语言规定:C程序中的else总是与( )组成配对关系。
A. 缩排位置相同的if      
B. 在其之前未配对的if
C. 在其之前未配对的最近的if    
D. 同一行上的if


32. 设整型变量a为5,使b不为2的表达式是( )。
A. b=a/2   
B. b=6-(--a) 
C. b=a%2   
D. b=a>3?2:1


33. 以下可以为二维数组进行赋值的是( )
 A. int[,] a=new int[,]{1,2,3,4,5,6,7,8};
B.int[,] a=new int[2,3]{{1,2},{3,4}};
C.int[,] a=new int[2,3]{{1,2,3},{1,2}};
D.int[,] a=new int[,]{{1,2,3},{4,5,6}};


34. 关于循环语句下列错误的是()
 A. for语句while语句与do while语句可以相互替换。
B. while(5){Console.WriteLine(“Hello!”);}将无限输出字符串Hello。
C.for(int i=5;i<13;i++){} 这个语句将运行8次
D.while语句中的条件必须是布尔类型的结果


35. 已知如下程序,下列选项放在空白处不能输出***的是()
void main()
{
 int x=6;
 do
 {
  Console.WriteLine(“*”);
  x--;
  --x;
 }while(_____)-----空白处
}
A. x>=1;
B. x>=2;
C. x>0;
D. x>3;


36.  C#程序设计语言属于什么类型的编程语言(   
   A.汇编语言     B.机器语言     C.高级语言     D.自然语言


37. 在C#中,表示一个字符串的变量应使用以下哪条语句定义(   
    A.CString str;    B.string str;    C.Dim str as string    D.char * str;


38. 在C#中,下列哪些语句可以创建一个具有3个初始值为””的元素的字符串数组(   
A. string StrList[3]( ””);
B. string[3] StrList = {””, ””, ””};
C. string[] StrList = {””, ””, ””};
D. string[] StrList = new string [3];


39. 关于如下程序结构的描述中,哪一项是正确的(   
for( ; ; )
{
循环体;
}
  A. 一直执行循环体,即死循环          B. 执行循环体一次
  C. 不执行循环体                      D. 程序不符合语法要求


40. 可以作为自定义标识符的是(   
A.2x    B.break
C.m-n   D.m_n

 

41.  C#语言不能选用的字母是(     )
A.  _w    B.  π    C.  Ii    D.  i


42.  属于C#语言基本数据类型的是(     )
A. 字符串型    B. 整型
C. 数组型      D. 结构型


43.  C# 语言的长整型数值在计算机中占用的字节个数是(     )
A. 8     B. 2
C. 3     D. 4


44. 下列选项中属于字符串常量的是  (   
A.  ABC    
B.  “ABC”
C. ‘abs’
D.  ‘a’


45.  设整型变量 i 的值为3 , 则表达式 i--- i 的值为(   
A.   B.  C. 2   D.  3


46. 下列代码的运行结果是:(     )
 int a = 30;
 int b = 20;
 b = a;
 a = 10;
 Console.WriteLine(a);
 Console.WriteLine(a/b);

 A、10             C、 30
                       0

 B、10             D、 10
                  1.5

 

47.  设int a=9, b=6, c  执行语句c=a/b+0. 8  后c 的值是(     )
A. 1             B. 1. 8
C. 2             D. 2. 3


48.在C#编制的财务程序中,需要创建一个存储流动资金金额的临时变量,则应使用下列哪条语句(   
    A.decimal EMoney;                   B.int EMoney;
C.string EMoney;                    D.Dim EMoney as double;


49. 设int x=10, a=0, b=25  则条件表达式x<1?a+10:b 的值是(   
A.0             B.1
C.10            D.25


50.C#语言中,下列运算符优先级最高的是(   
A.!            B.%
C.>>            D.==

 


二、 多项选择题 (本大题共5小题,每小题2分,共10分)

1、switch( ) 语句中的控制表达式可以是下面哪几种类型? (   )
integer类型          B char类型    
C string类型           D enum类型


2、在数组中,对于for 和 foreach语句,下列哪些选项中的说法正确的? ( )
foreach语句能使你不用索引就可以遍历整个数组
foreach 语句总是遍历整个数组
foreach 语句总是从索引1遍历到索引Length
如果需要修改数组元素就必须使用for语句

3、设置 int a=3。
从以下选项中,选出所有变量result的值为true的表达式。(  
  bool result = (a++>=3)         bool result=(++a>3)
  bool  result=(a= =-4)         bool result=!(a++>3)

4、通常计算机程序是由若干条语句组成的,组成程序的常用-结构分别是下列哪几种? ( 
   顺序结构           分支结构    
循环结构           跳转结构

5、下面选项(  )是C#语言中定义的循环语句类型。
  if else                     while
  switch…case       for

 

6.  在C#程序中,入口函数的正确声明为(   
A. static int Main(){……}
B. static void Main(){……}
C. static void main(){……}
D. static Main(){……}


7.  从下列选项中,选出变量result的返回值是false的表达式(   
 A. bool result = (4==5);    B. bool result=(1!=1);
C. bool result=(1==1);     D. bool result=0;


8.通常计算机程序是由若干条语句组成的,组成程序的常用结构分别是下列哪几种(   
A.顺序结构   B.分支结构   C.循环结构  D.跳转结构

9.switch( ) 语句中的控制表达式可以是下面哪几种类型(   
A.int类型
B.char类型
C.string类型
D.enum类型


10. 在数组中,对于for和foreach语句,下列哪些选项中的说法正确(   
A.foreach语句能使你不用索引就可以遍历整个数组
B.foreach 语句总是遍历整个数组
C.foreach 语句总是从索引1遍历到索引Length
D.如果需要修改数组元素就必须使用for语句

 


三、 判断题 (本大题共5小题,每小题3分,共15分)

1、在C# 编程环境中,常量的值可以在代码中被修改。(    )


2、C#程序的执行是从第一个方法开始,到Main方法结束。(  


3、Main方法的返回值类型必须是void 的类型。(   


4、else语句总是与离他最近的一个if语句相匹配。(   


5、在C#中,%运算符的两边都必须是整型的。(   


6.在C# 2008编程环境中,常量的值可以在代码中被修改。(   


7.  在C#2008编程环境中,int类型变量的位数是16位。(   
 

8.  数组的长度不能是变量  (   


9.  C# 程序中使用0表示逻辑非    )


10.  C# 关于switch 小括号中表达式可以是字符串类型    )

 

 

四、 程序阅读题 (本大题共5小题,每小题4分,共20分)

1. 写出下列程序的运行结果。

 static void Main(string [ ] args)
{
    string[] words = new string[ ] { “a”,”b”,”c”};
    foreach ( string word in words)
     {
           Console.WriteLine(word);
}
}

  答: ___________________


2. 完善如下程序:  键入10个整数,统计其中正数(neg)、负数(pos)和零(zero)的个数并将三者输出。

     int i;
     int num;
     int zeroNum = 0;
     int ____________
     int FuNum = 0;

     for (i = 1; i <= 10; i++)
     {
        Console.WriteLine("请输入第{0}个整数",i);
        string strTemp = Console.ReadLine();

        num = __________

        if (num > 0)
       
            ZengNum++;
        }
        else if (num == 0)
        {
            zeroNum++;
        }
        else
        {
            FuNum++;_
        }
}//for_end
    Console.WriteLine("正数:{0}、负数: {1}、 零:{2}", ZengNum, FuNum, zeroNum);

 

3.下列代码的功能是要遍历整个数组并将其显示出来,但是有一行代码是错误的。请检查下列代码,并在错误代码行后填入该行完整的正确代码:
  1). static void Main(string [] args)
  2).   {
  3).      string [ ] myArray = new string[ ] { “C#”, “C++”, “VB”, “java” };
  4).      for(int i = 1; i<myArray.Length -1; i++) 
  5).      {
  6).         Console.WriteLine(myArray[i]);
  7).      }
  8).  }
 

答: 第____行错误。
应改为_______________


4. 完善如下程序:求5的阶乘并输出
       int mul=        ;

       for(int i=1;i<=5;i++)
  {
   mul*=i;
  }
        Console.WriteLine(_____________);

 

5. 说明本程序的功能。

        int[] nums = new int[3];
        int max = int.MinValue;

        for (int i = 0; i < 3; i++)
        {
            string strTemp = Console.ReadLine();
            nums[i] = int.Parse(strTemp);
        }
        for (int i = 0; i < 3; i++)
        {
            if (nums[i]>max)
            {
                max=nums[i];
            }
        }
        Console.WriteLine(max);

 

 

答: ___________________

 


6. void main()
{
 int k=2,i=2,m;
 m=(k+=i*=k);
 Console.WriteLine(“{0},{1}”,m,i);
}
输出结果_________________。


7. void main()
 
char grade='C';
  switch(grade)
  {
   case 'A':
Console.WriteLine(">=85.");
break;
   case 'B':
Console.WriteLine(">=70.");
break;
   case 'C':
Console.WriteLine(">=60.");
break;
   case 'D':
Console.WriteLine("<60.");
break;
   default: 
Console.WriteLine("error.");
break;
  }
 }
输出结果_________________。


8. int[,] c = { { 1001, 90, 20, 55 }, { 1002, 80, 75,65 }, { 1003, 55, 100, 100 }, { 1004, 34,87, 88 } };
for (int i = 0; i < c.GetLength(0); i++)
{
   int sum= 0;
   for (int j = 1; j < c.GetLength(1); j++)
   {
       sum += c[i, j];
   }
   if (sum > totalmax)
   {
       totalmax = sum;
       rowIndex = i;
   }
 }
Console.WriteLine(c[rowIndex, 0]);


9. 
int[,] c = { { 90, 20, 55 }, { 80, 75,65 }, { 55, 100, 100 }, { 34,87, 88 } };
for (int j = 0; j < 4; j++)
{
   a[4, j] = a[0, j] + a[1, j] + a[2, j] + a[3, j];
   Console.WriteLine("第{0}列之和为{1}", j + 1, a[4, j]);
}

 

10.  说明本程序的功能。

 int num;
 int sum=0;
 int avg=0;

 for(int i=1;i<=10;i++){
      Console.WriteLine("请输入第{0}个整数",i);
   string strTemp=Console.ReadLine();
      num=int.Parse(strTemp);
   sum=sum+num;
 }
  avg = sum / 10;
  Console.WriteLine("平均数值={0}",avg);

 

  答: ___________________

 

11. 完善如下程序:  键入10个整数,统计其中正数(neg)、负数(pos)和零(zero)的个数并将三者输出。

     int i;
     int num;
     int zeroNum = 0;
     int ____________
     int FuNum = 0;

     for (i = 1; i <= 10; i++)
     {
        Console.WriteLine("请输入第{0}个整数",i);

  string strTemp = Console.ReadLine();

        num = __________

        if (num > 0)
       
            ZengNum++;
        }
        else if (num == 0)
        {
            zeroNum++;
        }
        else
        {
            FuNum++;_
        }
}//for_end
    Console.WriteLine("正数:{0}、负数: {1}、 零:{2}", ZengNum, FuNum, zeroNum);

 

12.说明本程序的功能。

    int sum = 0;

    for (int i=1;i<=100 ;i++ ){
       if(i%2!=0){
           sum = sum + i;
       }
       if(sum>=1000){
           sum = sum - i;
           break;
       }
    }//for_end
    Console.WriteLine("sum={0}",sum);

答: ___________________

 

13. 完善如下程序:打印输出平方值小于20000的最大整数。
       int i=0;

        while(____________<20000)
        {
            i++;
        }
        Console.WriteLine(_____________);

 

14. 说明本程序的功能。

        int[] nums = new int[3];
        int max = int.MinValue;

        for (int i = 0; i < 3; i++)
        {
            string strTemp = Console.ReadLine();
            nums[i] = int.Parse(strTemp);
        }
        for (int i = 0; i < 3; i++)
        {
            if (nums[i]>max)
            {
                max=nums[i];
            }
        }
        Console.WriteLine(max);

 

 

答: ___________________

 

 

五、 编程题 (本大题共4小题,每小题10分,共40分) 

1.  定义一个数组,初始化5个数值,打印输出最大数,平均数。

2.  求1-100的和,但不包括个位数为3的数。

3.  有十个数放入数组中,用户输入一个数值,找出这个数值在本数值中的序号,如果没有输出“不存在”!

4.  键盘输入十个数值,统计输出大于等于平均数的数值。

5、 输出数组 arrylist a=[0,1,2,3,4,5,6,7,8,9,] 中的最大值、最小值以及他们的下标。

6、 已知有5个元素的数组a,请书用冒泡排序法将其排序

7、 编程实现以下功能:读入两个运算数(datal和data2)及一个运算符(op),计算表达式data1 op data2的值,其中op可为+,-,*,/(用switch语句实现);

8、将用户输入的字符串中的小写字母换成大写,大写换成小写,其余不变,并且输出。


9.  输出1-100 之间不能被6整除的全部数字。


10. 键盘输入十个数值,统计输出大于等于平均数的数值。


11.  定义一个数组,初始化20个数值,打印输出最大数,最小数,平均数。


12.  门票系统:
   1)创建姓名、年龄数组。
   2)当age<16,     “儿童票”。
       当16<=age<70,“成人票”。
       当70<=age,   “老年票”。
   3)打印出姓名和对应的票。

 


C#复习题
小BOBI2010.01.03

 

伯利兹城普拉森舍

洪都拉斯首都

2

这个沙漠半岛位于伯利兹城的南边,是一块未被大多数旅游者发现的“璞玉”。除了少数迷路的背包客和头昏眼花的嬉皮士外,和当地的村民们一起放松是一次少见的愉悦之旅。离海岸线不远处,还有更多未被发现的小岛,在当地旅游团的带领下,你可以轻易地去拜访它们。

在非洲,最终极的体验莫过于在人类鲜少踏足的地方,和那些野生动物们进行面对面的接触。在这片浓密的非洲雨林里,其中一个挑战就是发现自己成为异类,身处一群闲逛的猩猩中间。

1

阿尔及利亚哈啦大沙漠

远足的艰辛

非洲北部,西起大西洋东岸,东至红海之滨,横亘着一片浩瀚的沙漠。后来通指大荒漠。

曾经,撒哈拉是男性伟岸的代名词,深入无人区深处探险消耗了欧洲人半世纪的梦想。,毕竟,花费差不多3000美元就可以完成一次对体力和智力双重挑战的冒险,况且还是如此奇异而刺激——实在不算昂贵。

C#复习题

01

C#复习题

02




0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有