2024年1月27日发(作者:)
C#程序设计
一、单选题
C#语言取消了( )语法。B. 指针
B
C
C
A
A
在C#语言中,下列能够作为变量名的是( )。 C. a_3b
C#语言从( )语言演化而来。C. C和C++
保存所有打开的文件使用的快捷键是( )。A. Ctrl+S
.NET 是一个用于建立应用程序的平台,它在内部封装了大量的功能强大的( ),利用这些函数可以开发各类Windows 应用软件。
A. 运行时库(CLR)
(Text, Title, Buttons, Icon, Default);方法中,修改消息框的标题可以设置哪个参数?( ) B. Title
B
修改控件的BackColor 属性可改变控件的( )。C. 背景色
设有定义变量:char w; int x; float y; double z;则表达式w﹡x+z-y 值的数据类型为( )。D. double
关于运算符 & 和 && ,以下说法正确的是( )。D. & 可以用于整型数值运算,而 && 不能
已知字母A 的ASCII 码为十进制数65,且i 为整型,则执行语句i=‘A’+‘6’-‘3’后,i 中的值为 ( )B. 68
若有语句“char a;”,要求把字符a 赋给变量a,下面的表达式正确的是( )。B. a='a';
每个case 子句,包括default 子句内必须包含( )语句。C. break
C
D
D
B
B
C
D
C
D
D
A
B
声明一个数组:int[,] arr=new int[3,5],请问在这个数组内包含有多少个元素?( )D. 15
'5' + 12 的结果是什么数据类型?( )C. int
关于形参和实参关系的描述错误的是( )。D. 名称相同
复选框(CheckBox)的CheckState 属性表示三种状态,以下描述错误的一项是( )。D. 不可见状态
下述强制类型形式正确的是( )。A. (类型)(表达式);
当a=150 时运行下列代码,最后a 结果为( )。
if (a > 100)
{a=100+1}
else if(a > 200)
{a=100+2}
else {a=100+3}
B. 101
if语句后面的表达式应该是( )。A. 逻辑表达式
下列哪种if 语句的形式是错误的?( )C. if (表达式)then{语句块1}else{语句块2}
case 标签后面的值必须是( )表达式。A. 常量
switch 语句是一个( )语句。D. 多分支
条件判断语句是通过判断( )而选择执行相应语句的。A. 给定条件
执行语句:
int i;
for(i = 1;i++ < 4; );
后变量 i 的值是( )。C. 5
A
A
C
A
D
C
模式窗体的打开,一般使用哪种方法?( )C. alog();
finally语句包含了( )。 D. 异常处理程序
以下程序段的运行结果是( )。
int i = 0;
while(i++ <= 2);
ine(i);
B. 4
以下哪个属性用于保存数组中当前包含的元素总数?( )
B. Length
具有n 个元素的数组的索引是0~( )。
A. n-1
请指出下列哪个选项属于引用类型?( )
B. string
在程序中加入( )可以提高程序的可读性,使程序易于阅读和理解。 B. 【代码注释】
能返回数组arr第一维最大下标值的是( )。
C. erBound (0)
二维数组就像一个具有行和列的表格一样,如要将第3行第2 列的元素赋值为10,则可表示为( )。
D. arr[2,1]=10;
当SizeMode 属性取何值时,PictureBox 中的图像被拉伸或收缩,以适合 PictureBox的大小?( )
A. StretchImage
关于数组参数的描述不正确的是( )。
B. 数组型参数允许使用ref和out修饰符
要使控件外观为三维,应将控件的FlatStyle 属性值设置成( )。
C. Standard
用于设置菜单项快捷键的属性是( )。
A. ShortcutKeys
以下用来设置窗体标题属性的是哪一个?( )
B. Text
窗体可以创建为( )。
C. 模式和非模式窗体
用户自定义异常类需要从以下哪个类继承?( )
A. Exception
窗体的哪个属性用于指示是否在窗体的标题栏中显示图标?( )
C. ShowIcon
使得程序直接跳出方法体,回到调用方法处的语句是( )。
D. return
关于catch语句块说法正确的是( )。
B. 声明有可能会引发异常的语句块
A
A
A
C
D
B
B
A
B
B
C
D
B
C
B
C
C
D
B
二、判断题
C/C++语言的复杂性比C#语言高。( )
C#语言是从C和C++语言演化而来的。( )
在C#中保留了指针这一语法。 ( )
C#不适合开发与硬件密切相关的代码,比如网卡的驱动程序、数据采集系统的接口控制程序等。( )
C#程序必须包含一个Main 方法。( )
WriteLine 方法,是类库中Console 类的输入方法之一。( )
“//”开始的注释称为“多行注释”。 ( )
锁定控件操作不能锁定全部控件。( )
T
T
F
T
T
F
F
F
最简单的控件是标签控件。( )
在标识符的命名中不能包含空格。( )
int a = 2.5 语句定义了一个实数。( )
在C#中实数不能进行模运算。( )
表达式18 / 4 * sqrt(4.0) / 8 值的数据类型为int。( )
在C#中只有一个三元运算符。( )
&& 操作符可以用于对整数进行运算。 ( )
!false || !true 的结果是 false。( )
Timer 控件只有唯一的事件,即Tick 事件。 ( )
& 既可以用于整数运算,也可以用于bool 值运算。 ( )
C#中条件判断语句只有一种if 语句。( )
for 语句的3 个表达式都可以省略。( )
三种循环(while 循环、do…while 循环和for 循环)可以互相嵌套。( )
数组是具有相同类型的一组数据。( )
在声明或创建数组时,[]内的逗号数目即为数组的维度数。( )
Brush对象可以用于绘制线条。( )
方法体中任何位置可以出现任意数目的return语句,但只有最后一个renturn语句能在赋予返回值的同时退出方法。( )
Point结构与PointF结构的区别是Point结构存储int类型,而PointF结构存储float类型。( )
不能在指定的矩形内绘制图象。( )
当一个窗体改变大小时,不会触发窗体的Paint事件。( )
Picture 属性用于获取或设置PictureBox 显示的图像。( )
窗体的客户区域指的是整个窗体。( )
方法可以不带参数,也可以带多个参数。( )
Enabled 属性用来设置控件的可见性。如果将其设置为false,则将隐藏该对象。( )
当需要用户在多个选项中选择多个项时,可以使用复选框(CheckBox)或复选列表框(CheckedListBox)。
( )
if 语句中的语句块只包含一条语句时,可以把大括号省略掉。( )
CheckBox 的CheckState 属性只有勾选和未勾选两种状态。( )
MDI 子窗体是一种较特殊的窗体,包含并不完全显示在主窗体之内。( )
模式窗体很多情况下都作为对话框存在,为了节省任务栏的宝贵空间,应该把ShowInTaskbar 设置为true。( )
赋值运算符的优先级最低。( )
T
T
F
F
F
T
F
F
T
T
F
T
T
对
F
F
F
T
F
F
F
F
T
F
T
T
F
F
T
B
三、填空题
在简化语法的同时,C#并没有失去________。 灵活性
Maximized
要使窗体运行最大化,可通过设置其WindowState 属性值为____________来实现。
C#的先进设计思想可以消除软件开发中的许多常见错误,并提供了包括类型安全在内安全性能
的完整的________。
________是用户与 MDI 应用程序在其中进行交互的子窗口。 MDI 子窗口
通常情况下,在 finally
块内放置的是清理资源的代码。
.NET 开发平台向广大的程序员提供了功能强大的__________。 集成开发环境(IDE)Visual
重载
在一个类中允许有同名的方法存在,这称为方法的__________。
在Windows 中,使用列表框输入数据是________的重要手段。 保证数据标准化
用户可以使用________控件编辑和显示文本。 文本框(TextBox)
Button 控件最常用的事件是________。
设置________属性可以调整文本对齐方式。
使对象对某些预定义的外部动作进行响应称为________。
在Visual Studio 2005 中,按Ctrl+F 快捷键打开【查找和替换】对话框,它就是一个___________窗体。
12 +'a' 的结果为________。
C#语言的各类数据类型之间提供两种转换:________和显式转换。
t('b')的结果为________。
(2.24,1 )=________。
C#中唯一的三元运算符是________。
当if 的表达式返回true 值时,将________,当表达式返回false 值时,将跳过语句块;执行大括号后面的语句。
3>2 && 5!=6 的结果是________。
'6' * '7' 的结果是________。
表达式 x = 3 * (y = 6) 的值为________。
条件判断语句和________是所有程序设计语言的基础内容。
数组是具有相同__________________的一组数据。
case 和default 标签以________结束。
一个解决方案中可以包含多个项目,它使用户能够方便地组织需要开发和设计的项目文件,以及配置________。
用while 语句表达式进行判断,一直到表达式返回________值时,才会跳出语句块。
顺序结构、选择结构和________是结构化程序的三种基本结构。
do…while 语句是先执行________,再判断条件是否为真。
符合IEEE 规范的浮点类型包括________和双精度两种。
在C#中,使用________关键字创建数组的对象。
基本数据类型是值类型,数组是________类型。
在程序运行时可以动态地改变其长度的数组被称为________。
8 / 3 的结果是________。
________事件是把窗体载入工作区时所发生的事件。
下拉式菜单由________、菜单标题、菜单项组成。
无论try块中的语句是否发生异常,总是执行__________块中的语句。
是一个结构体,表示在二维平面中来表示一个矩形。
C#中可以使用
类和 RectangleF 类来表示一个矩形。
要使以下程序段输出10 个整数,请填入一个整数________。
for(int i = 0;i <= ____;i += 2)
{
ine(i);
}
C#中的变量从作用域上来说分为局部变量和___ ___。
在方法中直接或间接地调用自己称为方法的__ ____。
.NET 的核心是_________。
Click
TextAlign
事件
非模式
109
隐式转换
false
2.2
?:
执行大括号里的语句块
true
2970
18
循环语句
类型
break
应用程序或组件
false
循环结构
循环体
单精度
new
引用
动态数组
2
Load
菜单栏
异常处理程序
Point
Rectangle
18
MessageBox 最常用的方法是________。
108 % 12 的结果是________。
模式窗体另一个很重要的特征是在被关闭时,会返回一个________类型的值。
成员变量
递归
Microsoft .NET
Framework(微软.NET框架体系)
Show
0
DialogResult
模式窗体都具备一定的特征,这些特征可以通过________、ShowInTaskbar、FormBorderStyle 、lBox 等属性来设置。
在C#中一般使用 进行绘图。
if 语句中的表达式可以是关系表达式或________。
finally语句包含异常处理程序和 。
声明方法时不带任何修饰符的参数是 。
一个循环体内又包含另一个完整的循环结构,称为________。
引用类型对象之间的赋值只是复制对象的引用________,而不是对象的内容。
方法的返回值可以通过方法体中的______语句获得。
当一个RadioButton 的Checked 属性值发生改变时,将会触发________事件。
如果方法没有返回值,则方法的返回类型为___________。
ShowIcon
GDI+
逻辑表达式
清理代码
值参数
循环的嵌套
地址
return
CheckedChanged
void
四、简答题
简述C#语言的特点。
请说明C#标识符命名规则。
①简洁易用的语法。② 自动的资源回收机制。③ 与Web的紧密结合。④
完整的安全性与错误处理。⑤ 版本处理技术。⑥ 灵活性和兼容性。
不能跟系统关键字重名。
标识符由字母、下划线“_”、数字或中文组成。
标识符应以字母、中文或下划线开头。
标识符中间不能包含空格。
C#标识符大小写敏感。
for语句的一般表现形式为:
for (表达式1;表达式2;表达式3)
{
语句块
}
for语句的执行顺序如图所示,其中,当表达式2的值为假时,则直接跳出循环。
表达式1:一般情况下用于给循环变量赋初值。
表达式2:返回值必须是一个bool值,作为循环是否继续执行的条件。
表达式3:一般情况下用于给循环变量增值。
switch关键字后面的表达式,其值的类型必须是字符串或整数(char、int、long),都属于整数类型。
case标签后面的值必须是常量表达式,不允许使用变量。
case和default标签以冒号而非分号结束。
case标签后面的语句块,无论是单条语句还是多条语句,都无需用括号包围。
default标签可以有,也可以没有。case子句的排放顺序是无关紧要的,甚至可以把default子句放在最前面。
请列出图片框(PictureBox)支持哪几种类型的图像,并进行简单的说明。
位图(bitmap):是将图像定义为像素的图案,这种图像格式体积很大,未经压缩。位图文件的扩展名是.bmp或.dib。
图标(icon):是特殊类型的位图。图标的最大尺寸为32×32像素。图标文件的扩展名是.ico。
Windows文件(metafile):将图形定义为编码的线段和图形。普通图元文件扩展名为.wmf,增强图元文件扩展名为.emf。
请说明for 语句的用法。
使用switch 语句时需要注意什么?
GIF:由CompuServe开发的一种压缩位图格式,是Internet上流行的一种文件格式。
JPEG:是一种支持8位和24位颜色的压缩位图格式,也是Internet上流行的请简述Array 和ArrayList 主要的区别。
一种文件格式。
(1) Array 的容量是固定的,而 ArrayList的容量可根据需要自动扩充。
(2) ArrayList提供添加、插入或移除某一范围元素的方法。在 Array 中,您只能一次获取或设置一个元素的值。
(3) Array 可以具有多个维度,而 ArrayList始终只是一维的。
方法允许将程序分为不连续的逻辑单元。调试单独的单元与调试不包含方法的整个程序相比要容易得多。
可以在其他程序中使用为某个程序开发的方法,而通常只需要进行少量修改,甚至不需要修改。
请简述什么是递归。
请简述非模式窗体和模式窗体的区别。
在方法中直接或间接地调用自己叫方法的递归调用。树型关系问题的求解往往需要使用到递归算法。
(1)打开一个非模式窗体后,用户可以跟应用程序的其他部分交流,而模式窗体不行。这意味着,程序在执行到创建模式窗体的代码时,会停下来等待模式窗体关闭后再继续往下执行。而程序在打开非模式窗体的同时会继续往下执行后面的代码。
(2)非模式窗体没有返回值,模式窗体有返回值。
(3)关闭非模式窗体会直接在内存中释放窗体,而模式窗体则不会。
(4)非模式窗体使用Show方法创建,模式窗体使用ShowDialog方法创建。
请简述用方法构造代码的好处。
五、编程题
从键盘上输入4 个数,编写程序,计算出这4 个数的平均值。
private void button1_click(object sender, eventargs e)
{
double a = ();
double b = ();
double c = ();
double d = ();
= ng((a + b + c + d) / 4);
}
定义两个包含5 个元素的整型数
private void button1_click(object sender, eventargs e)
组x 和y,并对数组x 进行初始化, {
编程实现颠倒数组x 元素值的顺 int[] x = new int[] { 1, 2, 3, 4, 5 };
序,并将它们存储到数组y 中。
int[] y = new int[5];
string output1 = "x数组:";
string output2 = "y数组:";
for (int i = 0; i < 5; i++)
{
y[i] = x[4 - i];
output1 += x[i] + "t";
output2 += y[i] + "t";
}
(output1 +"n"+ output2);
}
设计一个列表框程序,要求利用文本框添加项目到右边的列表框,通过按钮控件实现2 个列表框之间进行的项目转换。
private void button1_click(object sender, eventargs e)
{
();
}
private void button3_click(object sender, eventargs e)
{
(editem);//添加到左边
(editem); //删除选中项
}
private void button2_click(object sender, eventargs e)
{
(editem);//添加到右边
(editem); //删除选中项
}
一个称为“身体质量指数”(BMI)的量用来计算与体重有关的健康问题的危险程度。
BMI 按以下的公式计算:BMI =
private void button1_click(object sender, eventargs e)
{
float w = ();
float h = ();
= ng(w / (h * h));
}
Wh2
其中 W 是以kg 为单位的体重。h
是以m 为单位的身高。大约20~25 的BMI 的值被
认为是“正常的”,编写一个应用程序,输入体重和身高并输出BMI。
设计一个消息框程序,要求显示5 种常用的消息框类型。
private void button1_click(object sender, eventargs e)
{
("消息内容", "返回值 确定1",
, on);
}
private void button2_click(object sender, eventargs e)
{
("消息内容", "返回值 确定1 取消2",
el, sk);
}
private void button3_click(object sender, eventargs e)
{
("消息内容", "返回值 终止3 重试4 忽略5",etryignore, );
}
private void button4_click(object sender, eventargs e)
{
("消息内容", "返回值 是6 否7 取消2",
ancel,
ation);
}
private void button5_click(object sender, eventargs e)
{
("消息内容", "返回值 是6 否7",
, );
}
编写一个应用程序,确定咖啡厅服务员的小费。小费应是账单的10%,最小值为2 元。
private void button1_click(object sender, eventargs e)
{
double d = ();
double result = d / 10;
if (result < 2)
{
result = 2;
}
= ng();
}
编写一个程序,输入3 个整数,求3 个数的和、积、平均值。
private void button1_click(object sender, eventargs e)
{
int a = ();
int b = ();
int c = ();
= ng(a + b + c);
= ng(a * b * c);
= ng((a + b + c) / 3);
}
用while 循环求1 + 2 + 3 + … +
static void Main(string[] args)
99
{
+ 100 的值
int sum = 0;
int i = 1; // 初始化
while (i <= 100) // 循环语句
{
sum += i; // 把i 的值累加到变量sum 内
i++;
}
ine(sum); // 打印结果
();
}
编写一个应用程序,要求用户用2
个文本框输入2 个数,关将它们的和、差、积、
商显示在标签(Label)中。
private void button1_click(object sender, eventargs e)
{
double x = ();
double y = ();
= "和:" + ng(x + y);
= "差:" + ng(x - y);
= "积:" + ng(x * y);
= "商:" + ng(x / y);
}
字符检查,从键盘输入一个字符,检查输入字符是否为字母字符或数字,如果不是,则在标签控件显示“您输入的是字母、数字以外的字符”。如果是字符或数字,则输出该字母字符的整数值。
private void form1_keypress(object sender, keypresseventargs e)
{
if (t(r) || er(r))
{
= ng((int)r);
}
else
{
= ("您输入的是字母、数字以外的字符");
}
}
求1~100 的所有奇数和。
private void button1_click(object sender, eventargs e)
{
int result = 0;
for (int i = 0; i <= 100; i++)
{
if (i % 2 == 1)
{
result += i;
}
}
= ng();
}
编写一个程序,估计一个职员在65 岁退休之前能赚到多少钱。用年龄和起始薪水
作为输入,并假设职员每年工资增长5%。
private void button1_click(object sender, eventargs e)
{
int age = ();
decimal salary = ();
decimal result = 0;
for (int i = age + 1; i <= 65; i++)
{
result += salary;
salary += salary * 0.05m;
}
= ng();
}
编写程序,找出数组中的最大值。
private void button1_click(object sender, eventargs e)
{
int[] number = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
int max=number[0];
for (int i = 1; i < 10; i++)
{
if (max < number[i])
{
max = number[i];
}
}
= "数组中的最大值是:" + max;
}
打印字母表及对应的ASCII 码。
private void button1_click(object sender, eventargs e)
{
string s = "";
for (int i = 0; i < 128; i++)
{
if(er((char)i))
{
s += ng((char)i) + "=" + ng() + " ";
}
}
= s;
}
一个计算机商店销售光盘,对于少量的订购,每盘3.5 元。订购超过200 张时,每盘3 元。编写程序,要求输入订购光盘数量,并显示总价格。
private void button1_click(object sender, eventargs e)
{
int count = ();
double result = 0;
if (count < 200)
{
result = count * 3.5;
}
else
{
result = count * 3;
}
= ng();


发布评论