51Testing软件测试论坛

标题: c#测试笔试题 [打印本页]

作者: pkiqq    时间: 2011-9-20 15:49
标题: c#测试笔试题
1.如果设treeView1=new TreeView(),TreeNode node=new TreeNode("根结点" ),则treeView1.Nodes.Add(node)返回的是一个 ( B )类型的值。(单选)
A. TreeNode;
B. int;
C. string;
D. TreeView;
2.class Class1
  {
        public static int Count = 0;
        static Class1()
        {
            Count++;
        }
        public Class1()
        {
            Count++;
        }
}

  class test
  {
        public static void Main()
        {
            Class1 o1 = new Class1();
            Class1 o2 = new Class1();
            Console.WriteLine(Class1.Count.ToString());
        }
}
 请问,Class1.Count的值是多少?(  C )
a. 1
b. 2
c. 3
d. 4
3.如下程序的运行结果是:( A  )
public abstract class A
{
   public A()
   {
      Console.WriteLine(''A'');
   }
   public virtual void Fun()
   {
       Console.WriteLine("A.Fun()");
   }
}
public class B: A
{
    public B()
    {
        Console.WriteLine(''B'');
    }
    public new void Fun()
    {
        Console.WriteLine("B.Fun()");
    }
    public static void Main()
    {
        A a = new B();
        a.Fun();
    }
}

A. A B A.Fun()
B. A B B.Fun()
C. B A A.Fun()
D. B A B.Fun()

4.以下是一些C#中的枚举型的定义,其中错误的用法有( A )
A.public enum var1{ Mike = 100, Nike = 102, Jike=“abc”}
B.public enum var1{ Mike = 100, Nike, Jike }
C.public enum var1{ Mike=-1 , Nike, Jike }
D.public enum var1{ Mike , Nike , Jike }
5.在ADO.NET中,对于Command对象的ExecuteNonQuery()方法和ExecuteReader()方法,下面叙述错误的是(  C )。
A.insert、update、delete等操作的Sql语句主要用ExecuteNonQuery()方法来执行;
B.ExecuteNonQuery()方法返回执行Sql语句所影响的行数。
C.Select操作的Sql语句只能由ExecuteReader()方法来执行;
D.ExecuteReader()方法返回一个DataReder对象;
6.在ADO.NET中执行一个存储过程时,如果要设置输出参数则必须同时设置参数的方向和( D ),必要时还要设置参数尺寸。
A大小;            
B上限;              
C初始值;            
D类型;
7分析如下的C#代码段,运行后将输出(        C        )                (选择一项)
        ArrayList arrnum = new ArrayList();
        for(int i = 0; i<17; i++){
                arrnum.Add (i);
}
arrnum.RemoveAt(1);
Console.WriteLine(arrnum.Capacity);
Console.WriteLine(arrnum.Count  );


A.        8
16
B.        16
16
C.        32
16
D.        32
17
8.在下面的例子里
using System;
class A
{
    public A()
    {
        PrintFields();
    }
    public virtual void PrintFields() { }
}
class B : A
{
    int x = 1;
    int y;
    public B()
    {
        y = -1;
    }
    public override void PrintFields()
    {
        Console.WriteLine("x={0},y={1}", x, y);
    }
}
public class test
{
   
    static void Main()
    {
        B b = new B();
        b.PrintFields();
    }
}
调用b.PrintFields(),产生什么输出(  D  )

A.X=1,Y=0
B.X=0,Y=0
C.X=1,Y=1
D.X=1,Y=-1
作者: pkiqq    时间: 2011-9-20 15:52
9.下面的例子中
using System;
class A
{
    public static int X;
    static A()
{
       X=B.Y+1;
    }
}
class B
{
    public static int Y=A.X+1;
    static B(){}
    static void Main()
{
Console.WriteLine("X={0},Y={1}",A.X,B.Y);
}
}
产生的输出结果是( C )
A.X=1,Y=1
B.X=2,Y=2
C.X=1,Y=2
D.X=2,Y=1
10.在C#中,下列代码的运行结果是( C )。
using System;
public enum Level
{
       high, middle, low
}
public class Teacher
{
        public Level tealLevel;
        public Teacher(Level lev)
        {
           this.tealLevel = lev;
        }
    static void Main()
    {
        Teacher tea = new Teacher(Level.middle);
        Console.WriteLine((int)tea.tealLevel);
    }
}
(选择一项)
A.-1
B.0
C.1
D.2
11下列代码运行的结果是( A )
using System;
class Test
{
    static void Main()
    {
        vehicle ve = new vehicle(100);
        ve.move();
    }
}
public class vehicle
{
    protected float Speed;
    public vehicle(float speed)
    {
    }
    public virtual void move()
    {
        Console.WriteLine("我的移动速度是: {0}", this.Speed);
    }
}
A.我的移动速度是:0
B.我的移动速度是:100
C.我的运行速度是:0
D.我的运行速度是:100
12.在C#中,下列代码的运行结果是( B )。
using System;
namespace abc
{
    class Test
    {
        static void Main()
        {
            Student stu = new Student(105);
            Console.WriteLine(stu.Age);
            stu.Age = 100;
            Console.WriteLine(stu.Age);
        }
    }
    public class Student
    {
        private int _age = 10;
        public int Age
        {
            get
            {
                return this._age;
            }
            set
            {
                if (value > 0 && value <= 100)
                    this._age = value;
            }
        }
        public Student(int age)
        {
            this._age = age;
        }
    }
}
(选择一项)
A. 10
  100
B. 105
100
C. 100
  105
D.10
105
作者: pkiqq    时间: 2011-9-20 15:53
13.在C #中,下列代码的运行结果是( C )。
        class PayBill
{
        public static int add(int a,int b)
        {
                return a*b;
}
public static int add(int a,int b,int c)
{
        int d=add(a,b);
        return d+c;
}
static void Main()
{
        int a=1,b=3,c=5;
        int d=add(a,b+c,c);
        Console.WriteLine(d);
}
}        (选择一项)
A.        9       
B.                12
C.                13
D.                15
14.在C #中,下列代码的运行结果是( C  )。
static void Main()
{
        int [] num=new int[]{1,2,3,4,5};
        Array.Reverse(num);
        foreach(int i in num)
{
         Console.Write(i);
}
}        (选择一项)
A.        00000
B.                12345
C.        54321
D.        不确定
15.以下关于C# 代码的说法正确的是(  C )。
class MyAnimals
{
        private int bodyTemp = 98;
        public int BodyTemp
{
        get
{
        return bodyTemp;                //1
}
}
}
public class Test
{
        Static void Main()
        {
                MyAnimals a = new MyAnimals();
                Console.WriteLine(a.BodyTemp);                //2
                a.BodyTemp = 56;                                        //3
}
}
A.        代码1错误
B.        代码2错误
C.        代码3错误
D.        代码4错误

16.在C#中,下列代码的运行结果是( B )。
using System;
class Test
{
    private int _bodyTemp = 98;
    public int BodyTemp
    {
        get
        {
            return _bodyTemp;
        }
        set
        {
            _bodyTemp = value;
        }
    }
    static void Main(string[] args)
    {
        Test a = new Test();
        a.BodyTemp = 56;
        Console.WriteLine(a._bodyTemp);
    }
}      

A.        0
B.        56
C.        98
D.        编译错误
17.在C#中,下列代码的运行结果是( B )。
using System;
using System.Collections;
public class abc
{
    static void Main()
    {
        Hashtable hsStu = new Hashtable();
        hsStu.Add(3, "A");
        hsStu.Add(2, "B");
        hsStu.Add(1, "C");
        hsStu.Remove(1);
        Console.WriteLine(hsStu[2]);
    }
}  
A.2
   B.B
   C.1
   D.C
18.在C#中,下列结构或者类定义正确的是( B )。(选择一项)
A.        public struct Person{
                        string name;
                        int age;
                        public void ShowName()
{
                        Console.WriteLine(name);
}
}
B.        public struct Person{
                        string name;
                        int age;
                        public Person ()
{
                        Console.WriteLine(name);
}
}
C.        public class Person{
                        string name;
                        int age;
                        public Person ()
{
                                Console.WriteLine(name);
}
}
D.        public class Person{
                        string name;
                        int age;
                        public void Person (string name)
{
                        Console.WriteLine(name);
}
}
作者: pkiqq    时间: 2011-9-20 15:53
19.在C#中,关于构造函数的说法正确的是(         A        )                (选择一项)
A.        在一个类中允许有多个构造函数,构造函数在创建对象时调用
B.        在一个类中允许有多个不同名称的构造函数
C.        一个类至少声明有一个构造函数
D.        一个类只能有一个构造函数
20.在C#中,下列代码的运行结果是(        D        )                        (选择一项)
        public class DaysInYear{
        private int days;
        static void Main(String[] args){
        DaysInYear newDaysInYear = new DaysInYear();
        Console.WriteLine(newDaysInYear.days-1);
}
}
A.        -1
B.        0
C.        1
D.        编译报错
21.在C#中,下列代码的运行结果是(        C        )(选择一项)
        int[] names = new int[]{4,3,2,1};
        Array.Sort(names,1,3);
        foreach(int name in names){
                Console.Write(name);
}
A.        4321
B.        1234
C.        4123
D.        3214

22.在C#中,下列(         A        )关键字用于重写基类的虚拟方法.                (选择一项)
A.        override
B.        new
C.        base
D.        virtual
23.下列关于C#的异常处理的说法,错误的是(        AC        )                (选择二项)
        A        try块必须跟catch块组合使用。
        B        一个try块可以跟随多个catch块
        C        使用throw语句既可引发系统异常,也可引发由开发人员创建的自定义异常
        D        在try…catch…finally块中,即便开发人员编写强制逻辑代码,也不能跳出finally块的执行
24. 在C #中,下列代码的运行结果是( C )。
        class PayBill
{
        public static int add(int a,int b)
        {
                return a*b;
}
public static int add(int a,int b,int c)
{
        int d=add(a,b);
        return d+c;
}
static void Main()
{
        int a=1,b=3,c=5;
        int d=add(a,b+c,c);
        Console.WriteLine(d);
}
}       

(选择一项)

                A        9       

B  12

                C        13

D        15

25. 在.NET框架中,CLS是指( C )。        (选择一项)
        A        即时编译
B        垃圾回收
        C        共同语言规范
D        公共类型系统
26.在C#中,关于属性的说法正确的是( C  )。(选择一项)
        A         属性可以是只读的
B        属性可以是只写的
        C        属性可以是可读可写的
D        属性不能只是可写的
作者: pkiqq    时间: 2011-9-20 15:54
27.已知在一个名为“dsOrder”的数据集中有一个名为“order”的表,在“order”表中有一行一列,下列( A )能够正确访问该表记录的第一行第一列的值。(选择一项)
        A        disOrder[“order”].Rows[0][0];
B        disOrder.Tables[0].Rows[0][0];
        C        disOrder.Tables[0].Columns[0][0];
D        disOrder[“order”]. Columns [0][0];
28.在C#中,下列代码的运行结果是( C )。(选择一项)
int [] age=new int []{16,18,20,14,22};
foreach(int i in age)
{
        if(i>18)
                continue;
Console.Write(i.ToString());
}
        A        16 18 20 14 22
B        16 18 14 22
        C        16 18 14
D        16 18
29  在C#类中,可以通过编写(  CD )实现方法重载。(选择二项)
   A 具有不同返回类型的同名函数
   B 具有不同代码行数的同名函数
   C 具有不同参数个数的同名函数
   D 具有不同参数类型的同名函数

30. 请问输入结果是:(  C )
namespace ConsoleApplication1
{
    interface I1
    {
    }
    class Class1:I1
    {
    }

    class IsTest
    {
        static void Test(object o)
        {
            if (o is Class1)
            {
                Console.WriteLine("o is Class1");
            }
             if (o is I1)
            {
                Console.WriteLine("o is I1");
            }
        }
        static void Main()
        {
            Class1 c1 = new Class1();
            Test(c1);
        }
    }
}
A  o is Class1
B  o is I1
C  o is Class1
   o is I1
D  错误

31  请选择输出结果( A )
namespace I_5
{
    public interface I_A
    {
        string GetUrl();
        string GetName();
    }

    class demo1:I_A
    {
        public virtual string GetUrl()
        {
            return "www.baidu.com";
        }

        public virtual string GetName()
        {
            return "百度";
        }
}

    class demo4:demo1
    {
        public new string GetUrl()
        {
            return "cn";
        }
        public new string GetName()
        {
            return "中文域名";
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            demo1 d4 = new demo4();
            Console.WriteLine(d4.GetName());
            Console.WriteLine(d4.GetUrl());
        }
    }
}
A  百度
www.baidu.com  
B  中文域名
      cn
C  错误
作者: pkiqq    时间: 2011-9-20 15:54
32 在ADO.NET中,下列( C )组件不属于.NET数据提供程序。        (选择一项)
        A        Command       
B        DataReader
        C        DataSet
D        DataAdapter

33 在C#中,下列代码的运行结果是( C )。
public class Test{
        struct Point
{
        public int x;
}
static void Main(){
         Point p1,p2;
         p1.x=10;
p2=p1;
p1.x=20;
Console.WriteLine(“{0},{1}”,p1.x,p2.x);
}
}       

(选择一项)
        A        10,10       
B        10,20
        C        20,10
D        20,20

34  在C#中,下列代码运行后,变量Max的值是( D )。
int a=5,b=10,Max=0,c=15;
Max=a>b?a:b;
Max=c>Max?c:Max;(选择一项)
        A        0
B        5
        C        10
D        15

35  在ADO.NET中,有以下四条代码,你认为它们最可能的编写顺序是( C )。
SqlConnection sqlCon=new SqlConnection();//(1)
sqlCon.Close();                        //(2)
sqlCon.Connection String=”Server=.;DataBase=pubs;uid=sa;pwd=pwd”;//(3)
sqlCon.Open();                                              //(4)               (选择一项)
        A        1,2,3,4       
B        1,3,2,4
        C        1,3,4,2
D        4,3,2,1

36 在ADO.NET中,下列可以作为DataGrid控件的数据源的是(  D )。
   1.DataSet
   2.DataTable
   3.DataView(选择一项)

   A  1和2
   B  1和3
   C  2和3
   D  1、2、3都可以
作者: pkiqq    时间: 2011-9-20 15:55
37 在C#中,下列代码的运行结果是( D )。(选择一项)
     int count;
     for(count=0;count<5;count++)
     {
        count++
   }
   Console.WriteLine(count);
   A  0
   B  4
   C  5
   D  6

38 在C#中,下列代码的运行结果是( C )。
int[]num=new int[]{3,4,5,3,8};
int index=Array.LastIndexOf(num,3);
Console,WriteLine(index);
A.        0
B.        1
C.        3
D.        4

39  CLR为.NET提供以下方面的功能或者服务,除了( D  )。(选择一项)
   A        垃圾回收
   B         代码验证和类型安全
   C         代码访问安全
   D         自动消除程序中的语法错误
40下列关于ADO.NET的特点说法错误的是( B )。(选择一项)
   A        在ADO.NET中,数据是以XML格式存储的,具有较好的互操作性
   B         ADO.NET采用断开式数据结构,这增加了服务器的开销
   C         在ADO.NET中,可以使用C#、VB.NET等语言编写程序
   D         ADO.NET的性能比ADO好
作者: pkiqq    时间: 2011-9-20 15:55
1. 有关系S(S#,SNAME,SAGE),C(C#,CNAME),SC(S#,C#,GRADE)。其中S#是学生号,SNAME是学生姓名,SAGE是学生年龄, C#是课程号,CNAME是课程名称。要查询选修“ACCESS”课的年龄不小于20的全体学生姓名的SQL语句是SELECT SNAME FROM S,C,SC WHERE子句。这里的WHERE子句的内容是(A )。
A. S.S# = SC.S# and C.C# = SC.C# and SAGE>=20 and CNAME=‘ACCESS’
B. S.S# = SC.S# and C.C# = SC.C# and SAGE in>=20 and CNAME in ‘ACCESS’
C. SAGE in>=20 and CNAME in ‘ACCESS’
D. SAGE>=20 and CNAME=’ ACCESS’
2. 设关系数据库中一个表S的结构为S(SN,CN,grade),其中SN为学生名,CN为课程名,二者均为字符型;grade为成绩,数值型,取值范围0-100。若要把“张二的化学成绩80分”插入S中,则可用(D )。
A. ADD
INTO S
VALUES(’张二’,’化学’,’80’)
B. INSERT
INTO S
VALUES(’张二’,’化学’,’80’)
C. ADD
INTO S
VALUES(’张二’,’化学’,80)
D. INSERT
INTO S
VALUES(’张二’,’化学’,80)
3. 设关系数据库中一个表S的结构为:S(SN,CN,grade),其中SN为学生名,CN为课程名,二者均为字符型;grade为成绩,数值型,取值范围0-100。若要更正王二的化学成绩为85分,则可用( A) 。
A. UPDATE S
SET grade=85
WHERE SN=’王二’ AND CN=’化学’
B. UPDATE S
SET grade=’85’
WHERE SN=’王二’ AND CN=’化学’
C. UPDATE grade=85
WHERE SN=’王二’ AND CN=’化学’
D. UPDATE grade=’85’
WHERE SN=’王二’ AND CN=’化学’
4. 在SQL语言中,子查询是(D ) 。
A. 返回单表中数据子集的查询语言
B. 选取多表中字段子集的查询语句
C. 选取单表中字段子集的查询语句
D. 嵌入到另一个查询语句之中的查询语句
5. SQL是一种( C)语言。
A. 高级算法 B. 人工智能
C. 关系数据库 D. 函数型
作者: pkiqq    时间: 2011-9-20 15:56
根据题意写出对应的SQL 脚本。
问题描述:
一、为管理岗位业务培训信息,建立3个表:
S (S#,SN,SD,SA)   S#,SN,SD,SA 分别代表学号、学员姓名、所属单位、学员年龄
C (C#,CN )        C#,CN       分别代表课程编号、课程名称
SC ( S#,C#,G )    S#,C#,G     分别代表学号、所选修的课程编号、学习成绩
要求实现如下5个处理:
  1. 使用标准SQL嵌套语句查询选修课程名称为’税收基础’的学员学号和姓名
  2. 使用标准SQL嵌套语句查询选修课程编号为’C2’的学员姓名和所属单位
  3. 使用标准SQL嵌套语句查询不选修课程编号为’C5’的学员姓名和所属单位
  4. 使用标准SQL嵌套语句查询选修全部课程的学员姓名和所属单位
  5. 查询选修了课程的学员人数
  6. 查询选修课程超过5门的学员学号和所属单位
1. 使用标准SQL嵌套语句查询选修课程名称为’税收基础’的学员学号和姓名

--实现代码:
SELECT SN,SD FROM S
WHERE [S#] IN(
    SELECT [S#] FROM C,SC
    WHERE C.[C#]=SC.[C#]
        AND CN=N'税收基础')
2. 使用标准SQL嵌套语句查询选修课程编号为’C2’的学员姓名和所属单位

--实现代码:
SELECT S.SN,S.SD FROM S,SC
WHERE S.[S#]=SC.[S#]
    AND SC.[C#]='C2'

3. 使用标准SQL嵌套语句查询不选修课程编号为’C5’的学员姓名和所属单位

--实现代码:
SELECT SN,SD FROM S
WHERE [S#] NOT IN(
    SELECT [S#] FROM SC
WHERE [C#]='C5')
4. 使用标准SQL嵌套语句查询选修全部课程的学员姓名和所属单位
--实现代码:
SELECT SN,SD FROM S
WHERE [S#] IN(
    SELECT [S#] FROM SC
        RIGHT JOIN C ON SC.[C#]=C.[C#]
    GROUP BY [S#]
    HAVING COUNT(*)=COUNT(DISTINCT [S#]))

5. 查询选修了课程的学员人数
--实现代码:
SELECT 学员人数=COUNT(DISTINCT [S#]) FROM SC
6. 查询选修课程超过5门的学员学号和所属单位
--实现代码:
SELECT SN,SD FROM S
WHERE [S#] IN(
    SELECT [S#] FROM SC
    GROUP BY [S#]
HAVING COUNT(DISTINCT [C#])>5)

二、假设有如下三个关系模式:
  商场表:m(mno,mname,city) 各属性含义依次为商场号、商场名和商场所在城市;主键为商场号。
  商品表:p(pno,pname,city,color)各属性含义依次为商品号、商品名、产地和商品颜色;主键为商品号。
销售表:s(mno,pno,qty)各属性含义依次为商场号、商品号和销售数量。主键为(商场号,商品号)
  基于以上关系模式回答以下问题:
  1.试用sql语句写出下列查询:
  检索商场号为m1的商场所销售的商品的商品名称、销售数量。
Select p.pname,s.qty from s
Inner join p on s.pno=p.pno
Inner join m on s.mno=m.mno
where m.no=m1
  2.试用sql语句写出下列查询:
  检索上海市所有商店各种商品的平均销售量。
Select p.pname,avg(s.qty) from s
Inner join p on s.pno=p.pno
Inner join m on s.mno=m.mno
Where m.city=’上海’
  3.试用sql语句实现下列查询:
  销售了红色商品的商场号、商品号和数量。(要求用嵌套子查询完成)
Select m.no,p.pno,s.qty from s
Where s.pno=(Select p.pno ftom pWhere p.color=’红色’)
  
作者: 523015006    时间: 2011-9-24 16:34
还是懂编程好啊
作者: liiiih    时间: 2011-9-25 14:35
就是啊 测试还是要懂编程的好  加紧学习啊
作者: 潇雨    时间: 2011-9-26 10:17
是的,懂编程真好,要好好学习!




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2