第一篇:C#程序設(shè)計(jì)案例評(píng)語(yǔ)
C#程序設(shè)計(jì)案例評(píng)語(yǔ):
優(yōu)秀:該生在課程實(shí)習(xí)過程中,能夠按照實(shí)習(xí)任務(wù)書的要求,完整的開發(fā)記事本及計(jì)算器程序,設(shè)計(jì)過程中能主動(dòng)查閱資料,獨(dú)立完成程序開發(fā),軟件設(shè)計(jì)界面良好,功能完整,實(shí)習(xí)報(bào)告內(nèi)容詳細(xì)。實(shí)習(xí)過程中表現(xiàn)突出。
良好:該生在課程實(shí)習(xí)過程中,能夠按照實(shí)習(xí)任務(wù)書的要求,完整的開發(fā)記事本及計(jì)算器程序,設(shè)計(jì)過程中能獨(dú)立完成程序開發(fā),軟件設(shè)計(jì)界面良好,功能完整,實(shí)習(xí)報(bào)告內(nèi)容詳細(xì)。實(shí)習(xí)過程中表現(xiàn)良好。
中等:該生在課程實(shí)習(xí)過程中,能夠按照實(shí)習(xí)任務(wù)書的要求,比較完整的開發(fā)記事本及計(jì)算器程序,設(shè)計(jì)過程中能在老師的指導(dǎo)下完成程序開發(fā),功能完整,實(shí)習(xí)報(bào)告內(nèi)容完整。實(shí)習(xí)過程中表現(xiàn)一般。
及格:該生在課程實(shí)習(xí)過程中,基本能夠按照實(shí)習(xí)任務(wù)書的要求,比較完整的開發(fā)記事本及計(jì)算器程序,設(shè)計(jì)過程中能在老師和同學(xué)的指導(dǎo)下完成程序開發(fā),功能基本完整,實(shí)習(xí)報(bào)告內(nèi)容完整。實(shí)習(xí)過程中表現(xiàn)一般。
第二篇:C#程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告
實(shí)驗(yàn)報(bào)告書寫要求
實(shí)驗(yàn)報(bào)告原則上要求學(xué)生手寫,要求書寫工整。若因課程特點(diǎn)需打印的,標(biāo)題采用四號(hào)黑體,正文采用小四號(hào)宋體,單倍行距。紙張一律采用A4的紙張。
實(shí)驗(yàn)報(bào)告書寫說明
實(shí)驗(yàn)報(bào)告中實(shí)驗(yàn)?zāi)康暮鸵蟆?shí)驗(yàn)儀器和設(shè)備、實(shí)驗(yàn)內(nèi)容與過程、實(shí)驗(yàn)結(jié)果與分析這四項(xiàng)內(nèi)容為必需項(xiàng)。教師可根據(jù)學(xué)科特點(diǎn)和實(shí)驗(yàn)具體要求增加項(xiàng)目。
填寫注意事項(xiàng)
(1)細(xì)致觀察,及時(shí)、準(zhǔn)確、如實(shí)記錄。(2)準(zhǔn)確說明,層次清晰。
(3)盡量采用專用術(shù)語(yǔ)來說明事物。
(4)外文、符號(hào)、公式要準(zhǔn)確,應(yīng)使用統(tǒng)一規(guī)定的名詞和符號(hào)。(5)應(yīng)獨(dú)立完成實(shí)驗(yàn)報(bào)告的書寫,嚴(yán)禁抄襲、復(fù)印,一經(jīng)發(fā)現(xiàn),以零分論處。
實(shí)驗(yàn)報(bào)告批改說明
實(shí)驗(yàn)報(bào)告的批改要及時(shí)、認(rèn)真、仔細(xì),一律用紅色筆批改。實(shí)驗(yàn)報(bào)告的批改成績(jī)采用五級(jí)記分制或百分制,按《金陵科技學(xué)院課堂教學(xué)實(shí)施細(xì)則》中作業(yè)批閱成績(jī)?cè)u(píng)定要求執(zhí)行。
實(shí)驗(yàn)報(bào)告裝訂要求
實(shí)驗(yàn)批改完畢后,任課老師將每門課程的每個(gè)實(shí)驗(yàn)項(xiàng)目的實(shí)驗(yàn)報(bào)告以自然班為單位、按學(xué)號(hào)升序排列,裝訂成冊(cè),并附上一份該門課程的實(shí)驗(yàn)大綱。
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
實(shí)驗(yàn)項(xiàng)目名稱: C#基礎(chǔ)編程 實(shí)驗(yàn)學(xué)時(shí): 6 同組學(xué)生姓名: 實(shí)驗(yàn)地點(diǎn): 1318 實(shí)驗(yàn)日期: 10月5日-10月19日 實(shí)驗(yàn)成績(jī): 批改教師: 批改時(shí)間:
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
實(shí)驗(yàn)1 C#基礎(chǔ)編程
一、實(shí)驗(yàn)?zāi)康?/p>
1、熟悉Visual Studio.NET開發(fā)環(huán)境。
2、掌握C#應(yīng)用程序的基本操作過程。
3、掌握C#的數(shù)據(jù)類型,運(yùn)算符以及表達(dá)式的使用。
4、掌握分支和循環(huán)語(yǔ)句的使用方法。
5、掌握一維數(shù)組,二維數(shù)組及數(shù)組型數(shù)組的使用。
二、實(shí)驗(yàn)要求
(1)編寫程序要規(guī)范、正確,上機(jī)調(diào)試過程和結(jié)果要有記錄(2)做完實(shí)驗(yàn)后給出本實(shí)驗(yàn)的實(shí)驗(yàn)報(bào)告。
三、實(shí)驗(yàn)設(shè)備、環(huán)境
安裝有Visual Studio.NET軟件。
四、實(shí)驗(yàn)步驟
1、分析題意。
2、根據(jù)題目要求,新建項(xiàng)目。
3、編寫并輸入相關(guān)的程序代碼。
5、運(yùn)行與調(diào)試項(xiàng)目。
6、保存項(xiàng)目。
五、實(shí)驗(yàn)內(nèi)容
1、編寫一個(gè)簡(jiǎn)單的控制臺(tái)應(yīng)用程序,打印一行文字(如你的姓名)。
using System;using System.Collections.Generic;using System.Linq;using System.Text;
namespace one.first {
class Program
{
static void Main(string[] args)
{
System.Console.WriteLine(“我叫王蕾!”);
}
} }
2、編寫一個(gè)簡(jiǎn)單的Windows應(yīng)用程序,在窗體Load事件中書寫代碼,標(biāo)簽中顯示你的姓名。
using System;using System.Collections.Generic;using System.ComponentModel;
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;
namespace one.second {
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
this.Text = “Windows 程序”;
Label lblShow = new Label();
lblShow.Location = new Point(20, 30);
lblShow.AutoSize = true;
lblShow.Text = “王蕾!”;
this.Controls.Add(lblShow);
}
} }
3、編寫一個(gè)一個(gè)程序,用來判斷輸入的是大寫字母,小寫字母,數(shù)字還是其他的字符。
using System;using System.Collections.Generic;using System.Text;
namespace one.third {
class Program
{
static void Main(string[] args)
{
Console.WriteLine(“請(qǐng)輸入一個(gè)字符:”);
char c = Convert.ToChar(Console.ReadLine());
if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))
Console.WriteLine(“這是一個(gè)字母”);
if(char.IsDigit(c))
Console.WriteLine(“這是一個(gè)數(shù)字”);
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
}
} }
4、分別用while,do-while,for循環(huán)求1到100的和。
using System;using System.Collections.Generic;using System.Text;
namespace one.forth.one {
class Program
{
static void Main(string[] args)
{
int i = 1, sum = 0;
while(i <= 100)
{
sum = sum + i;
i++;
}
Console.WriteLine(“1到100的自然數(shù)之和為:” + sum);
}
} } using System;using System.Collections.Generic;using System.Text;
namespace one.forth.two {
class Program
{
static void Main(string[] args)
{
int i = 1, sum = 0;
do
{
sum = sum + i;
i++;
}
while(i <= 100);
Console.WriteLine(“1到100的自然數(shù)的和為:” + sum);
}
}
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
} using System;using System.Collections.Generic;using System.Text;
namespace one.forth.three {
class Program
{
static void Main(string[] args)
{
int i , sum = 0;
for(i = 1;i <= 100;i++)
{
sum = sum + i;
}
Console.WriteLine(“1到100的自然數(shù)的和為:” + sum);
}
} }
5、定義一個(gè)一維數(shù)組,用隨機(jī)數(shù)為此賦值,用foreach循環(huán)輸出其中的內(nèi)容。
using System;using System.Collections.Generic;using System.Linq;using System.Text;
namespace first.five {
class Program
{
static void Main(string[] args)
{
int[] a = {0,1,2,3,4};
foreach(int i in a)
{
Console.WriteLine(a[i]);
}
}
} }
6、實(shí)現(xiàn)二維數(shù)組的輸入和輸出。
using System;using System.Collections.Generic;using System.Linq;
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
using System.Text;
namespace first.six {
class Program
{
static void Main(string[] args)
{
int[,] a = new int[2, 3] { { 1, 2, 3 }, { 4, 5, 6 } };
{
for(int i = 0;i < 2;i++)
{
for(int j = 0;j < 3;j++)
{ Console.WriteLine(a[i, j]);}
}
}
}
} }
7、實(shí)現(xiàn)數(shù)組型數(shù)組的輸入和輸出。
using System;using System.Collections.Generic;using System.Linq;using System.Text;
namespace first.seven {
class Program
{
static void Main(string[] args)
{
int[][] a = new int[][] { new int[] { 1, 2, 3 }, new int[] { 4, 5, 6 } };
for(int i = 0;i < a.Length;i++)
{
for(int j = 0;j < a[i].Length;j++)
{
Console.WriteLine(a[i][j]);
}
}
}
} }
六、實(shí)驗(yàn)體會(huì)(遇到問題及解決辦法,編程后的心得體會(huì))
剛開始編程的時(shí)候覺得無(wú)從下手,盡管我們已經(jīng)學(xué)了好幾種高級(jí)編程語(yǔ)言,但每個(gè)都
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
有其獨(dú)特的地方,稍不留神就會(huì)混淆。
通過這次實(shí)驗(yàn),我體會(huì)到課后復(fù)習(xí)鞏固的重要性。在編程的時(shí)候,很多內(nèi)容都不記得,需要去翻書。不得不說,實(shí)驗(yàn)是鞏固課程的好方法!本次實(shí)驗(yàn),我熟悉Visual Studio.NET開發(fā)環(huán)境;掌握了C#應(yīng)用程序的基本操作過程;掌握了C#的數(shù)據(jù)類型,運(yùn)算符以及表達(dá)式的使用;掌握了分支和循環(huán)語(yǔ)句的使用方法以及一維數(shù)組,二維數(shù)組及數(shù)組型數(shù)組的使用。
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
實(shí)驗(yàn)項(xiàng)目名稱: 類與對(duì)象 實(shí)驗(yàn)學(xué)時(shí): 6 同組學(xué)生姓名: 實(shí)驗(yàn)地點(diǎn): 1318 實(shí)驗(yàn)日期: 10月26日-11月9日 實(shí)驗(yàn)成績(jī): 批改教師: 批改時(shí)間:
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
實(shí)驗(yàn)2 類與對(duì)象
一、實(shí)驗(yàn)?zāi)康?、要?/p>
(1)掌握類的定義和使用;
(2)掌握類的數(shù)據(jù)成員,屬性的定義和使用;
(3)掌握方法的定義,調(diào)用和重載以及方法參數(shù)的傳遞;(4)掌握構(gòu)造函數(shù)的定義和使用。
二、實(shí)驗(yàn)要求
(1)編寫程序要規(guī)范、正確,上機(jī)調(diào)試過程和結(jié)果要有記錄;(2)做完實(shí)驗(yàn)后給出本實(shí)驗(yàn)的實(shí)驗(yàn)報(bào)告。
三、實(shí)驗(yàn)設(shè)備、環(huán)境
安裝有Visual Studio.NET軟件。
四、實(shí)驗(yàn)步驟
1、分析題意;
2、根據(jù)題目要求,新建項(xiàng)目;
3、編寫并輸入相關(guān)的程序代碼;
5、運(yùn)行與調(diào)試項(xiàng)目;
6、保存項(xiàng)目。
五、實(shí)驗(yàn)內(nèi)容
1、定義一個(gè)方法,實(shí)現(xiàn)兩個(gè)數(shù)的交換(分別把參數(shù)按值傳遞和按引用傳遞)。
using System;using System.Collections.Generic;using System.Text;
namespace second.one {
class Program
{
static void Main(string[] args)
{
Swaper s = new Swaper();
Console.WriteLine(“輸入x的值:”);
int a = Convert.ToInt32(Console.ReadLine());
Console.WriteLine(“輸入y的值:”);
int b=Convert.ToInt32(Console.ReadLine());
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
Console.WriteLine(s.Swap(a, b));
Console.WriteLine(s.Swap(ref a,ref b));
}
class Swaper
{
public string Swap(int x, int y)
{
int temp;
temp = x;
x = y;
y = temp;
return 后:x={0},y={1}“,x,y);
}
public string Swap(ref int x, ref int y)
{
int temp;
temp = x;
x = y;
y = temp;
return string.Format(”按引用傳參交換之后:x={0},y={1}“, x, y);
}
}
} }
2、定義一個(gè)方法,實(shí)現(xiàn)數(shù)組的排序。using System;using System.Collections.Generic;using System.Text;
namespace second.two {
class Program
{
string.Format(”
按
值
傳
參
交
換
之
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
public class sort
{
public void change(int[] a)
{
Console.WriteLine(“排序前,數(shù)組順序?yàn)椋骸?;
show(a);
int i, j, m;
for(i = 0;i < 10;i++)
{
m = a[i];
j = ib;
}
}
static void Main(string[] args)
{
sum s = new sum();
int a = 10;
int b = 3;
int m, n;
s.ab(out m, out n, a, b);
Console.WriteLine(“{0}+{1}={2};{0}-{1}={3}”,a,b,m,n);
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
}
} }
5、用構(gòu)造函數(shù)重載,實(shí)現(xiàn)矩形的面積,圓的面積,梯形的面積;
using System;using System.Collections.Generic;using System.Linq;using System.Text;
namespace secong.five {
class Program
{
public class square
{
public double area;
public square(){ }
public square(double a)
{
area = a * a * 3.14;
}
public square(double a, double b)
{
area = a * b;
}
public square(double a, double b, double h)
{
area =(a + b)/ 2 * h;
}
}
static void Main(string[] args)
{
double a, b, h,area;
a = 2;b = 5;h = 3;
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
square s = new square(a,b);
Console.WriteLine(“求矩形面積,長(zhǎng)為a={0},寬為b={1},面積area={2}”,a,b,s.area);
square i = new square(a);
Console.WriteLine(“求圓形面積,半徑a={0},面積area={1}”, a, i.area);
square j = new square(a, b, h);
Console.WriteLine(“求梯形面積,上底為a={0},下底為b={1},高為h={2}面積area={3}”, a, b,h, j.area);
}
} }
6、設(shè)計(jì)一個(gè)windows應(yīng)用程序,在該程序中定義一個(gè)學(xué)生類和班級(jí)類,以處理每個(gè)學(xué)生的學(xué)號(hào),姓名,語(yǔ)文,數(shù)學(xué)和英語(yǔ)成績(jī),要求:
1)能查詢每個(gè)學(xué)生的總成績(jī)。2)能顯示全班前三名的名單。
3)能顯示單科成績(jī)最高分和不及格的學(xué)生名單。4)能統(tǒng)計(jì)全班學(xué)生的平均成績(jī)。
5)能顯示各科成績(jī)不同分?jǐn)?shù)段的學(xué)生人數(shù)的百分比。
Student類: using System;using System.Collections.Generic;using System.Text;namespace Test2_6 {
public class Student
{
public string stuNo;
public string name;
public double chinese;
public double math;
public double english;
public double sumScore
{
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
get { return chinese + math + english;}
}
} } StudentList類: using System;using System.Collections.Generic;using System.Text;namespace Test2_6 {
public class StudentList:Student
{
int snums;
public Student[] stu=new Student[50];
public StudentList()
{
snums = 0;
}
public void addstu(Student s)
{
stu[snums] = s;
snums++;
}
public int searchstu(string name)
{
int i;
for(i = 0;i < snums;i++)
{
if(stu[i].name == name)break;
}
if(i == snums)return-1;
else return i;
}
//給所有成績(jī)排序,用后面實(shí)現(xiàn)前三名的排名
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
public void ProThree()
{
for(int i = 0;i < snums;i++)
{
int k = i;
for(int j = i + 1;j < snums;j++)
if(stu[j].sumScore > stu[k].sumScore)k = j;
if(k!= i)
{
Student temp;
temp = stu[k];
stu[k] = stu[i];
stu[i] = temp;
}
}
}
//顯示單科成績(jī)的最高分
public int HighScore(int k)
{
int p = 0;
if(k == 0)
{
for(int i = 1;i < snums;i++)
if(stu[i].math > stu[p].math)p = i;
}
else if(k == 1)
{
for(int i = 1;i < snums;i++)
if(stu[i].chinese > stu[p].chinese)p = i;
}
else
{
for(int i = 1;i < snums;i++)
if(stu[i].chinese > stu[p].chinese)p = i;
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
}
return p;
}
//顯示不及格名單
public string BuhgName(int k)
{
string name=“ ”;
if(k == 0)
{
for(int i = 0;i < snums;i++)
if(stu[i].math < 60)name +=stu[i].name+“n”;
}
else if(k == 1)
{
for(int i = 0;i < snums;i++)
if(stu[i].chinese < 60)name += stu[i].name + “n”;
}
else
{
for(int i = 0;i < snums;i++)
if(stu[i].english < 60)name += stu[i].name + “n”;
}
return name;
}
public string getHL()
{
string Maxer = “ ”, Loser = “ ”;
Maxer += “單科數(shù)學(xué)最高:” + stu[HighScore(0)].name + “n”;
Maxer += “ 單科語(yǔ)文最高:” + stu[HighScore(1)].name + “n”;
Maxer += “ 單科英語(yǔ)最高:” + stu[HighScore(2)].name + “n”;
Loser += “單科數(shù)學(xué)掛科名單:” +BuhgName(0)+ “n”;
Loser += “單科語(yǔ)文掛科名單:” + BuhgName(1)+ “n”;
Loser += “單科英語(yǔ)掛科名單:” + BuhgName(2)+ “n”;
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
return Maxer + “n” + Loser;
}
//全班的平均成績(jī)
public string SumScore()
{
double sum = 0;
double avg=0;
for(int i = 0;i < snums;i++)
{
sum = sum + stu[i].sumScore;
}
avg = sum / snums;
return “班級(jí)總分平均分:”+avg;
}
//各科成績(jī)不同分?jǐn)?shù)段的學(xué)生百分比
//英語(yǔ)成績(jī)各分?jǐn)?shù)段百分比
public string PerC()
{
double per1, per2, per3, per4, per5;
double sumC1 = 0, sumC2 = 0, sumC3 = 0, sumC4 = 0, sumC5 = 0;
for(int i = 0;i < snums;i++)
{
if((stu[i].chinese > 90)&&(stu[i].chinese <= 100))
{
sumC1++;
}
else if((80 <= stu[i].chinese)&&(stu[i].chinese < 90))
{
sumC2++;
}
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
else if((70<=stu[i].chinese)&&(stu[i].chinese < 80))
{
sumC3++;
}
else if((60<=stu[i].chinese)&&(stu[i].chinese < 70))
{
sumC4++;
}
else
{sumC5++;}
}
per1 = sumC1 / snums;
per2 = sumC2 / snums;
per3 = sumC3 / snums;
per4 = sumC4 / snums;
per5 = sumC5 / snums;
return “語(yǔ)文成績(jī)百分比:”+“n”+“90~100:”+per1+“ 80~90:”+per2+“ 80~70:”+per3+“ 70~60:”+per4+“ 60以下的:”+per5;
}
//數(shù)學(xué)成績(jī)各分?jǐn)?shù)段百分比
public string PerM()
{
double per1, per2, per3, per4, per5;
double sumC1 = 0, sumC2 = 0, sumC3 = 0, sumC4 = 0, sumC5 = 0;
for(int i = 0;i < snums;i++)
{
if((stu[i].math> 90)&&(stu[i].math <= 100))
{
sumC1++;
}
else if((80 <= stu[i].math)&&(stu[i].math < 90))
{
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
sumC2++;
}
else if((70 <= stu[i].math)&&(stu[i].math < 80))
{
sumC3++;
}
else if((60 <= stu[i].math)&&(stu[i].math < 70))
{
sumC4++;
}
else
{ sumC5++;}
}
per1 = sumC1 / snums;
per2 = sumC2 / snums;
per3 = sumC3 / snums;
per4 = sumC4 / snums;
per5 = sumC5 / snums;
return string.Format(“數(shù)學(xué)成績(jī)百分比:” + “n” + “90~100:” + per1 + “ 80~90:” + per2 + “ 80~70:” + per3 + “ 70~60:” + per4 + “ 60以下的:” + per5);
}
//英語(yǔ)成績(jī)各分?jǐn)?shù)段百分比
public string PerE()
{
double per1, per2, per3, per4, per5;
double sumC1 = 0, sumC2 = 0, sumC3 = 0, sumC4 = 0, sumC5 = 0;
for(int i = 0;i < snums;i++)
{
if((stu[i].english > 90)&&(stu[i].english <= 100))
{
sumC1++;
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
}
else if((80 <= stu[i].english)&&(stu[i].english < 90))
{
sumC2++;
}
else if((70 <= stu[i].english)&&(stu[i].english < 80))
{
sumC3++;
}
else if((60 <= stu[i].english)&&(stu[i].english < 70))
{
sumC4++;
}
else
{ sumC5++;}
}
per1 = sumC1 / snums;
per2 = sumC2 / snums;
per3 = sumC3 / snums;
per4 = sumC4 / snums;
per5 = sumC5 / snums;
return string.Format(“數(shù)學(xué)成績(jī)百分比:” + “n” + “90~100:” + per1 + “ 80~90:” + per2 + “ 80~70:” + per3 + “ 70~60:” + per4 + “ 60以下的:” + per5);
}
} } From窗體代碼: using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
using System.Windows.Forms;namespace Test2_6 {
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public StudentList sl = new StudentList();
private void btnAdd_Click(object sender, EventArgs e)
{
Student s = new Student();
s.stuNo = txtStuNo.Text;
s.name = txtName.Text;
s.chinese = Convert.ToDouble(txtChina.Text);
s.math = Convert.ToDouble(txtMath.Text);
s.english = Convert.ToDouble(txtEng.Text);
sl.addstu(s);
MessageBox.Show(“添加成功”);
}
private void btnSearch_Click(object sender, EventArgs e)
{
int pos = sl.searchstu(this.textBox1.Text);
if(pos!=-1)
{
label7.Text = this.textBox1.Text + “的總成績(jī):sl.stu[pos].sumScore;
}
else { MessageBox.Show(”不存在這個(gè)人!“);}
}
private void btnFinish_Click(object sender, EventArgs e)
{
label7.Text = ”前3名:“+”n“;
” + 金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
for(int i = 0;i < 3;i++)
{
sl.ProThree();
label7.Text+= sl.stu[i].name+“n”;
}
label7.Text += sl.getHL()+“n”;
label7.Text += Convert.ToString(sl.SumScore())+“n”;
label7.Text += sl.PerC()+“n”;
label7.Text += sl.PerM()+“n”;
label7.Text += sl.PerE()+“n”;
}
} }
六、實(shí)驗(yàn)體會(huì)(遇到問題及解決辦法,編程后的心得體會(huì))
通過本次實(shí)驗(yàn),我掌握了類的定義與使用;掌握了類的數(shù)據(jù)成員,屬性的定義和使用;掌握了方法的定義,調(diào)用和重載以及方法參數(shù)的傳遞以及構(gòu)造函數(shù)的定義和使用。值得注意的是:本次實(shí)驗(yàn)中return的使用以及所在的位置,類型轉(zhuǎn)換時(shí)也經(jīng)常用到
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
實(shí)驗(yàn)項(xiàng)目名稱: 繼承與多態(tài) 實(shí)驗(yàn)學(xué)時(shí): 6 同組學(xué)生姓名: 實(shí)驗(yàn)地點(diǎn): 1318 實(shí)驗(yàn)日期: 11月16日-11月30日 實(shí)驗(yàn)成績(jī): 批改教師: 批改時(shí)間:
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
實(shí)驗(yàn)3 繼承與多態(tài)
一、實(shí)驗(yàn)?zāi)康?、要?/p>
(1)掌握類的繼承性與多態(tài)性;
(2)掌握虛方法的定義以及如何使用虛方法實(shí)現(xiàn)多態(tài);(3)掌握抽象類的定義以及如何使用抽象方法實(shí)現(xiàn)多態(tài);
二、實(shí)驗(yàn)要求
(1)編寫程序要規(guī)范、正確,上機(jī)調(diào)試過程和結(jié)果要有記錄;(2)做完實(shí)驗(yàn)后給出本實(shí)驗(yàn)的實(shí)驗(yàn)報(bào)告。
三、實(shí)驗(yàn)設(shè)備、環(huán)境
安裝有Visual Studio.NET軟件。
四、實(shí)驗(yàn)步驟
1、分析題意;
2、根據(jù)題目要求,新建項(xiàng)目;
3、編寫并輸入相關(guān)的程序代碼;
5、運(yùn)行與調(diào)試項(xiàng)目;
6、保存項(xiàng)目。
五、實(shí)驗(yàn)內(nèi)容
1、設(shè)計(jì)一個(gè)Windows應(yīng)用程序,在該程序中首先構(gòu)造一個(gè)學(xué)生基本類,再分別構(gòu)造小學(xué)生、中學(xué)生、大學(xué)生派生類,當(dāng)輸入相關(guān)數(shù)據(jù),單擊不用的按鈕時(shí),將分別創(chuàng)建不同的學(xué)生類對(duì)象,并輸出當(dāng)前學(xué)生的總?cè)藬?shù),該學(xué)生的姓名,學(xué)生類型,平均成績(jī)。
Student類: using System;using System.Collections.Generic;using System.Text;namespace Test3_1 {
public abstract class Student
{
protected string name;
protected int age;
public static int number;
public Student(string name, int age)
{
this.name = name;
this.age = age;
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
number++;
}
public string Name
{
get { return name;}
}
public abstract double Average();
}
public class Pupil : Student
{
protected double chinese;
protected double math;
public Pupil(string name, int age, double chinese, double math)
: base(name, age)
{
this.chinese = chinese;
this.math = math;
}
public override double Average()
{
return(chinese + math)/ 2;
}
}
public class Middle : Student
{
protected double chinese;
protected double math;
protected double english;
public Middle(string name, int age, double chinese, double math, double english)
: base(name, age)
{
this.chinese = chinese;
this.math = math;
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
this.english = english;
}
public override double Average()
{
return(chinese + math + english)/ 3;
}
}
public class College : Student
{
protected double required;
protected double elective;
public College(string name, int age, double required, double elective)
: base(name, age)
{
this.required = required;
this.elective = elective;
}
public override double Average()
{
return(required + elective)/ 2;
}
} } Form窗體內(nèi)的代碼:
using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;namespace Test3_1 {
public partial class Form1 : Form
{
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
public Form1()
{
InitializeComponent();
}
private void btnSmall_Click(object sender, EventArgs e)
{
Pupil),Convert.ToDouble(txtMath.Text));
lblShow.Text += “總?cè)藬?shù):” +Convert.ToString(Student.number)+ “,” + “姓名:” + p.Name + “,” + “小學(xué)生” + “,” + “平均成績(jī)?yōu)椋骸?+ p.Average()+“n”;
}
private void btnMiddle_Click(object sender, EventArgs e)
{
Middle Convert.ToInt32(txtAge.Text),m
=
new
Middle(txtName.Text,Convert.ToDouble(txtChinese.Text), p
=
new Pupil(txtName.Text,Convert.ToInt32(txtAge.Text),Convert.ToDouble(txtChinese.TextConvert.ToDouble(txtMath.Text),Convert.ToDouble(TxtEnglish.Text));
lblShow.Text += “總?cè)藬?shù):” + Convert.ToString(Student.number)+ “,” + “姓名:” + m.Name + “,” + “中學(xué)生” + “,” + “平均成績(jī)?yōu)椋骸?+ m.Average()+ “n”;
}
private void btnBig_Click(object sender, EventArgs e)
{
College Convert.ToInt32(txtAge.Text), Convert.ToDouble(txtMath.Text));
lblShow.Text += “總?cè)藬?shù):” + Convert.ToString(Student.number)+ “,” + “姓名:” + c.Name + “,” + “大學(xué)生” + “,” + “平均成績(jī)?yōu)椋骸?+ c.Average()+ “n”;
}
}
c
=
new
College(txtName.Text,Convert.ToDouble(txtChinese.Text),金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
}
2、設(shè)計(jì)一個(gè)Windows應(yīng)用程序,在該程序中定義平面圖形抽象類和派生類圓,矩形和三角形。
Figure類代碼: using System;using System.Collections.Generic;using System.Text;namespace Test3_2 {
public abstract class Figure
{
public abstract double Area();
}
public class Circle:Figure
{
double radius;
public Circle(double r)
{
radius = r;
}
public override double Area()
{
return radius * radius * 3.14;
}
}
public class JUxing:Figure
{
double chang;
double kuan;
public JUxing(double c, double k)
{
this.chang = c;
this.kuan = k;
}
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
public override double Area()
{
return chang * kuan;
}
}
public class San:Figure
{
double bian;
double heigth;
public San(double b, double h)
{
this.bian = b;
this.heigth = h;
}
public override double Area()
{
return bian * heigth / 2;
}
} } Form窗體代碼: using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;namespace Test3_2 {
public partial class Form1 : Form
{
public Form1()
{
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
InitializeComponent();
}
private void btnCircle_Click(object sender, EventArgs e)
{
Circle c=new Circle(Convert.ToInt32(TxtChang.Text));
lblShow.Text = “圓的面積為:” + c.Area();
}
private void btnJu_Click(object sender, EventArgs e)
{
JUxing
j
=
new JUxing(Convert.ToInt32(TxtChang.Text),Convert.ToInt32(TxtHigh.Text));
lblShow.Text = “矩形的面積為:” + j.Area();
}
private void btnSan_Click(object sender, EventArgs e)
{
San
s
=
new
San(Convert.ToInt32(TxtChang.Text), Convert.ToInt32(TxtHigh.Text));
lblShow.Text = “三角形的面積為:” + s.Area();
}
} }
3、定義一個(gè)Person類,包含姓名字段和一個(gè)方法,早上8:30學(xué)生開始上課,教師開始講課。分別用new關(guān)鍵字,虛方法,抽象類實(shí)現(xiàn)多態(tài)性。
New關(guān)鍵字: using System;using System.Collections.Generic;using System.Text;
namespace third.three {
class Program
{
static void Main(string[] args)
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
{
Student s=new Student(“學(xué)生”);
Teacher t=new Teacher(“教師”);
Console.WriteLine(s.name+s.work());
Console.WriteLine(t.name+t.work());
Console.ReadLine();
}
}
public class Person
{
public string name;
public interface method
{ string work();}
}
public class Student:Person
{
public Student(string name)
{ this.name = name;}
public string work()
{ return “早上8:30開始上課”;}
}
public class Teacher:Person
{
public Teacher(string name)
{ this.name = name;}
public string work()
{ return “開始講課”;}
} } 虛方法: using System;using System.Collections.Generic;using System.Text;
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
namespace third.three.two {
class Program
{
static void Main(string[] args)
{
Student s = new Student(“張三”,“學(xué)生”);
PersonWork(s);
Teacher t=new Teacher(“李斯”,“教師”);
PersonWork(t);
}
private static void PersonWork(Person Person)
{ Console.WriteLine(Person.Work());}
}
public class Person
{
public string name;
public Person(string name)
{ this.name = name;}
public virtual string Work()
{ return string.Format(“Person{0}:早上8:30開始”,name);}
}
public class Student : Person
{
private string type;
public Student(string name, string type)
: base(name)
{ this.type = type;}
public override string Work()
{
return string.Format(“Person{0}:早上8:30開始上課”, name);
}
}
public class Teacher : Person
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
{
private string type;
public Teacher(string name, string type)
: base(name)
{ this.type = type;}
public override string Work()
{
return string.Format(“Person{0}:開始講課”, name);
}
} }
抽象類: using System;using System.Collections.Generic;using System.Text;
namespace third.three.three {
class Program
{
static void Main(string[] args)
{
Student s = new Student(“張三”, “學(xué)生”);
PersonWork(s);
Teacher t = new Teacher(“李斯”, “教師”);
PersonWork(t);
}
private static void PersonWork(Person person)
{
Console.WriteLine(person.Work());
}
}
public abstract class Person
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
{
public string name;
public Person(string name)
{ this.name = name;}
public abstract string Work();
}
public class Student : Person
{
private string type;
public Student(string name, string type)
: base(name)
{
this.type = type;
}
public override string Work()
{
return string.Format(“Person{0}:早上8:30開始上課”, name);
}
}
public class Teacher : Person
{
private string type;
public Teacher(string name, string type)
: base(name)
{
this.type = type;
}
public override string Work()
{
return string.Format(“Person{0}:開始講課”, name);
}
} }
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
六、實(shí)驗(yàn)體會(huì)(遇到問題及解決辦法,編程后的心得體會(huì))
通過本次實(shí)驗(yàn),我理解了類的繼承性與多態(tài)性;掌握了虛方法的定義以及如何用虛方法來實(shí)現(xiàn)多態(tài);掌握了抽象類的定義以及如何用抽象方法來實(shí)現(xiàn)多態(tài)。這次實(shí)驗(yàn)與前兩次不同,采用Windows應(yīng)用程序,既涉及到代碼段也涉及到界面的設(shè)計(jì)。所以,勉強(qiáng)通過實(shí)驗(yàn)。
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
實(shí)驗(yàn)項(xiàng)目名稱: 接口、文件和流 實(shí)驗(yàn)學(xué)時(shí): 6 同組學(xué)生姓名: 實(shí)驗(yàn)地點(diǎn): A205 實(shí)驗(yàn)日期: 12月7日-12月21日 實(shí)驗(yàn)成績(jī): 批改教師: 批改時(shí)間:
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
實(shí)驗(yàn)4 接口、文件和流
一、實(shí)驗(yàn)?zāi)康?/p>
(1)掌握接口的定義及使用方法;
(2)掌握流,序列化和反序列化的概念和使用方法;(3)掌握流文件的讀寫操作類及其使用方法;
(4)掌握OpenFileDialog,SaveFileDialog等控件的使用。
二、實(shí)驗(yàn)要求
(1)編寫程序要規(guī)范、正確,上機(jī)調(diào)試過程和結(jié)果要有記錄;(2)做完實(shí)驗(yàn)后給出本實(shí)驗(yàn)的實(shí)驗(yàn)報(bào)告。
三、實(shí)驗(yàn)設(shè)備、環(huán)境
安裝有Visual Studio.NET軟件。
四、實(shí)驗(yàn)步驟
1、分析題意;
2、根據(jù)題目要求,新建項(xiàng)目;
3、編寫并輸入相關(guān)的程序代碼;
5、運(yùn)行與調(diào)試項(xiàng)目;
6、保存項(xiàng)目。
五、實(shí)驗(yàn)內(nèi)容
1、定義一個(gè)Person類,包含姓名字段和一個(gè)方法,早上8:30學(xué)生開始上課,教師開始講課。用接口來實(shí)現(xiàn)。
using System;using System.Collections.Generic;using System.Text;namespace Test4_1 {
class Program
{
static void Main(string[] args)
{
Student s = new Student(“張三”,“學(xué)生”);
Console.WriteLine(s.Work());
Teacher t = new Teacher(“李四”,“老師”);
Console.WriteLine(t.Work());
}
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
public abstract class Person
{
public string name;
public Person(string name)
{
this.name = name;
}
}
interface IPerson
{
string type { get;}
string Work();
}
public class Student :Person, IPerson
{
public string type
{
get { return string.Format(“老師”);}
}
public Student(string name, string type)
: base(name)
{
this.name=name;
}
public string Work()
{
return string.Format(“Person{0}:早上8:30開始上課”, name);
}
}
public class Teacher :Person, IPerson
{
public string type
{
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
get { return string.Format(“學(xué)生”);}
}
public Teacher(string name, string type)
: base(name)
{
this.name = name;
}
public string Work()
{
return string.Format(“Person{0}:早上8:30開始講課”, name);
}
}
} }
2、聲明一個(gè)接口Iplayer,包含5個(gè)接口方法:播放,停止,暫停,上一首和下一首。在該程序中定義一個(gè)MP3播放器類和一個(gè)AVI播放器類,以實(shí)現(xiàn)該接口。
MP3類(包含Iplayer接口,AVI類): using System;using System.Collections.Generic;using System.Text;namespace Test4_2 {
interface IPlayer
{
string Play();
string Stop();
string Pause();
string Pre();
string Next();
}
public class MP3:IPlayer
{
public string Play()
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
{
return “正在播放MP3歌曲!”;
}
public string Stop()
{
return “停止播放MP3歌曲!”;
}
public string Pause()
{
return “暫停播放MP3歌曲!”;
}
public string Pre()
{
return “播放上一首MP3歌曲!”;
}
public string Next()
{
return “播放下一首MP3歌曲!”;
}
}
public class AVI : IPlayer
{
public string Play()
{
return “正在播放AVI歌曲!”;
}
public string Stop()
{
return “停止播放AVI歌曲!”;
}
public string Pause()
{
return “暫停播放AVI歌曲!”;
}
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
public string Pre()
{
return “播放上一首AVI歌曲!”;
}
public string Next()
{
return “播放下一首AVI歌曲!”;
}
} } Form窗體里代碼: using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;namespace Test4_2 {
public partial class Form1 : Form
{
IPlayer iplayer;
MP3 mp3;
AVI avi;
public Form1()
{
InitializeComponent();
}
private void btnMp3_Click(object sender, EventArgs e)
{
mp3 = new MP3();
iplayer =(IPlayer)mp3;
}
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
private void btnPlay_Click(object sender, EventArgs e)
{
label1.Text = iplayer.Play();
}
private void btnUp_Click(object sender, EventArgs e)
{
label1.Text = iplayer.Pre();
}
private void btnStop_Click(object sender, EventArgs e)
{
label1.Text = iplayer.Stop();
}
private void btnPause_Click(object sender, EventArgs e)
{
label1.Text = iplayer.Pause();
}
private void btnNext_Click(object sender, EventArgs e)
{
label1.Text = iplayer.Next();
}
private void btnAvi_Click(object sender, EventArgs e)
{
avi = new AVI();
iplayer =(IPlayer)avi;
}
} }
3、實(shí)現(xiàn)對(duì)文本文件的讀寫操作,用文件操作控件打開和保存文件。
using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.IO;namespace Test4_3
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btnSave_Click(object sender, EventArgs e)
{
saveFileDialog1.ShowDialog();
StreamWriter
sw = StreamWriter(saveFileDialog1.FileName,true);
sw.WriteLine(DateTime.Now.ToString());
sw.WriteLine(txtSource.Text);
sw.Close();
}
private void btnShow_Click(object sender, EventArgs e)
{
StreamReader sr = StreamReader(saveFileDialog1.FileName);
txtShow.Text = sr.ReadToEnd();
sr.Close();
}
} }
4、實(shí)現(xiàn)對(duì)二進(jìn)制文件的讀寫操作。
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.IO;
new
new
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
namespace Test4_4 {
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btnSave_Click(object sender, EventArgs e)
{
FileStream
fs
= FileStream(@“d:Datastudent.dat”,FileMode.Append,FileAccess.Write);
BinaryWriter bw = new BinaryWriter(fs);
bw.Write(Int32.Parse(txtStuNo.Text));
bw.Write(TxtName.Text);
bool isMale;
if(rdoMan.Checked)
isMale = true;
else
isMale = false;
bw.Write(isMale);
fs.Close();
bw.Close();
}
private void btnShow_Click(object sender, EventArgs e)
{
lstShow.Items.Clear();
lstShow.Items.Add(“學(xué)號(hào)t姓名t性別”);
FileStream
fs
= FileStream(@“d:Datastudent.dat”,FileMode.Open,FileAccess.Read);
BinaryReader br = new BinaryReader(fs);
fs.Position = 0;
while(fs.Position!= fs.Length)
{
new
new
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
int s_no = br.ReadInt32();
string name = br.ReadString();
string sex = “";
if(br.ReadBoolean())
sex = ”男“;
else
sex = ”女“;
string
result String.Format(”{0}t{1}t{2}“,s_no,name,sex);
lstShow.Items.Add(result);
}
br.Close();
fs.Close();
}
} }
5、實(shí)現(xiàn)對(duì)象序列化和反序化。
Student類: using System;using System.Collections.Generic;using System.Text;namespace Test4_5 {
[Serializable]
public class Student
{
public int sno;
public string name;
public bool sex;
public Student(int s_no, string name, bool isMale)
{
this.sno = s_no;
this.name = name;
this.sex = isMale;
=
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
}
} } StudentList類: using System;using System.Collections.Generic;using System.Text;namespace Test4_5 {
[Serializable]
public class StudentList
{
private Student[] list = new Student[100];
public Student this[int index]
{
get
{
if(index < 0 || index >= 100)
return list[0];
else
return list[index];
}
set
{
if(!(index < 0 || index >=100))
list[index] = value;
}
}
} } Form下的代碼: using System;using System.Collections.Generic;using System.ComponentModel;
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.IO;using System.Runtime.Serialization.Formatters.Binary;namespace Test4_5 {
public partial class Test9_32 : Form
{
private StudentList list = new StudentList();
private int i = 0;
public Test9_32()
{
InitializeComponent();
}
private void Test9_32_Load(object sender, EventArgs e)
{
}
private void btnSave_Click(object sender, EventArgs e)
{
string file = @”d:datastudent.dat";
Stream
stream
= FileStream(file,FileMode.OpenOrCreate,FileAccess.Write);
BinaryFormatter bf = new BinaryFormatter();
bf.Serialize(stream,list);
stream.Close();
}
private void btnAdd_Click(object sender, EventArgs e)
{
int sno = Int32.Parse(txtStuNo.Text);
bool isMale;
if(rdoMan.Checked)
isMale = true;
new
第三篇:C#程序設(shè)計(jì)教程期末復(fù)習(xí)題及答案
習(xí)題 1
一、選擇題
1.在C#中 B 都是對(duì)象。
A 任何類型 B 任何事物 C 任何代碼 D 任何技術(shù) 2.對(duì)象包含數(shù)據(jù)和 A 的方法。
A 在該數(shù)據(jù)上工作 B 調(diào)用 C 函數(shù)調(diào)用 D 傳遞參數(shù) 3.一個(gè)類是 D 的藍(lán)本。
A 數(shù)據(jù)集合 B 函數(shù)集合 C 方法集合 D 給定功能集合 4..NET構(gòu)架包含公用語(yǔ)言運(yùn)行時(shí)期和 B。5..NET的核心是 A。
A CLR B Windows2000 C DNA D 分解平臺(tái) 6.C#程序以 B 擴(kuò)展名保存編寫的程序。A.CS B.PS C.CSS D.SC 7.System是 B 的命名空間。
A 存儲(chǔ)系統(tǒng)類 B 控制臺(tái)類 C I/O操作 D 新項(xiàng)目 8.namespace用于聲明 B。
A 新項(xiàng)目 B 一個(gè)命名空間 C 類與方法 D 指令 9.每個(gè)C#程序必須有一個(gè) D 方法。A 類方法 B 構(gòu)造方法 C Main D 重載方法
二、問答題
1.面向?qū)ο缶幊痰娜笤瓌t是什么? 答:封裝、繼承和多態(tài)性。2.封裝是什么?
答:封裝是用于隱藏對(duì)象實(shí)際的制作細(xì)節(jié)。3.繼承是什么?
答:繼承是在建立新的特定對(duì)象時(shí),可以使用現(xiàn)有對(duì)象的功能性。4.多態(tài)性是什么?
答:多態(tài)性是程序代碼能夠依據(jù)實(shí)際對(duì)象所需而進(jìn)行不同的行為。5..NET的核心構(gòu)件包括哪些? 答:(1).NET構(gòu)造塊服務(wù)或有計(jì)劃的訪問某些服務(wù)。
(2)將在新的Internet設(shè)備上運(yùn)行的.NET設(shè)備軟件。(3).NET用戶經(jīng)驗(yàn)。6.CLR的作用是什么?
答:CLR是.NET的核心,它是一個(gè)運(yùn)行時(shí)期環(huán)境,在該環(huán)境中,以不同語(yǔ)言編寫的應(yīng)用程序均能始終運(yùn)行。
三、編程題
使用.NET代碼編輯器編寫一個(gè)C#應(yīng)用程序,以在屏幕打印出:
C# is the Component-oriented language in C and C++ family of language.要求:
(1)使用using System命名空間,即定位System命名空間的Console類。(2)不使用using System命名空間,即System命名空間的Console類。(3)使用using指令的別名,即使用using創(chuàng)建using的別名。答案:(1)
//Example1.cs Using System;Class Example1 { Public static void Main(){ Console.Write(“C# is the Component-oriented language ”);Console.WriteLine(“in C and C++ family of language.”);} }(2)
//Example2.cs Class Example1 { Public static void Main(){ System.Console.Write(“C# is component-oriented language”);System.Console.WriteLine(“in C and C++ family language.”);
} }(3)Example3.cs Using output=System.Console;Class Example1
Public static void Main(){ Output.Write(“C# is component-oriented language”);}
習(xí)題2
一、選擇題
1.C#的數(shù)據(jù)類型有 A 和 C 兩種。
A 值類型 B 調(diào)用類型 C 引用類型 D 關(guān)系類型 2.C#的值類型包括 A、B 和 D 三種。A 枚舉 B 基本類型 C 整形 D 結(jié)構(gòu) E浮點(diǎn)型 F 字符型
3.C#的引用類型包括 A、B、C、F、G 和 H 六種。
A string B object C 類 D float E char F 數(shù)組G 代表 H 4.裝箱是把值類型轉(zhuǎn)換到 B 類型。
A 數(shù)組 B 引用 C char D string 5.拆箱是引用類型返回到 C 類型。
A string B char C 值 D 數(shù)組 6. A 類型是所有類型的根。
接口 A System.Object B object C string D System.Int32 7.從派生類到基類對(duì)象的轉(zhuǎn)換是 B 類型轉(zhuǎn)換。A 顯示 B 隱式 C 自動(dòng) D 專向 8.從基類到派生類對(duì)象的轉(zhuǎn)換是 D 類型轉(zhuǎn)換。A 隱式 B 自動(dòng) C專向 D 顯示 9.強(qiáng)制轉(zhuǎn)換對(duì)象可以使用 B 關(guān)鍵字實(shí)現(xiàn)。A is B as C this D object 10.命名空間用于定義 A 的作用域。
A 應(yīng)用程序 B 有關(guān)類型 C 多重源代碼 D 層次結(jié)構(gòu) 11.using關(guān)鍵字用于 B 命名空間中的Console對(duì)象。A Console B System C Object D Int32
二、填空題
1.下列程序的運(yùn)行結(jié)果是 99.44。//Exam1.cs using System;class Using { public static void Main(){ int i=918;float f=10.25f;short sh=10;double d=11.19;Console.WriteLine(i+f+sh+d);} } 2.下列程序的運(yùn)行結(jié)果是 25.5。//Exam2.cs using System;class Using { public static void Main(){ int i=5;float f=5.1f;Console.WriteLine(i*f);} }
二、編程題
1. 已知a=1,b=2,c=3,x=2,計(jì)算y=ax+bx+c之值。2. 已知圓的半徑Radius=2.5,計(jì)算圓的面積。(PI=3.14159)要求:
(1)使用基本方法;(2)使用裝箱與拆箱;
(3)輸出以double,float,int,decimal,short表示;(4)使用object類與類型轉(zhuǎn)換;(5)使用派生類與as。答案: 1. 方案一: //YValue.cs using System;class Using { public static void Main(){ int a=1,b=2,c=3,x=2,y;y=(a*x+b)*x+c;Console.WriteLine(“y={0}”,y);} } 方案二:
//YValue1.cs using System;class Using { public static void Main(){ int a=1,b=2,c=3,x=2;Console.WriteLine(“y={0}”,(a*x+b)*x+c);} } 2.
(1)使用基本方法 方案一:
//CircleAreaApp.cs using System;class CircleAreaApp { public static void Main(){ double Radius=2.5,Area;Area=3.14159*Radius*Radius;Console.WriteLine(“Area={0}”,Area);} } 方案二:
//CircleAreaApp1.cs using System;class CircleAreaApp { public static void Main(){ double Radius=2.5;Console.WriteLine(“Area={0}”,3.14159*Radius*Radius);} }(2)使用裝箱與拆箱 //CircleAreaApp2.cs using System;class CircleAreaApp { public static void Main(){ double Radius=2.5;double Area=3.14159*Radius*Radius;Console.WriteLine(“Area={0}”,Area);object obj=Area;Console.WriteLine(“Area={0}”,(double)obj);} }(3)輸出以double,float,int,decimal,short表示 //CircleAreaApp3.cs using System;class CircleAreaApp { public static void Main(){ double Radius=2.5;double Area=3.14159*Radius*Radius;Console.WriteLine(“Area={0}”,Area);Console.WriteLine(“Area={0}”,(float)Area);Console.WriteLine(“Area={0}”,(int)Area);Console.WriteLine(“Area={0}”,(decimal)Area);Console.WriteLine(“Area={0}”,(short)Area);} }(4)使用object類與類型轉(zhuǎn)換 //CircleAreaApp4.cs using System;class Circle { public double Radius=2.5;} class CircleAreaAPP { public static void Main(){ Circle cir=new Circle();double Area=3.14159*cir.Radius*cir.Radius;Console.WriteLine(“Area={0}”,Area);Console.WriteLine(“Area={0}”,(float)Area);object obj=(float)Area;Console.WriteLine(“Area={0}”,(float)obj);} }(5)使用派生類與as //CircleAreaApp5.cs using System;class Circle {} class CircleAreaAPP:Circle { public static void Main(){ double Radius=2.5;double Area=3.14159*Radius*Radius;Console.WriteLine(“Area={0}”,Area);Console.WriteLine(“Area={0}”,(float)Area);object obj=(float)Area;Console.WriteLine(“Area={0}”,(float)obj);Circle cir=new Circle();Console.WriteLine(“cir={0}”,cir==null?“null”:cir.ToString());CircleAreaAPP cirA=new CircleAreaAPP();cirA=cir as CircleAreaAPP;Console.WriteLine(“cirA={0}”,cirA==null?“null”:cirA.ToString());} }
習(xí)題3
一、選擇題
1.字符串的輸入使用 B 方法。
A)Cosole.Read()B)Cosole.ReadLine()C)Cosole.Write()D)Cosole.In.read()2.用于格式化輸出十進(jìn)制數(shù)的符號(hào)是 C。
A)C B)E C)D D)G E)N F)X 3.用于格式化輸出浮點(diǎn)數(shù)的符號(hào)是 D。A)C B)D C)G D)F E)N F)X 4.用于格式完整日期/時(shí)間模式(長(zhǎng)時(shí)間)的符號(hào)是 A。A)D B)F C)G D)M E)R F)S 5.用于格式完整日期/時(shí)間模式(短時(shí)間)的符號(hào)是 C。A)D B)f C)g D)d E)F F)G
二、編程題
1.從鍵盤輸入一個(gè)小寫字母,然后輸出所輸入的小寫字母后其對(duì)應(yīng)單代碼值。2.從鍵盤輸入兩個(gè)浮點(diǎn)數(shù),然后輸出這兩個(gè)數(shù)相加的結(jié)果(要求小數(shù)后取4位)。3.從鍵盤輸入年、月、日的數(shù)值,然后用完整的日期事件格式化輸出。答案: 1.
//CharValue.cs using System;public class CharValue { public static void Main(){ Console.Write(“Enter an char:”);char ch = char.Parse(Console.ReadLine());//or char ch=(char)Console.Readline();Console.WriteLine(ch);Console.WriteLine((int)ch);} }
2.//TwoFloatAddition.cs using System;public class TwoFloatAddition { public static void Main(){ Console.Write(“Enter a float:”);float f1= float.Parse(Console.ReadLine());Console.Write(“Enter a float:”);float f2 = float.Parse(Console.ReadLine());Console.WriteLine(“Result of addition for two float is: {0:F4}”,f1+f2);} }
3.//DateTimeFormat.cs using System;using System.Globalization;public class DateTimeFormat { public static void Main(String[] args){ Console.Write(“Enter year month day: ”);string s = Console.ReadLine();DateTime s1 = DateTime.Parse(s);Console.WriteLine(“d {0:d}”,s1);Console.WriteLine(“D {0:D}”, s1);Console.WriteLine(“f {0:f}”, s1);Console.WriteLine(“F {0:F}”, s1);Console.WriteLine(“g {0:g}”, s1);Console.WriteLine(“G {0:G}”, s1);Console.WriteLine(“m {0:m}”, s1);Console.WriteLine(“M {0:M}”, s1);Console.WriteLine(“r {0:r}”, s1);Console.WriteLine(“R {0:R}”, s1);Console.WriteLine(“s {0:s}”, s1);} }
習(xí)題4 1.以下運(yùn)算符的運(yùn)算符優(yōu)先級(jí),D 最高,E 最低。A)+ B)<< C)| D)()E)|| F)++ 2.以下運(yùn)算符中,A 是三目運(yùn)算符。
A)?: B)--C)= D)<= 3.在堆棧上創(chuàng)建對(duì)象和調(diào)用構(gòu)造函數(shù)時(shí),通常使用 B 關(guān)鍵字。A)typeof B)new C)as D)is 4. A 用于獲取系統(tǒng)的System.Type類型。
A)typeof B)new C)sizeof D)is
二、寫出下列程序執(zhí)行結(jié)果。1.運(yùn)行結(jié)果。//Increment1.cs using System;public class Increment1 { public static void Main(){ int i1=1993,i2=11,i3=19;Console.WriteLine(“i1={0},i2={1},i2={2}”,i1,i2,i3);i1=i3;Console.WriteLine(“i1={0},i2={1},i2={2}”,i1,i2,i3);i3+=i2;Console.WriteLine(“i1={0},i2={1},i2={2}”,i1,i2,i3);i1=i2+i3;Console.WriteLine(“i1={0},i2={1},i2={2}”,i1,i2,i3);i1++;++i2;i3=i1++ + ++i2;Console.WriteLine(“i1={0},i2={1},i2={2}”,i1,i2,i3);} }
2.運(yùn)行結(jié)果:。//Increment2.cs using System;public class Increment2 { public static void Main(){ int a,b;a = b = 1;b = a / ++b;Console.WriteLine(“a={0} b={1}”,a,b);b = a++-i1);Console.WriteLine(---i1);Console.WriteLine(i2---i3);Console.WriteLine(i4---i5);Console.WriteLine(-i6---i7);Console.WriteLine(i8++/ ++i9*--i10);Console.WriteLine(++i11/i12++ *--i13);Console.Read();} }
三、編程題
1.輸入兩個(gè)整數(shù),輸出它們(實(shí)數(shù)除)的商,并輸出商的第2位小數(shù)位(例如:5/18.0=1.875, 1.875的第二位小數(shù)是7)。
2.輸入圓球的半徑,計(jì)算圓球的表面積(4πr)和體積(4πr/3),其中π=3.14159。3.輸入秒數(shù),把它轉(zhuǎn)換為用小時(shí)、分、秒表示。例如,輸入7278秒,則輸出2小時(shí)1分18秒。4.計(jì)算x=ab+5ln(1+c)要求:
(1)輸出結(jié)果以科學(xué)表示法、定點(diǎn)表示法(小數(shù)點(diǎn)后保留兩位)和普通表示法表示。(2)輸出結(jié)果以整數(shù)表示并指明當(dāng)前工作的日期和時(shí)間。
5.計(jì)算答案: 1.
//RealDivide.cs using System;public class RealDivide
3223 { public static void Main(){ Console.WriteLine(“Enter two integers:”);string[] s = Console.ReadLine().Split();;int a = int.Parse(s[0]);int b = int.Parse(s[1]);float f = 1.0f * a / b;int c=(int)(f*100)%10;Console.WriteLine(“Result of real divide is : {0}”,f);Console.WriteLine(“Second place of decimals is : {0}”,c);} }
2.//SphereA.cs using System;public class Sphere { public static void Main(){ Console.Write(“Enter the radius of sphere: ”);string s = Console.ReadLine();double radius = double.Parse(s);double surfaceArea = 4 * Math.PI * radius * radius;double Volume = 4 * Math.PI * radius * radius * radius / 3;Console.WriteLine(“SurfaceArea={0}”,surfaceArea);Console.WriteLine(“Volume={0}”,Volume);} }
3.//HourMinuteSecond.cs using System;public class HourMinuteSecond { public static void Main(){ int hour, minute, second;Console.Write(“Enter numbers of second:”);string s = Console.ReadLine();second = int.Parse(s);hour = second / 3600;second %= 3600;minute = second / 60;second = second % 60;Console.WriteLine(“{0} hour {1} minute {2} second”,hour,minute,second);} }
4. //ValueX.cs using System;using System.Globalization;public class ValueX { public static void Main(){ double a, b, c, x;Console.Write(“Enter three numbers: ”);string[] s = Console.ReadLine().Split();a = double.Parse(s[0]);b = double.Parse(s[1]);c = double.Parse(s[2]);x = a * Math.Pow(b, 3)+ 5 * Math.Log(1 + c * c);Console.WriteLine(“x={0:E}ttx={1:F2}ttx={2:G}”, x, x, x);Console.WriteLine(“x={0:D}”,(int)x);DateTime NowTime = DateTime.Now;Console.WriteLine(“{0:D}”, NowTime);} }
5.//MathTestA.cs using System;public class MathTestA { public static void Main(){ double alpha, beta, y;Console.Write(“Enter value of alpha: ”);string s = Console.ReadLine();alpha = double.Parse(s);Console.Write(“Enter value of beta: ”);s = Console.ReadLine();beta = double.Parse(s);y = Math.Pow(Math.Abs(Math.Log(Math.Sqrt(1 + alpha * alpha))a)*(sc)));Console.WriteLine(“Area of triangle is :{0:F2}n”, Area);} else { Console.WriteLine(“can't construct triangle!n”);} Console.ReadLine();}
} 運(yùn)行結(jié)果:
2.//Prime.cs
class Prime { public static void Main(){ int a, n, m = 0, i, j;bool flag;for(i = 2;i <= 50;i++){ flag = true;j = 2;a =(int)Math.Sqrt((double)i);while(flag && j <= a){ if(i % j == 0)flag = false;j++;} if(flag){ Console.Write(“{0:D2} ”, i);m++;if(m % 4 == 0)Console.WriteLine();} } Console.WriteLine();Console.ReadKey();} } 運(yùn)行結(jié)果:
3.//CountDigit.cs class CountDigit { public static void Main(){ int num = 0;char ch;Console.Write(“Enter chars:”);while(true){ if((ch =(char)Console.Read())== 'b')if((ch =(char)Console.Read())== 'y')if((ch =(char)Console.Read())== 'e')break;if(ch >= '0' && ch <= '9')num++;} Console.WriteLine(“Numbers of digit is:{0}n”, num);Console.Read();Console.ReadKey();} } 運(yùn)行結(jié)果:
4.//ForSinCosTan.cs class ForSinCosTan { public static void Main(){ float sinx, cosx, tanx;double x;Console.WriteLine(“xtsinxtcosxttanx”);for(int i = 2;i <= 10;i += 2){ x = i * Math.PI / 180;sinx =(float)Math.Sin(x);cosx =(float)Math.Cos(x);tanx =(float)Math.Tan(x);Console.WriteLine(“{0}tt{1:F6}tt{2:F6}tt{3:F6}”, i, sinx, cosx, tanx);} Console.Read();Console.ReadKey();} } 運(yùn)行結(jié)果:
5.//Factorial.cs
class Factorial { static int n, Fact;public static void Main(){ n = 0;Fact = 1;Console.WriteLine(“Use while loop:”);while(++n <= 5){ Fact *= n;Console.WriteLine(“ {0}!= {1}”, n, Fact);} Console.WriteLine(“Use do-while loop:”);n = 1;Fact = 1;do { Fact *= n;Console.WriteLine(“ {0}!= {1}”, n, Fact);} while(++n <= 5);Console.WriteLine(“Use for loop: ”);Fact = 1;for(n = 1;n <= 5;n++){ Fact *= n;Console.WriteLine(“ {0}!= {1}”, n, Fact);} Console.ReadKey();} } 運(yùn)行界面:
習(xí)題6
一、填空題
1.C#類的成員包括 域、方法、屬性、常量、索引、事件與運(yùn)算符
2.用于指定類的成員是否可訪問的修飾符有public、protected、private及internal。3.類最常用的方法是Main 4.構(gòu)造方法實(shí)例化對(duì)象的形式是 類名 對(duì)象=new 類名(構(gòu)造方法參數(shù))5.從另一個(gè)類,繼承一個(gè)類的語(yǔ)法是 class 派生類:基類 6.sealed類用于 確保一個(gè)類永不作為基類
二、編程題
1輸入一個(gè)數(shù)值作為正方形的邊長(zhǎng),計(jì)算正方形的面積,并輸出到屏幕上。要求:
(1)定義一個(gè)類,在類中定義無(wú)參的構(gòu)造方法和主方法。(2)定義一個(gè)類,在類中定義帶參的構(gòu)造方法和主方法。
2、重復(fù)輸入數(shù)據(jù),計(jì)算分段函數(shù)
?|x|?r?0y=?
22|x|?r??r?x要求:
(1)定義兩個(gè)類,在一個(gè)類中定義無(wú)參的構(gòu)造方法,在另一個(gè)類中定義主方法。(1)定義兩個(gè)類,在一個(gè)類中定義帶參的構(gòu)造方法,在另一個(gè)類中定義主方法。
3.從鍵盤讀入邊數(shù)(side),然后按輸入的邊數(shù)畫出一組由排列緊湊的星號(hào)組成的正方形。例如,side為4則畫出: * * * * * * * * * * * * 要求:
(1)定義一個(gè)類,在類中定義無(wú)參的構(gòu)造方法。
(2)定義有兩個(gè)類,在一個(gè)類中定義帶參的構(gòu)造方法,在另一個(gè)類中定義主方法。4.打印一個(gè)ASCⅡ碼表。
要求定義兩個(gè)類,在一個(gè)類中定義無(wú)參的構(gòu)造方法,在另一個(gè)類中定義主方法。5.重復(fù)輸入數(shù)據(jù)計(jì)算正方形、長(zhǎng)方形與任意三角形面積(要求使用單一繼承)。
答案 1.(1)答案
namespace ConsoleApplication1 { class Square { Square(){ Console.Write(“Enter length of side for square:”);double len = double.Parse(Console.ReadLine());Console.WriteLine(“Area={0}”, len * len);} public static void Main(){ for(;;){ Square obj = new Square();Console.Write(“Do you want to continue?(y/n)”);string s = Console.ReadLine();if(s.Equals(“n”))break;}
} } }
運(yùn)行結(jié)果:
(2)答案 namespace ConsoleApplication1 { class Square { public static readonly int N = 3;public Square(double len){ Console.WriteLine(“Area={0}”, len * len);} public static void Main(){ for(int i=1;i<=N;i++){ Console.Write(“Enter length of side for square: ”);string s=Console.ReadLine();double length=double.Parse(s);Square obj=new Square(length);} Console.ReadKey();} } } 運(yùn)行結(jié)果:
2.題(1)答案
namespace ConsoleApplication3 { class Function { public Function(){ Console.Write(“Enter value of x and r;”);string[] s = Console.ReadLine().Split();double x = double.Parse(s[0]);double r = double.Parse(s[1]);double y = Math.Abs(x)>= r ? 0 : Math.Sqrt(r * ry;} } static void Main(string[] args){ int x = 30, y = 50, a, b;fun(x, y out a ,out b)Console.WriteLine(“a=”+a +“b=”+b);} } A)50,30 B)30,50 C)80,—20 D)80,20
二、填空題
下面程序的執(zhí)行結(jié)果是()//FunApp2.cs Using System;class FunApp2 { int x = 888, y = 777, z = 666;public FunApp2(){ x++;y++;z++;} public FunApp2(int a, int b, int c){ x = a;y = b;z = c;} } public class FunApp { static void Main();FunApp2 obj1=new FunApp2();Console.Write Line(obj1.x);Console.Write Line(obj1.y);Console.Write Line(obj1.z);FunApp2 obj2=new FunApp2();Console.Write Line(obj2.x);Console.Write Line(obj2.y);Console.Write Line(obj2.z);} }
二、編程題
1,重復(fù)輸入任意數(shù)據(jù),計(jì)算y=
??0
???
r2?x2
|x|??r
|x|?r要求:
(1)使用值參數(shù)方法:(2)使用ref參數(shù)方法;(3)使用out參數(shù)方法;(4)使用ref與out參數(shù)方法;(5)使用重載方法;(6)使用重載構(gòu)造方法;(7)使用可變參數(shù)方法;(8)使用靜態(tài)方法。
(1)答案: using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ConsoleApplication1 { //YestA
class YTest { public void yMethod(double x, double r){ Console.WriteLine(“y={0}”, Math.Abs(x)> r ? 0 : Math.Sqrt(r * rx * x);} } class YTest {
第四篇:淺談C#程序設(shè)計(jì)課程的創(chuàng)新教學(xué)方法
淺談C#程序設(shè)計(jì)課程的創(chuàng)新教學(xué)方法
【摘要】本文主要討論高職軟件技術(shù)專業(yè)C#程序設(shè)計(jì)課程的教學(xué)方法,擬將創(chuàng)新學(xué)習(xí)的理論和實(shí)踐應(yīng)用于課程教學(xué)中,分析了接受性學(xué)習(xí)和創(chuàng)新學(xué)習(xí)各自的特點(diǎn)和適用知識(shí)的范圍。并對(duì)課堂教學(xué)模式、課后作業(yè)布置模式等教學(xué)環(huán)節(jié)提出了一些創(chuàng)新性的看法。
【關(guān)鍵詞】教學(xué)方法主動(dòng)學(xué)習(xí)創(chuàng)新學(xué)習(xí)課件開發(fā)教師學(xué)習(xí)
【中圖分類號(hào)】G71 【文獻(xiàn)標(biāo)識(shí)碼】A 【文章編號(hào)】2095-3089(2014)06-0249-01
1.序言
現(xiàn)在很多高職院校的軟件技術(shù)專業(yè)一般都開設(shè)了微軟公司開發(fā)的C#程序設(shè)計(jì)這門課程。學(xué)生對(duì)C#程序設(shè)計(jì)課程的學(xué)習(xí)都存在一定的問題。這門課程和那些傳統(tǒng)的知識(shí)型課程對(duì)比,有很多不一樣的創(chuàng)新思維過程在里面。因此這門課程的教學(xué)肯定不能像其它知識(shí)型課程那樣教學(xué),我們必須另想辦法來解決。筆者先后多次擔(dān)任《C#程序設(shè)計(jì)》課程的教學(xué),在教學(xué)過程中積累了一些實(shí)際的教學(xué)心得體會(huì)。
2.創(chuàng)新教學(xué)的理論
對(duì)于C#程序設(shè)計(jì)課程而言,其語(yǔ)法格式、變量、方法、屬性、封裝、繼承、多態(tài)等基本的程序設(shè)計(jì)技巧和方法都屬于可以采用接受性學(xué)習(xí)方式的概念性知識(shí)。而程序設(shè)計(jì)實(shí)例則是一項(xiàng)典型的創(chuàng)新活動(dòng),其主要的知識(shí)內(nèi)涵是如何在現(xiàn)有的知識(shí)和方法論的基礎(chǔ)上設(shè)計(jì)出不存在的知識(shí)作品(程序)。這就需要?jiǎng)?chuàng)新教學(xué)方法來使學(xué)生跟隨你的教學(xué)方式。
所謂創(chuàng)新教學(xué)并不是與把學(xué)生接受性學(xué)習(xí)絕對(duì)對(duì)立的,它必須以接受性學(xué)習(xí)為基礎(chǔ)和前提。創(chuàng)新教學(xué)的主要特征就是讓學(xué)生以掌握知識(shí)的全部?jī)?nèi)涵為目的,運(yùn)用邏輯思維,通過再創(chuàng)新教學(xué)內(nèi)容的方式進(jìn)行,將知識(shí)的學(xué)習(xí)過程變?yōu)橹R(shí)的創(chuàng)新過程。
3.創(chuàng)新教學(xué)的實(shí)際應(yīng)用
筆者在實(shí)際教學(xué)過程中,對(duì)于那些理論性的知識(shí),如語(yǔ)法結(jié)構(gòu)、程序結(jié)構(gòu)、觸發(fā)事件服務(wù)等,筆者采用大量真實(shí)有趣的生活實(shí)例進(jìn)行案例教學(xué)方法。最后用一個(gè)綜合性的簡(jiǎn)單程序?qū)嵗齺砺?lián)系整門課程的大部分理論和實(shí)踐知識(shí),并且將這個(gè)實(shí)例程序的編寫過程錄制成屏幕錄像形式的動(dòng)畫文件,在動(dòng)畫中用注解的方式將教師的講解融入其中,程序設(shè)計(jì)中的注意事項(xiàng),要掌握的組件屬性、方法和事件以及其中蘊(yùn)含的編程技巧、程序的擴(kuò)展思路和思考問題都在動(dòng)畫中得以體現(xiàn)。教師上課時(shí)可以播放動(dòng)畫并作針對(duì)性講解,這樣就完全避免了這類課程在教學(xué)時(shí)教師邊操作、邊講解的手足無(wú)措的現(xiàn)象。更重要的是,有些學(xué)生在上課時(shí)經(jīng)常開小差或請(qǐng)假,下課又搞不懂,他就可以通過下載動(dòng)畫課件文件在課后反復(fù)觀看,就把老師在課堂上的講解重現(xiàn)出來方便學(xué)習(xí)。這樣就可以將課堂教學(xué)直接延伸到了課堂之外,使得教師的知識(shí)教學(xué)和學(xué)生的自主學(xué)習(xí)可以達(dá)到高效而持續(xù)的教學(xué)目的。筆者的演示課件一般是課堂主要實(shí)例的編制全過程錄像加上文字解說,采用的屏幕錄像軟件是由天狼星軟件工作室開發(fā)的《屏幕錄像專家》?!镀聊讳浵駥<摇泛鸵话闫聊讳浵褴浖淖畲髤^(qū)別是給制作者更大的靈活性,可以全過程錄制也可以手動(dòng)選擇重點(diǎn)知識(shí)需要的畫面進(jìn)行錄制,錄制完后還可以很方便地任意剪輯、添加幀以及加入有趣的注解形式,并且在后期還可以適當(dāng)加入部分配音。更難得的是《屏幕錄像專家》可以生成Flash格式的動(dòng)畫文件,使得課件文件存儲(chǔ)空間大大減小,一般一個(gè)45分鐘的屏幕錄像課件不到5MB。而其他AVI格式的屏幕錄像軟件制作出來的動(dòng)畫文件則動(dòng)輒幾十MB甚至一百多BM。
對(duì)于軟件技術(shù)專業(yè)的當(dāng)代大學(xué)生來說,自學(xué)是獲取知識(shí)的另一次要途徑,它的重要性有時(shí)甚至超過課堂學(xué)習(xí)。筆者指導(dǎo)學(xué)生自學(xué)主要采用的是專業(yè)學(xué)習(xí)網(wǎng)站和圖書館資料。很多專業(yè)教學(xué)網(wǎng)站上都包括教材全部的知識(shí)點(diǎn)和實(shí)例的講解、源代碼甚至習(xí)題,學(xué)生可以通過這個(gè)網(wǎng)站完成初步自學(xué)的過程,這就大大減輕了教師課堂教學(xué)的壓力。另外通過興趣教學(xué)和擴(kuò)展性很強(qiáng)的課后作業(yè)可以督促學(xué)生充分地利用互聯(lián)網(wǎng)和圖書館等多種途徑去學(xué)習(xí)課程中所沒有的知識(shí)點(diǎn)、方法和技巧,使學(xué)生的創(chuàng)新學(xué)習(xí)能力得到很大的培養(yǎng)。
在最后兩周的實(shí)訓(xùn)教學(xué)中,筆者采用的是一種模塊化的教學(xué)方式,將最后的那個(gè)程序項(xiàng)目分為若干個(gè)有序而獨(dú)立的子模塊讓學(xué)生自己思考,解決了一個(gè)子模塊的同學(xué)可以上講臺(tái)演示和講解,然后在此基礎(chǔ)上進(jìn)入下一個(gè)子模塊,直至問題全部解決,完整的可執(zhí)行的軟件應(yīng)用程序項(xiàng)目也就呈現(xiàn)出來。最后,教師對(duì)整個(gè)過程進(jìn)行點(diǎn)評(píng)。在此過程中,每一個(gè)解決模塊的學(xué)生必須根據(jù)上一個(gè)學(xué)生的思路來進(jìn)行,也可以修正上一個(gè)同學(xué)的不合理的編碼,臺(tái)下的同學(xué)可以自由參與討論或借鑒別人的經(jīng)驗(yàn),最終目的是讓每個(gè)學(xué)生完成一個(gè)完整的程序作品并上交教師,讓學(xué)生覺得心理有很大的滿足感和成就感。
再探索過程是通過課后作業(yè)環(huán)節(jié)來實(shí)現(xiàn)的。作業(yè)的選題主要包含課程的知識(shí)點(diǎn)且有時(shí)要高于知識(shí)點(diǎn),其中作業(yè)要求也是分層次的,學(xué)生能夠做什么就做什么層次的作業(yè)。這些層次都是循序漸進(jìn)、環(huán)環(huán)相扣的,既體現(xiàn)了程序設(shè)計(jì)的趣味性又將面向?qū)ο蟮木幊趟枷肴谌氲阶鳂I(yè)中,更重要的是學(xué)生從這些作業(yè)的創(chuàng)新編程過程中體會(huì)到編程的樂趣和成就感,加深了他們對(duì)于程序設(shè)計(jì)的熱愛,提高了他們的創(chuàng)新思維能力。在筆者的教學(xué)實(shí)施過程中,課后作業(yè)這一環(huán)節(jié)是非常重要的,它是培養(yǎng)學(xué)生學(xué)習(xí)能力和解決問題能力最主要的教學(xué)環(huán)節(jié)。
4.教師的創(chuàng)新學(xué)習(xí)
教師的智能結(jié)構(gòu)包括知識(shí)結(jié)構(gòu)和能力結(jié)構(gòu)兩方面。創(chuàng)造型教師的知識(shí)結(jié)構(gòu)是一種三維立體結(jié)構(gòu)模式,它由知識(shí)的廣度、深度和獲取知識(shí)的方法三個(gè)維度變量組成。知識(shí)的廣度意味著創(chuàng)造型教師要具備廣博的科學(xué)基礎(chǔ)知識(shí),特別是新興的或邊緣學(xué)科知識(shí),能從多角度對(duì)自己的專業(yè)知識(shí)進(jìn)行審視分析、類比演繹,并且能在多學(xué)科交叉的“無(wú)人區(qū)”發(fā)現(xiàn)新問題,開拓新領(lǐng)域。知識(shí)的深度意味著創(chuàng)造型教師要具備精深的專業(yè)知識(shí),對(duì)本專業(yè)的新動(dòng)向和新成果有清晰的了解,并對(duì)本專業(yè)的課題有一定深度的見解,引導(dǎo)學(xué)生進(jìn)行科學(xué)研究與發(fā)明創(chuàng)造。獲取知識(shí)的方法意味著教師不僅教給學(xué)生固定的知識(shí),而且主要的是要教會(huì)學(xué)生獲得知識(shí)的方法。創(chuàng)新型教師就應(yīng)當(dāng)具備科學(xué)的方法論知識(shí),讓學(xué)生更快更有效地學(xué)習(xí)好科學(xué)文化知識(shí)。
筆者在任課程教學(xué)的之余,經(jīng)常加強(qiáng)學(xué)習(xí),從軟件工程、UML、軟件測(cè)試等到各種程序設(shè)計(jì)語(yǔ)言的各個(gè)領(lǐng)域,除此之外,還多次利用暑假的時(shí)間深入軟件公司進(jìn)行真實(shí)項(xiàng)目開發(fā),有效拓寬了自己的知識(shí)面和研究創(chuàng)新能力,形成扎實(shí)的技術(shù)功底,在課堂面對(duì)學(xué)生時(shí)才能自信而游刃有余,也才有能力帶領(lǐng)學(xué)生進(jìn)入深入的創(chuàng)新學(xué)習(xí)的思維中。同時(shí)在自己的學(xué)習(xí)過程中嘗試運(yùn)用創(chuàng)新方法,使創(chuàng)新方法在課堂的實(shí)踐可以循著一條可行的思路,做到有據(jù)可依。
5.結(jié)論
知識(shí)是教師教學(xué)和學(xué)生學(xué)習(xí)的共同載體,將知識(shí)劃分為理論性知識(shí)和程序性知識(shí)而采取不同的學(xué)習(xí)和教學(xué)方法,是創(chuàng)新教學(xué)法在高職教育中的重要應(yīng)用原則。接受性學(xué)習(xí)和創(chuàng)新教學(xué)各自適用于不同的知識(shí)內(nèi)涵,而創(chuàng)新教學(xué)和教師的創(chuàng)造能力是教學(xué)中培養(yǎng)學(xué)生創(chuàng)新能力的重要因素。
第五篇:《C#程序設(shè)計(jì)基礎(chǔ)教程與實(shí)訓(xùn)》習(xí)題答案
附錄Ⅰ 各章習(xí)題答案
第1章 C#語(yǔ)言概述
一、判斷題
1、√
2、×
3、√
4、×
5、√
6、√
7、×
8、×
二、選擇題
1、C
2、B
3、C
4、A
5、A
6、B
7、B
8、B
三、填空題
1、最新的;面向?qū)ο?/p>
2、C和C++;JAVA
3、先進(jìn)設(shè)計(jì)思想;安全性能
4、靈活性
5、集成開發(fā)環(huán)境(IDE)——Visual Studio.NET
6、Microsoft.NET Framework(微軟.NET框架體系)
7、最基本的通用語(yǔ)言運(yùn)行時(shí)庫(kù)CLR(Common Language Runtime);一些提供了具體功能的類庫(kù)
8、需要開發(fā)和設(shè)計(jì)的項(xiàng)目文件;應(yīng)用程序或組件
四、簡(jiǎn)答題
1、① 簡(jiǎn)潔易用的語(yǔ)法。② 自動(dòng)的資源回收機(jī)制。③ 與Web的緊密結(jié)合。④ 完整的安全性與錯(cuò)誤處理。⑤ 版本處理技術(shù)。⑥ 靈活性和兼容性。
2、C#程序必須包含一個(gè)Main方法,Main方法是程序的入口點(diǎn),程序控制在該方法中開始和結(jié)束。該方法用來執(zhí)行任務(wù),并在任務(wù)完成后返回信息。
第2章 常用標(biāo)準(zhǔn)控件
一、判斷題
1、×
2、×
3、√
4、×
5、√
6、×
7、√
8、√
二、選擇題
1、A
2、C
3、B
4、D
5、A
6、B
7、B
8、D
三、填空題
1、輸入/輸出信息
2、屬性
3、事件
4、TextAlign
5、Click
6、文本框(TextBox)
7、保證數(shù)據(jù)標(biāo)準(zhǔn)化
8、Show
四、簡(jiǎn)答題
1、簡(jiǎn)述生成控件的操作過程。
(1)單擊工具箱中相應(yīng)的工具按鈕,這一按鈕呈現(xiàn)被按下狀態(tài),表明被選定。
(2)移動(dòng)鼠標(biāo)到窗體上,這時(shí)鼠標(biāo)的指針變成十字形,在需要放置控件的左上角位置按下鼠標(biāo)左鍵。
(3)在窗體范圍內(nèi)向下向右拖動(dòng)鼠標(biāo),這時(shí)窗體上會(huì)顯示一個(gè)矩形框,當(dāng)其大小合適時(shí),松開鼠標(biāo)左鍵,窗體上就會(huì)顯示一個(gè)相應(yīng)大小的這種控件。
另外一種快捷的方法是在工具箱中相應(yīng)的工具按鈕上雙擊此按鈕,窗體上就會(huì)出現(xiàn)一個(gè)系統(tǒng)默認(rèn)大小的所選按鈕。
2、消息框有多少種Button參數(shù)設(shè)置? OK:只顯示“確定”按鈕
OKCancel:顯示“確定”和“取消”按鈕
AbortRetryIgnore:顯示“終止”、“重試”和“忽略”按鈕 YesNoCancel:顯示“是”、“否”和“取消” YesNo:顯示“是”和“否”
RetryCancel:顯示“重試”和“取消”
第3章 數(shù)據(jù)類型
一、填空題
1、-2,147,483,648 到 2,147,483,647
2、單精度;雙精度 3、16 4、1 5、99 6、2.2
7、false
8、隱式轉(zhuǎn)換;顯式轉(zhuǎn)換
二、判斷題
1、√
2、×
3、×
4、√
5、×
6、×
7、×
8、×
三、選擇題
1、A
2、C
3、D
4、A
5、B
6、B
7、D
8、C
四、簡(jiǎn)答題
1.請(qǐng)說明C#標(biāo)識(shí)符命名規(guī)則。
(1)不能跟系統(tǒng)關(guān)鍵字重名。(2)標(biāo)識(shí)符由字母、下劃線“_”、數(shù)字或中文組成。(3)標(biāo)識(shí)符應(yīng)以字母、中文或下劃線開頭。(4)標(biāo)識(shí)符中間不能包含空格。(5)C#標(biāo)識(shí)符大小寫敏感。
2.請(qǐng)簡(jiǎn)單說明銀行家舍入法。
銀行家的舍法與四舍五入只有一點(diǎn)不同,對(duì).5的舍入上,采用取偶數(shù)的方式。例:1.25最近的兩個(gè)只有1位小數(shù)的數(shù)字為1.2和1.3,舍入的結(jié)果將選擇最后一位為偶數(shù)的數(shù)字1.2。同理,也可以推斷出1.35舍入后為1.4。
如果在求和計(jì)算中使用四舍五入,一直算下去,誤差有可能會(huì)越來越大。機(jī)會(huì)均等才公平,也就是向上和向下各占一半才合理。在大量計(jì)算中,從統(tǒng)計(jì)角度來看,高一位分別是偶數(shù)和奇數(shù)的概率正好是50% : 50%。
第4章 運(yùn)算符和表達(dá)式
一、填空題
1、?:
2、0 3、1.1 4、2 5、2 6、2 7、18
8、true
9、false 10、2970
二、判斷題
1、×
2、√
3、×
4、√
5、√
6、×
7、×
8、×
三、選擇題
1、B
2、D
3、B
4、A
5、C
6、C
7、D
8、B
四、簡(jiǎn)答題
1.試闡述邏輯運(yùn)算符 & 和條件運(yùn)算符 &&之間的區(qū)別。
&& 運(yùn)算符與 & 運(yùn)算符的區(qū)別在于,&& 運(yùn)算符不能對(duì)整型進(jìn)行計(jì)算。另外,對(duì)于表達(dá)式 x && y 如果 x 為 false,則不計(jì)算 y(因?yàn)椴徽?y 為何值,“與”操作的結(jié)果都為 false)。這被稱作為“短路”計(jì)算。也就是說使用 && 運(yùn)算符進(jìn)行條件計(jì)算,比使用 & 運(yùn)算符速度更快些。
2.請(qǐng)從高到低排列【&& 和 ||】、【算術(shù)運(yùn)算符】、【賦值運(yùn)算符】、【!(非)】、【關(guān)系運(yùn)算符】的優(yōu)先級(jí)順序。答:由高到低的順序?yàn)椋骸?(非)】?【算術(shù)運(yùn)算符】?【關(guān)系運(yùn)算符】?【&& 和 ||】?【賦值運(yùn)算符】 第5章 條件判斷語(yǔ)句
一、判斷題
1、×
2、√
3、×
4、√
5、√
6、×
7、×
8、√
二、選擇題
1、A
2、C
3、A
4、C
5、B
6、D
7、A
8、C
三、填空題
1、條件判斷語(yǔ)句、循環(huán)語(yǔ)句
2、關(guān)系表達(dá)式、邏輯表達(dá)式
3、bool
4、執(zhí)行大括號(hào)里的語(yǔ)句塊;跳過語(yǔ)句塊,執(zhí)行大括號(hào)后面的語(yǔ)句
5、都將會(huì)執(zhí)行
6、只要找到為真的表達(dá)式就執(zhí)行相應(yīng)的語(yǔ)句塊并跳出整個(gè)判斷語(yǔ)句
7、if;switch
8、break
四、簡(jiǎn)答題
1、簡(jiǎn)單描述if語(yǔ)句的幾種形式。(1)if語(yǔ)句的一般表示形式為: if(表達(dá)式){ 語(yǔ)句塊 }(2)當(dāng)一個(gè)判斷語(yǔ)句只存在兩種可能的結(jié)果時(shí),可以使用if…else語(yǔ)句來表達(dá)。它的表現(xiàn)形式為:
if(表達(dá)式){ 語(yǔ)句塊1 }else { 語(yǔ)句塊2 }(3)當(dāng)一個(gè)判斷語(yǔ)句存在多種可能的結(jié)果時(shí),可以使用if...else if...語(yǔ)句來表達(dá)。它的表現(xiàn)形式為:
if(表達(dá)式1){ 語(yǔ)句塊1 } else if(表達(dá)式2){ 語(yǔ)句塊2 }...else if(表達(dá)式n){ 語(yǔ)句塊n }
2、在switch語(yǔ)句時(shí)需要注意什么?
(1)switch關(guān)鍵字后面的表達(dá)式,其值的類型必須是字符串或整數(shù)(char、int、long)都屬于整數(shù)類型。
(2)case標(biāo)簽后面的值必須是常量表達(dá)式,不允許使用變量。(3)case和default標(biāo)簽以冒號(hào)而非分號(hào)結(jié)束。
(4)case標(biāo)簽后面的語(yǔ)句塊,無(wú)論是單條語(yǔ)句還是多條語(yǔ)句,都無(wú)需用括號(hào)包圍。
(5)default標(biāo)簽可以有,也可以沒有。case子句的排放順序是無(wú)關(guān)緊要的,甚至可以把default子句放在最前面。
第6章 循環(huán)控制語(yǔ)句
一、填空題
1、順序結(jié)構(gòu);選擇結(jié)構(gòu);循環(huán)結(jié)構(gòu)
2、false
3、執(zhí)行循環(huán)體;判斷條件是否為真
4、循環(huán)的嵌套
5、-5 6、18 7、16 8、1
二、判斷題
1、√
2、×
3、√
4、√
5、√
6、√
7、√
8、×
三、選擇題
1、C
2、B
3、C
4、D
5、B
6、C
7、D
8、B
四、簡(jiǎn)答題
1、請(qǐng)說明do...while語(yǔ)句的表現(xiàn)形式。do { 語(yǔ)句塊 } while(表達(dá)式);
當(dāng)流程到達(dá)do后,立即執(zhí)行語(yǔ)句塊,然后再對(duì)表達(dá)式進(jìn)行測(cè)試。若表達(dá)式的值為真,則返回do重復(fù)循環(huán),否則退出執(zhí)行后面的語(yǔ)句。這里特別需要注意的是跟while語(yǔ)句不同,do...while語(yǔ)句的表達(dá)式后面要加上分號(hào)。
2、for語(yǔ)句的一般表現(xiàn)形式為: for(表達(dá)式1;表達(dá)式2;表達(dá)式3){ 語(yǔ)句塊 } for語(yǔ)句的執(zhí)行順序如圖所示,其中,當(dāng)表達(dá)式2的值為假時(shí),則直接跳出循環(huán)。表達(dá)式1:一般情況下用于給循環(huán)變量賦初值。
表達(dá)式2:返回值必須是一個(gè)bool值,作為循環(huán)是否繼續(xù)執(zhí)行的條件。表達(dá)式3:一般情況下用于給循環(huán)變量增值。
第7章 數(shù)組
一、選擇題
1、D
2、B
3、A
4、C
5、B
6、A
7、D
8、C
二、填空題
1、類型
2、零
3、new
4、大括號(hào)“{}”
5、動(dòng)態(tài)數(shù)組
6、引用
7、地址
8、行,列
三、判斷題
1、√
2、×
3、√
4、√
5、√
6、×
7、√
8、×
四、簡(jiǎn)答題
1.請(qǐng)簡(jiǎn)述什么是數(shù)組?
答:數(shù)組是具有相同類型的一組數(shù)據(jù)。數(shù)組按照數(shù)組名、數(shù)據(jù)元素的類型和維數(shù)來進(jìn)行描述。當(dāng)訪問數(shù)組中的數(shù)據(jù)時(shí),可以通過下標(biāo)來指明。
2.請(qǐng)簡(jiǎn)述Array和ArrayList主要的區(qū)別?
(1)Array 的容量是固定的,而 ArrayList的容量可根據(jù)需要自動(dòng)擴(kuò)充。
(2)ArrayList提供添加、插入或移除某一范圍元素的方法。在 Array 中,您只能一次獲取或設(shè)置一個(gè)元素的值。
(3)Array 可以具有多個(gè)維度,而 ArrayList始終只是一維的。
第8章 GDI+圖形
一、填空題
1、GDI+
2、Graphics
3、Pen,Brush
4、Rectangle,RectangleF
5、Point
6、DrawPolygon,F(xiàn)illPolygon
7、橢圓
8、Paint
二、判斷題
1、√
2、×
3、×
4、×
5、√
6、√
7、×
8、×
三、選擇題
1、B
2、B
3、A
4、D
5、C
6、A
7、A
8、D
四、簡(jiǎn)答題
1.試闡述Graphics圖形對(duì)象的幾種創(chuàng)建方法。
(1)用某控件或窗體的CreateGraphics方法來創(chuàng)建Graphic對(duì)象,該對(duì)象表示該控件或窗體的繪圖表面。如果想在已存在的窗體或控件上繪圖,則可以使用此方法。
(2)接收對(duì)圖形對(duì)象的引用,該對(duì)象為窗體或控件的Paint事件中PaintEventArgs的一部份。在為控件創(chuàng)建繪制代碼時(shí),通常使用此方法來獲取對(duì)圖形對(duì)象的引用。
2.請(qǐng)簡(jiǎn)述使用虛擬畫布繪圖的步驟。(1)在內(nèi)存中建立一塊“虛擬畫布”如:(2)獲取這塊內(nèi)存畫布的Graphics引用:(3)在這塊內(nèi)存畫布上繪圖:(4)將內(nèi)存畫布畫到窗口中:
第9章 方法
一、選擇題
1、B
2、D
3、A
4、C
5、C
6、A
7、B
8、D
二、填空題
1、return
2、void
3、值參數(shù)
4、數(shù)組型
5、重載
6、形參,實(shí)參
7、成員變量
8、遞歸
三、判斷題
1、√
2、√
3、√
4、√
5、×
6、√
7、×
8、×
四、簡(jiǎn)答題
1.請(qǐng)簡(jiǎn)述用方法構(gòu)造代碼的好處?
(1)方法允許將程序分為不連續(xù)的邏輯單元。調(diào)試單獨(dú)的單元與調(diào)試不包含方法的整個(gè)程序相比要容易的多。
(2)可以在其他程序中使用為某個(gè)程序開發(fā)的方法,而通常只需要進(jìn)行少量修改,甚至不需修改。
2.請(qǐng)簡(jiǎn)述什么是遞歸?
答:在方法中直接或間接地調(diào)用自己叫方法的遞歸調(diào)用。樹型關(guān)系問題的求解往往需要使用到遞歸算法。
3.請(qǐng)簡(jiǎn)述什么是方法的重載?
答:當(dāng)定義兩種或多種具有相同名稱的方法時(shí),就稱作重載。在調(diào)用時(shí),編譯器會(huì)根據(jù)不同的方法簽名調(diào)用相應(yīng)的方法。
第10章 窗體與控件
一、選擇題
1、B
2、C
3、C
4、D
5、B
6、A
7、D
8、C
二、填空題
1、窗體
2、Maximized
3、Load
4、true
5、CheckedChanged
6、ListBox
7、Image
8、Interval
三、判斷題
1、√
2、×
3、√
4、√
5、×
6、×
7、√
8、×
四、簡(jiǎn)答題
1.請(qǐng)簡(jiǎn)述組合框的使用特點(diǎn)?
答:當(dāng)需要用戶在多個(gè)選項(xiàng)中選擇一項(xiàng)時(shí),除可以使用單選按鈕外,還可以使用組合框(ComboBox)。組合框是TextBox與ListBox的組合,具有列表框和文本框的大部份屬性。組合框在列表框中列出可供用戶選擇的項(xiàng),另外還有一個(gè)文本框。當(dāng)列表框中沒有所需選項(xiàng)時(shí),允許在文本框中用鍵盤輸入用戶自定義的內(nèi)容。
2.請(qǐng)列出圖片框(PictureBox)支持哪幾種類型的圖像?并進(jìn)行簡(jiǎn)單的說明。a)位圖(bitmap):是將圖像定義為像素的圖案,這種圖像格式體積很大,未經(jīng)壓縮。位圖文件的擴(kuò)展名是.bmp或.dib。b)圖標(biāo)(icon):是特殊類型的位圖。圖標(biāo)的最大尺寸為32×32像素。圖標(biāo)文件的擴(kuò)展名是.ico。
c)Windows文件(metafile):將圖形定義為編碼的線段和圖形。普通圖元文件擴(kuò)展名為.wmf,增強(qiáng)圖元文件擴(kuò)展名為.emf。
d)GIF:由CompuServe開發(fā)的一種壓縮位圖格式,是Internet上流行的一種文件格式。e)JPEG:是一種支持8位和24位顏色的壓縮位圖格式。也是Internet上流行的一種文件格式。
第11章 界面設(shè)計(jì)
一、選擇題
1、C
2、B
3、C
4、D
5、C
6、D
7、A
8、B
二、填空題
1、單文檔(SDI)應(yīng)用程序,多文檔(MDI)應(yīng)用程序
2、ShowIcon,ShowInTaskbar,F(xiàn)ormBorderStyle3、DialogResult4、非模式
5、菜單欄,菜單標(biāo)題,菜單項(xiàng)
6、MenuItem,ComboBox,Separator,TextBox
7、MDI 子窗口
8、Cascade,TileHorizontal
三、判斷題
1、×
2、√
3、√
4、×
5、√
6、×
7、×
8、√
四、簡(jiǎn)答題
1.請(qǐng)簡(jiǎn)述非模式窗體和模式窗體的區(qū)別。
(1)打開一個(gè)非模式窗體后,用戶可以跟應(yīng)用程序的其他部分交流,而模式窗體不行。這意味著,程序在執(zhí)行到創(chuàng)建模式窗體的代碼時(shí),會(huì)停下來等待模式窗體關(guān)閉后再繼續(xù)往下執(zhí)行。而程序在打開非模式窗體的同時(shí)會(huì)繼續(xù)往下執(zhí)行后面的代碼。(2)非模式窗體沒有返回值,模式窗體有返回值。
(3)關(guān)閉非模式窗體會(huì)直接在內(nèi)存中釋放窗體,而模式窗體則不會(huì)。
(4)非模式窗體使用Show方法創(chuàng)建,模式窗體使用ShowDialog方法創(chuàng)建。
2.簡(jiǎn)述創(chuàng)建一個(gè)MDI應(yīng)用程序的方法。
(1)把作為MDI父窗體的窗體的IsMDIContainer 屬性設(shè)置為True。(2)新建一個(gè)窗體(假設(shè)窗體名為Form2)作為MDI子窗體。(3)在MDI父窗體中調(diào)用如下代碼即可顯示一個(gè)MDI子窗體。
Form2 f2 = new Form2();f2.MdiParent = this;f2.Show();第12章 異常處理
一、選擇題
1、B
2、B
3、D
4、A
5、C
6、A
7、D
8、C
二、填空題
1、try,catch,finally
2、try-catch3、一個(gè),一個(gè)或多
4、Exception
5、改變編譯器的設(shè)置,使用校驗(yàn)(checked)語(yǔ)句
6、The operation overflows at complie time in checked mode
7、異常處理程序,清理代碼
8、顯式地標(biāo)明了它所作用的語(yǔ)句塊或表達(dá)式不需要進(jìn)行溢出檢查
三、判斷題
1、×
2、×
3、√
4、×
5、√
6、√
7、√
8、√
四、簡(jiǎn)答題
1.導(dǎo)致代碼失敗的具體原因有哪些?
答:算術(shù)溢出、堆棧溢出、內(nèi)存不足、參數(shù)越界、數(shù)組索引越界、試圖訪問已經(jīng)釋放的資源(例如訪問一個(gè)已經(jīng)關(guān)閉的文件)等。
2.在catch語(yǔ)句里可以使用哪幾種方法處理異常來獲得不同的執(zhí)行路徑? a)不寫任何跳轉(zhuǎn)代碼:這種方法使得系統(tǒng)忽略異常,程序會(huì)繼續(xù)往下執(zhí)行。b)使用return語(yǔ)句:它使得程序直接跳出方法體,回到調(diào)用方法的地方。c)使用throw 語(yǔ)句:它使得異常再次被拋出,表示當(dāng)前異常處理代碼無(wú)法處理此類異常,將異常轉(zhuǎn)給更上一級(jí)的異常處理程序進(jìn)行處理
d)使用System.Environment.Exit(1)語(yǔ)句:它將直接關(guān)閉應(yīng)用程序,一般情況下不使用這樣的方法