《C#程序设计》高级程序设计.docx
- 文档编号:25202576
- 上传时间:2023-06-06
- 格式:DOCX
- 页数:19
- 大小:57.83KB
《C#程序设计》高级程序设计.docx
《《C#程序设计》高级程序设计.docx》由会员分享,可在线阅读,更多相关《《C#程序设计》高级程序设计.docx(19页珍藏版)》请在冰豆网上搜索。
《C#程序设计》高级程序设计
《C#程序设计》
一、单项选择题
1.下面(B)是合法的变量名。
A.accp5.0B._CsharpC.99sD.Main
2.下面这段代码的输出为(A)
A.进入了ifB.进入了if,进入了else
C.进入了elseD.进入了if,进入了elseif,进入了else
intyear=2046;
if(year%2==0)
{Console.WriteLine("进入了if");}
elseif(year%3==0)
{Console.WriteLine("进入了elseif");}
else
{Console.WriteLine("进入了else");}
Console.ReadLine();
3.下面程序的输出结果是(D)
A)1B)2C)4.5D)4
staticvoidMain(string[]args)
{inta=5,b=2;
floatx=4.5f,y=3.0f,u;
u=a/3+b*x/y+1/2;
Console.WriteLine("{0}",u);
Console.ReadLine();
}
4.运行下面这段代码的结果为(B)
A.去上课B.去上课,聚餐,逛街,睡觉
C.什么都不输出D.编译出错
stringday="星期一";
switch(day)
{case"星期一":
case"星期三":
case"星期五":
Console.Write("去上课");
case"星期六":
Console.Write(",聚餐");
case"星期日":
Console.Write(",逛街");
default:
Console.WriteLine(",睡觉");
}
Console.ReadLine();
5.分析下面这段代码,执行后count的值为(B)
inti,j,count=0;
for(i=0;i<4;i++)
for(j=0;j<6;j++){count++;}
A.15B.24C.20D.21
6.程序运行后的输出结果是(C)
A)1,1,2B)2,2,1C)1,3,2D)2,2,3
staticvoidMain(string[]args)
{inti=1,j=2,k=2;
if(j++>0||k++>0&&i++>0)
Console.WriteLine("{0},{1},{2}",i,j,k);
Console.ReadLine();
}
7.若想打印如下图案,下面代码划线处应分别填入(D)。
***
***
***
inti=1,j;
while(i<)
{for(j=0;j<;j++){Console.Write(“*”);}
Console.WriteLine();
i++;
}
A.33B.44C.34D.43
8.以下代码运行后显示的结果是(C)。
stringmyGrade="S1";
stringyourGrade="S1";
Console.WriteLine(myGrade==yourGrade);
Console.WriteLine(myGrade.Equals(yourGrade));
A.TrueB.FalseC.TrueD.False
FalseTrueTrueFalse
9.程序运行后的输出结果是(C)
A)5B)4C)6D)不确定
staticvoidMain(string[]args)
{inta=5,b=4,c=6,d;
d=a>b?
(a>c?
a:
c):
(b);
Console.WriteLine("{0}",d);
Console.ReadLine();
}
10.运行下面这段代码,将(B)
staticvoidMain(string[]args)
{
intmile=0;
Run(mile);
Console.WriteLine(mile);
Console.ReadLine();
}
privatestaticvoidRun(refintmile)//ref相当于指针
{
mile=mile+80;
Console.WriteLine(mile);
}
A.输出:
800B.输出:
800C.输出:
0D.编译出错
0800800
11.用户单击消息框(MessageBox)的按钮时的返回值是(A)类型的。
A.DialogValueB.DialogBoxC.MessageResultD.DialogResult
12.有以下程序段,其输出结果是(C)
intx=3;
do{Console.Write("{0}\t",x-=2);
}while((--x)==0);
A)1B)30C)1-2D)死循环
13.图1-1窗体中,不包含(B)控件。
A.TextBoxB.ComboBoxC.PanelD.Button
14.(A)控件用于显示多个选项卡,每个选项卡均可包含图片和其他控件。
A.TabControlB.GroupBoxC.ImageListD.ListBox
15.有以下程序段,其输出结果是(C)
intx=3;
while((--x)==0){Console.Write("{0}\t",x-=2);}
A)不执行循环体B)1C)0D)死循环
16.下面()可以显示一个模式窗体。
A.Application.Run(newForm1());B.Form1.Show()
C.Form1.ShowDialog()D.MessageBox.Show()
17.如果想建立应用程序与数据库的连接,应该使用(B)对象。
A.ConnectionB.CommandC.DataReaderD.DataAdapter
18.以下叙述正确的是(D)
A)do-while语句构成的循环不能用其他语句构成的循环来代替
B)do-while语句构成的循环只能用break语句退出
C)do-while语句构成的循环,在while后的表达式为真时结束循环
D)do-while语句构成的循环,在while后的表达式为假时结束循环
19.下面的代码在执行过程中,注释标注的地方出现了异常,将显示(C)消息框。
A.执行了catchB.执行了catch,执行了finally
C.执行了try,执行了finallyD.执行了finally
try
{//...异常代码
MessageBox.Show("执行了try");
}
catch(Exceptione)
{MessageBox.Show("执行了catch");}
finally
{MessageBox.Show("执行了finally");}
20.某超市管理系统的数据库中有一个商品信息表,若想向数据表中添加一条商品信息,应使用Command对象的(D)方法。
A.ExecuteScalar()B.ExecuteReader()C.ExecuteQuery()D.ExecuteNonQuery()
21.以下循环体的执行次数是(C)
A)3B)2C)1D)0
staticvoidMain(string[]args)
{inti,j;
for(i=0,j=1;i<=j+1;i+=2,j--)
{Console.WriteLine("{0}",i);
}
Console.ReadLine();
}
22.利用Command对象的ExecuteNonQuery()方法执行INSERT、UPDATE或DELETE语句时,返回(C)。
A.True或FalseB.1或0C.受影响的行数D.-1
23.在ADO.NET中,对于Command对象的ExecuteReader()方法和ExecuteNonQuery()方法,下面叙述错误的是()
A.INSERT、UPDATE或DELETE等操作的SQL语句主要用ExecuteNonQuery()方法来执行
B.ExecuteNonQuery()方法返回执行SQL语句所影响的行数
C.SELECT操作的SQL语句只能由ExecuteReader()方法来执行
D.ExecuteReader()方法返回一个DataReader对象
24.以下程序的输出结果是(D)
A)10192B)9876
C)10990D)101091
staticvoidMain(string[]args)
{intx=10,y=10,i;
for(i=0;x>8;y=++i)
{Console.Write("{0}{1}",x--,y);
}
Console.ReadLine();
}
25.使用(D)对象来向DataSet中填充数据。
A.ConnectionB.CommandC.DataReaderD.DataAdapter
26.使用()对象可以用只读的方式快速访问数据库中的数据。
A.DataSetB.DataReaderC.DataAdapterD.Connection
27.以下程序的执行结果是(A)
A)4B)2C)1D)0
staticvoidMain(string[]args)
{inti,j,m=0,n=0;
for(i=0;i<2;i++)
{for(j=0;j<2;j++)
if(j>=i)m=1;
n++;
}
Console.WriteLine("{0}",n);
Console.ReadLine();
}
28.从数据库读取记录我们不可能用到的方法是(C)
A.ExecuteScalarB.ExecuteReaderC.ReadD.ExecuteNonQuery
29.有一个WinForms应用程序,在程序中已经创建了一个数据集dataSet和一个数据适配器dataAdapter,现在想把数据库中的Friends表中的数据放在dataSet中的MyFriends表中,下面(A)语句正确的。
A.dataAdapter.Fill(dataSet,“MyFriends”);
B.dataAdapter.Fill(dataSet,“Friends”);
C.dataAdapter.Update(dataSet,“MyFriends”);
D.dataAdapter.Update(dataSet,“Friends”);
30.以下程序的执行结果是(D)
A)00010000B)00010010C)00000110D)00010100
staticvoidMain(string[]args)
{inti=0,y=18,j;
int[]a=newint[8];
do
{a[i]=y%2;
i++;
y=y/2;
}while(y>=1);
for(j=a.Length-1;j>=0;j--)
{Console.Write("{0}",a[j]);
}
Console.WriteLine();
Console.ReadLine();
}
二、多项选择题
略
三、填空题
1.控制控件是否显示的属性是Visible。
2.指定是否允许编辑文本框中的文本,设置文本框的Text属性。
3.向方法中传递参数,包括值参数和引用型参数传递两种方式。
其中引用型参数传递需要使用ref关键字修饰参数。
4.C#中使用using关键字引用命名空间。
5.利用VS创建的窗体都是类,用Partail关键字标识。
6.若要在窗体标题栏中显示文本,应指定Text属性。
7.使用Message.Show()方法可以显示消息框,消息框的返回值是一个类型。
8.如想使控件始终保持在窗体的边缘或填充窗体,应设置该控件的Location属性。
9.MDI(多文档界面)主要由两种窗口组成:
父窗体和子窗体。
10.窗口有两种显示方式:
窗口和窗口。
显示第一种窗口使用方法,显示第二种窗口使用方法。
11.ADO。
NET提供了两个主要组件,分别是和。
12.使用DataReader查询数据记录,通过Command对象的ExecuteReader()方法返回一个对象。
13.使用DataReader读取数据时,每次调用方法读取一行数据。
14.使用Command对象的方法对数据进行增删改的操作。
15.使用DataAdapter的方法填充DataSet,使用方法把DataSet中修改过的数据返回给数据库。
16.下面程序的输出结果是8
staticvoidMain(string[]args)
{
inta=0;
a+=(a=8);
Console.WriteLine(a);
Console.ReadLine();
}
17.以下程序执行后的输出结果是24
staticvoidMain(string[]args)
{int[]data={11,13,14,15,16,17,18};
inti=0,k=0;
while(i<7&&data[i]%2!
=0)
{k=k+data[i];
i++;
}
Console.WriteLine("{0}",k);
Console.ReadLine();
}
简答题
第3章
1.简述C#中有哪些数据类型
答案:
C#中的数据类型有:
整数类型,字符类型,布尔类型,实数类型,结构类型,枚举类型,类,委托,数组,接口。
2.简述C#中结构类型和枚举类型的声明方法
答案:
结构类型是由若干的“成员”组成的,数据成员称为字段,每个字段都有自己的数据类型,声明结构类型的一般格式如下:
Struct结构类型名称
{【字段访问修饰符】数据类型字段1;
【字段访问修饰符】数据类型字段2;
......
【字段访问修饰符】数据类型字段n;
};
其中struct是关键字,字段访问修饰符主要取值有public,private。
3.简述C#中常用类的静态方法和非静态方法的差异
答案:
对于静态方法:
只能通过类名来调用,而对于非静态方法:
需通过类对象来调用。
第5章
1.简述C#中一维数组定义和初始化方法
答案:
定义一维数组的格式如下:
数组类型【】数组名;
其中,“数据类型”为C#中合法的数据类型,“数组名”为C#中合法的标识符。
一维数组的初始化有两种:
动态初始化,数组类型【】数组名=new数组类型【n】{元素值0,元素值1,元素值2......元素值n-1},
静态初始化,数组类型【】数组名={元素值0,元素值1,元素值2......元素值n-1}。
2.简述C#中二维数组定义和初始化方法
答案:
定义一维数组的格式如下:
数组类型【,】数组名;
其中,“数据类型”为C#中合法的数据类型,“数组名”为C#中合法的标识符。
一维数组的初始化有两种:
动态初始化,数组类型【,】数组名=new数组类型【m】【n】{{元素值0,0,元素值0,1,元素值0,2......元素值0,n-1},{元素值1,0,元素值1,1,元素值1,2......元素值1,n-1},......{元素值n-1,0,元素值n-1,1,元素值n-1,2......元素值n-1,n-1}},
静态初始化,数组类型【】数组名={{元素值0,0,元素值0,1,元素值0,2......元素值0,n-1},{元素值1,0,元素值1,1,元素值1,2......元素值1,n-1},......{元素值n-1,0,元素值n-1,1,元素值n-1,2......元素值n-1,n-1}}。
3.简述C#中交错数组的声明和使用方法
答案:
交错数组是元素为数组的数组,与多维数组类似,只是交错数组元素的维度和大小可以不同,定义如下:
Int[][]a=newint[3][];
a[0]=newint[5];
a[1]=newint[4];
a[2]=newint[2];
交错数组的使用和二维数组的使用方式一样(确保下标不越界),例如:
a[1][2]。
4.简述C#中集合的定义和使用方法
答案:
定义集合的语法格式如下:
ArrayList数组名=newArrayList(【初始容量】);
5.编写一个控制台应用程序项目Proj5-6,假设10个整数用一个一维数组存放,求其最大值和次大值
usingSystem
namespaceProj5_6
{classprogram
{staticvoidMain(string[]args){
int[]a={1,2,3,4,5,6,7,8,9,10},i=0,j,k;
For(i;i<9;i++){
K=a[i];
For(j=i+1;j<10;j++){
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C#程序设计 C# 程序设计 高级