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 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 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);
}
}
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);
}
} 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
B12
C 13
D 15
25. 在.NET框架中,CLS是指( C )。 (选择一项)
A 即时编译
B 垃圾回收
C 共同语言规范
D 公共类型系统
26.在C#中,关于属性的说法正确的是( C)。(选择一项)
A 属性可以是只读的
B 属性可以是只写的
C 属性可以是可读可写的
D 属性不能只是可写的 27.已知在一个名为“dsOrder”的数据集中有一个名为“order”的表,在“order”表中有一行一列,下列( A )能够正确访问该表记录的第一行第一列的值。(选择一项)
A disOrder[“order”].Rows;
B disOrder.Tables.Rows;
C disOrder.Tables.Columns;
D disOrder[“order”]. Columns ;
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);
}
}
}
Ao is Class1
Bo is I1
Co 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错误 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(选择一项)
A1和2
B1和3
C2和3
D1、2、3都可以 37 在C#中,下列代码的运行结果是( D )。(选择一项)
int count;
for(count=0;count<5;count++)
{
count++
}
Console.WriteLine(count);
A0
B4
C5
D6
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
39CLR为.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好 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. 函数型 根据题意写出对应的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 IN(
SELECT FROM C,SC
WHERE C.=SC.
AND CN=N'税收基础')
2. 使用标准SQL嵌套语句查询选修课程编号为’C2’的学员姓名和所属单位
--实现代码:
SELECT S.SN,S.SD FROM S,SC
WHERE S.=SC.
AND SC.='C2'
3. 使用标准SQL嵌套语句查询不选修课程编号为’C5’的学员姓名和所属单位
--实现代码:
SELECT SN,SD FROM S
WHERE NOT IN(
SELECT FROM SC
WHERE ='C5')
4. 使用标准SQL嵌套语句查询选修全部课程的学员姓名和所属单位
--实现代码:
SELECT SN,SD FROM S
WHERE IN(
SELECT FROM SC
RIGHT JOIN C ON SC.=C.
GROUP BY
HAVING COUNT(*)=COUNT(DISTINCT ))
5. 查询选修了课程的学员人数
--实现代码:
SELECT 学员人数=COUNT(DISTINCT ) FROM SC
6. 查询选修课程超过5门的学员学号和所属单位
--实现代码:
SELECT SN,SD FROM S
WHERE IN(
SELECT FROM SC
GROUP BY
HAVING COUNT(DISTINCT )>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=’红色’)
还是懂编程好啊 就是啊 测试还是要懂编程的好加紧学习啊 是的,懂编程真好,要好好学习!
页:
[1]