2017年10月高等教育自学考试《计算机基础与程序设计》试题 课程代码:02275 一、单项选择题 1.计算机内部存储、处理、加工和传输汉字时,使用的是(A) A.汉字机内码 B.汉字国标码 C.汉字输入码 D.汉字地址码 2.Cache是为了解决(B) A.主机与外设之间速度不匹配的问题 B.CPU与内存储器之间速度不匹配的问题 C.CPU与辅助存储器之间速度不匹配的问题 D.内存储器与辅助存储器之间速度不匹配的问题 3.蠕虫病毒对计算机软件系统造成极大的危害,它是(D) A.一种芯片 B.一条命令 C.一种生物病毒 D.一段特制的程序 4.在C#中,可以标识不同控件的属性是(B) A.Index B.Name C.Text D.Title 5.在C#中,下列不能作为变量名的是(C) A._56 B.Float C.long D.Num_2 6.关于变量的声明和初始化,下列语句正确的是(D) A. float x=13.0; B. float x=13.f; C. decimal x=13.0; D. double x=13; 7.下列选项中,不属于C#循环的中断语句的是(D) A.break语句 B.continue语句 C.goto语句 D.jump语句 8.设数组定义为:ht[,]a=new int[5,6];,则下列关于数组元素的引用正确的是(B) A.a[0][0] B.a[0,0] C.a[5][6] D.a[5,6] 9.下列的数组定义语句,不正确的是(B) A. int[] a:new int[5]{1,2,3,4,5}; B. int[,] a: new int[3][4]; C. int[][] a=newint [3][]; D. int[] a= {1,2,3,4}; 10.在C#中,不会显示在窗体上的控件是(C) A.CheckBox B.GroupBox C.ImageList D.PictureBox 11.如果要每隔15s产生一个定时器事件,则Timer的Interval属性应设置为(D) A.15 B. 150 C. 1500 D.15000 12.在C#中,如果不希望类被继承,则定义类时要使用关键字(C) A.abstract B.override C.sealed D.virtual 13.如果某个类成员属于整个类而不属于类的某一个具体实例,则该成员前须用修饰符(D) A.private B.protected C.public D.static 14.在C#中,对文本文件进行读取通常使用(C) A.BinaryReader类 B.BinaryWriter类 C.StreamReader类 D.StreamWriter类 15.SQL Server 2008是一个(C) A.层次模型数据库 B.网状模型数据库 C.关系模型数据库 D.面向对象模型数据库 16.在ADO.NET中,用于对数据源执行SQL命令语句的对象是(A) A.Command对象 B.Connection对象 C.DataAdapter对象 D.DataSet对象 17.下列软件工具中,不属于软件开发工具的是(C) A.设计工具 B.编码工具 C.版本控制工具 D.需求分析工具 18.主要用于面向对象的开发过程的模型是(B) A.螺旋模型 B.喷泉模型 C.智能模型 D.快速原型模型 19.在数据流图中,用圆或圆角矩形表示(A) A.加工 B.数据流 C.数据存储 D.数据源点或终点 20.为了提高模块的独立性,模块之间最好是(A) A.数据耦合 B.公共耦合 C.内容耦合 D.控制耦合 二、填空题 21.在微型计算机中,西文字符一般采用ASCII 码进行编码。 22.文件型病毒通常寄生在可执行 文件中。 23.C#程序的入口函数是Main ()函数。 24.在C#中,注释有两种方法,其中/* */ 可以进行多行注释。 25.已知数组num的定义为:int[] num=new int[5]{5,4,3,2,1};,则num.Length=5 。 26.己知某类的类名是Student,则该类的析构函数名为~Student 。 27..NET绘图时,默认的坐标原点在窗体和控件的左上 角。 28.删除名为student表的SQL语句是DROP TABLE student 。 29.软件工程的3个要素是:方法,过程和工具。 30.基本路径测试属于软件动态测试中的白盒 测试技术。 三、简答题 31.在C#中,数据类型转换主要有哪几种方式?整型数和string之间的转换可以采用哪种方式? 答:类型转换的方式有:隐式转换、显示转换和使用Convert类转换。 整型数和string之间的转换可以采用Convert类转换。 32.简述private、protected、public、imemal类成员访问修饰符表示的可访问性。 答:private:私有成员,在类的内部才可以访问。 protected:保护成员,在该类内部和继承类中可以访问。 public:公共成员,完全公开,没有访问限制。 internal:在同一程序集中的文件可以访问。 33.某学生选课数据库(xsxk)中包含如下3个表: (1)学生表:包含学号、姓名、性别字段, “学号”为主键。 (2)课程表:包含课程编号、课程名、学分字段, “课程编号”为主键。 (3)选课表:包含学号、课程编号、成绩字段, “学号+课程编号”为主键。 分别写出完成下列操作的SQL语句。 (1)查询学分大于或等于4的课程的课程名和对应的学分。 (2)查询选修了“计算机基础与程序设计”课程的学生的学号和成绩。 答:(1)SELECT课程名,学分 FROM 课程表 WTIERE 学分>=4 (2)SELECT 学号,成绩 FROM课程表,选课表 WHERE 课程表.课程编号=选课表.课程编号 AND课程名称=“计算机基础与程序设计” 34.简述DataSet、DataTable、DataColumnCollection、DataRowCollection和DataRelation这5个对象间的关系。 答: 一个DataSet可以包含多个DataTable; 每个DataTable包含一个DataColumnCollection和一个DataRowCollection; 各个DataTable之间的关系是通过DataRelation来表示的。 35.简述大型软件系统测试的4个步骤。 答:(1)单元测试;(2)集成测试;(3)确认测试;(4)系统测试。 四、程序阅读题 36.有程序段如下: private void buttonl_Click(object sender, EventArgs e) { int a=5, b=9; a=a+b; b=a-b; a=a-b; textBoxl .Text =Convert. ToString(10*a+b); } 程序运行后,单击窗口中的buuonl按钮,在文本框textBoxl中显示的内容是 95 。 37.有程序段如下: private void buttonl_Click(object sender, EventArgs e) { int a=4, b =2, c = 8, t; if (a<b)< span=""></b)<> {t=a; a=b;b=t;} if (a < c) {t=a;a=c;c=t;} if (b<c)< span=""></c)<> {t=b; b=c; c=t;} textBoxl.Text =Convert. ToString(100*a +10*b+c); } 程序运行后,单击窗口中的buttonl按钮,在文本框texBoxl中显示的内容是 842 。 38.有程序段如下: private void buttonl_Click(object sender, EventArgs e) { int five,two, cnt=0; for (five = 0; five <= 5; five++) for (two=0; two<=(10-five*5)/2;two++) cnt++; textBoxl.Text =Convert.ToString(cnt); } 程序运行后,单击窗口中的buttonl按钮,在文本框texBoxl中显示的内容是 10 。 39.有程序段如下: private void button 1_Click(obj ect sender, EventArgs e) { iht a, b, t; a =Convert. Tolnt32(textBoxl.Text); b =Convert. ToInt32(textBox2.Text); while (a%b!=0) { t=a%b; a=b; b=t; } textBox3.Text =Convert. ToString(b); } 程序运行后,在打开窗口中的文本框textBoxl和textBox2中分别输入整数24和40后,单击buttonl按钮,在文本框textBox3中显示的内容是 8 。 40.有程序段如下: private void buttonl_Click(object sender, EventArgs e) { int[,] a=new int[4,4]; int i,j, s=1; for (i=0; i<4; i++) if(i%2==0) for (j=0; j<4;j++) a[i,j] =s++; else for (j=3; j>=0; j--) a[i,j] = s++; s=0; for (i=0; i<4; i++) s=s+a[i,i]; textBoxl.Text =Convert. ToString(s); } 程序运行后,单击窗口中的buttonl按钮,在文本框textBoxl中显示的内容是 32 。 五、程序填空题 41.在Forml窗体中有一个名称为textBoxl的文本框,其MultiLine属性值为True;一个名称为buttonl的命令按钮,其标题为“Fibonacci数列”。 将下列的事件程序补充完整,使得程序运行后,单击“Fibonacci数列”按钮,则求出Fibonacci数列的前40项,在文本框中显示出来(每5个数占1行)。Fibonacci数列有如下特点:第1、2两个数都为1,从第3个数开始,每个数等于前2个数之和。 private void buttonl_Click(object sender, EventArgs e) { int a,b,c,i; textBoxl.Text = "1 1 "' a=1;b=1; for (i=3; i<=40 ; i++) // (1) { c=a+b ; // (2) textBoxl.Text += Convert. ToString(c) +" "' if i%5==0) textBoxl.Text += Environment.NewLine; a=b; b=c ; // (3) } } 42.在Forml窗体中有一个名称为textBoxl的文本框,其MultiLine属性值为True,ScrollBars属性值为Both;一个名称为buttonl的命令按钮,其标题为“显示”。将下列的事件程序补充完整,使得程序运行后,单击“显示”按钮,从文件“d:\test.txt”中将内容读出,显示在textBoxl文本框中。 private void buttonl_Click(object sender, EventArgs e) { string line; StreamReader sr = new StreamReader("d:\\test.txt", true); while ((line= sr.ReadLine ())!=null) // (1) textBoxl.Text += line + Environment.NewLine; sr. Close() ; // (2) } 六、程序设计题 43.在Forml窗体中有一个名称为labell的标签;一个名称为listboxl的列表框,其SelectionMode属性值为MultiSimple;一个名称为buttonl,Text属性值为“计算”的命令按钮。 编写适当的事件过程,使得程序运行时,在列表框中选中某些数据项后,如果单击命令按钮,则可以计算所选数据之和,并将计算结果显示在标签labell中。程序运行效果如题43图所示。 private void buttonlClick(object sender, EventArgs e) // { ints 0; // for (int i 0; i < listBoxl. Selectedltems. Count- 1; i++) // s=s+Convert. Tolnt32(listBoxl. Selectedltems[i]); // labell.Text Convert. ToString(s); // } 2018年4月高等教育自学考试《计算机基础与程序设计》试题 课程代码:02275 一、单项选择题 1.人们常说的U盘是(D) A.软盘存储器 B.硬盘存储器 C.光盘存储器 D.闪存存储器 2.7位版本的ASCII码可表示的字符个数为(B) A.127 B.128 C.255 D.256 3.某PC机的Cache的容量为128MB,其中的128MB是指(D) A.128×1000×1000比特 B.128×1024×1024比特 C.128×1000×1000字节 D.128×1024×1024字节 4.C#中导入某一命名空间的关键字是(D) A.namespace B.import C.include D.using 5.下列选项中,属于C#中合法变量名的是(C) A.1_x B.if C.x 123 D.x$123 6.已知int n=100;下列语句中执行了“装箱”的是(C) A.n=200; B.intk=n; C.objecto=n; D.strings=n.ToString(); 7.下列循环结构中,先执行循环体,再判断循环条件的是(A) A.do…while循环 B.for循环 C.foreach循环 D.while循环 8.下列声明交错数组语句中,正确的是(B) A. int [][] jcArray = new int[][]; B. int [][] jcArray - new int[4][]; C. int [][] jcArray = new int[][4]; D. int [][] jcArray = new int[4][4]; 9.已知数组names的定义为string[,]names=newstring[5,4];,则names.Rank的值是(A) A.2 B.4 C.5 D.20 10.C#中,为单选按钮分组的控件一般是(B) A.ComboBox B.GroupBox C.Panel D.TabControl 11.下列选项中,可以取消textBoxl.Font.Style中Underline效果的代码是(D) A. textBox1.Font. Style | FontStyle.Underline B. textBox1.Font. Style | ~FontStyle.Underline C. textBox1.Font. Style & FontStyle.Underline D. textBox1.Font. Style & ~FontStyle.Underline 12.定义方法时,指明该方法不返回任何值的关键字是(D) A.public B.static C.string D.void 13.在.NET类库中,画直线的DrawLine()方法在(B) A.Brush类中 B.Graphics类中 C.Pen类中 D.Point类中 14.在.NET中,下属于System.10中定义的类是(B) A.BinaryReader类 B.Console类 C.FileStream类 D.StreamReader类 15.在SQLServer2008中,为新创建的数据库提供模版的是(B) A.master数据库 B.model数据库 C.msdb数据库 D.tempdb数据库 16.在SqlDataAdapter对象中,把数据源的数据填充到DataSet中的方法是(A) A.Fill()方法 B.Insert()方法 C.Select()方法 D.Update()方法 17.结构化开发方法不包括(C) A.结构化分析方法 B.结构化设计方法 C.结构化维护方法 D.结构化编程方法 18.以文档作为驱动,适合于软件需求很明确的软件项目的生存周期模型是(A) A.瀑布模型 B.增量模型 C.螺旋模型 D.喷泉模型 19.数据流图(DFD)是(C) A.软件概要设计的工具 B.软件详细设计的工具 C.结构化方法的需求分析工具 D.面向对象方法的需求分析工具 20.为了提高模块的独立性,模块内部最好是(A) A.功能内聚 B.时间内聚 C.逻辑内聚 D.通信内聚 二、填空题 21.在计算机中,处理器一次运算能处理的二进制数的位数称为 字长 。 22.真值为-1001101的机器数是 11001101 。 23.实现密码框功能的方法是将TextBox控件的 PasswordChar 属性赋予屏蔽字符。 24.在循环结构中, continue 语句仅中断本次循环,并直接进入下次循环。 25.声明数组int[]score=new int[10];后,系统为数组分配了 40 字节的内存空间。 26.当一个对象离开它的作用域时,系统自动调用它的 析构函数 来销毁对象,释放对象所占用的资源。 27.在GDI的所有类中, Graphics 类是核心,在绘制任何图形之前,一定要先要创建一个此类的对象。 28.在ADO.NET的5个核心对象中, DataReader 对象不能在脱机模式下使用。 29.解决软件危机,应该从技术和 管理 两个方面进行。 30.结构化数据流图的类型分为 交换型 和事务型。 三、简答题 31.简述C#中变量命名时应遵循的规则。 答:变量名必须以字母或下划线开头。 变量名只能由字母、数字和下划线组成,不能包括空格、标点符号等。 不能使用C#关键字作为变量名。 变量名区分大小写 32.简述构造函数所具有的特点。 答:构造函数名称与类名相同。 构造函数不能有任何返回值。 构造函数的主体部分包含一个或多个用于初始化成员变量的语句。 一般地,构造函数是public型的。 33.某学生选课数据库(xsxk)中包含如下3个表: (1)学生表:包含学号、姓名、性别字段,“学号”为主键。 (2)课程表:包含课程编号、课程名、学分字段,“课程编号”为主键。 (3)选课表:包含学号、课程编号、成绩字段,“学号+课程编号”为主键。 分别写出完成下列操作的SQL语句。 (1)按“学号”分组显示每个学生所学的课程数: (2)显示学生表中所有男生的信息。 答:(1)SELECT 学号,COUNT(*) AS“课程数” FROM 选课表GROUP BY 学号 (2)SELECT 学号,姓名,性别FROM 学生表WHERE性别=“男” 34.简述bindingSource控件的AddNew、Find、RemoveAt和CancelEdit这四个方法各自的功能。 答:AddNew:在表中添加一条空记录。 Find:在表中查找指定的数据。 RemoveAt:删除表中当前记录。 CancelEdit:取消操作。 35.什么是软件的生命周期?软件生命周期分为哪3个阶段? 答:一个软件产品从提出要求开始,经过开发、使用、维护,直到停止使用为止的整个过程称为软件的生命周期。软件生命周期分为软件定义、软件开发和软件运行维护3个阶段。 四、程序阅读题 36.有程序段如下: private void buttonl_Click(object sender,EventArgs e) { int a=9, b=ll; a=a^b; b=a^b; a=a^b; textBox 1 .Text =Convert. ToString( 10*a+b); } 程序运行后,单击窗口中的buuonl按钮,在文本框textBoxl中显示的内容是 119 。 37.有程序段如下: private void button l_Click(object sender,EventArgs e) { int a=2, b=1, c=3,t; if(a>b) {t=a; a=b;b=t; } if(b>c) {t=b;b=c;c=t; } if(a > b) {t=a;a=b;b=t; } textBox 1 .Text =Convert. ToString(100*a+ 10*b+c); } 程序运行后,单击窗口中的bunonl按钮,在文本框textBoxl中显示的内容是 123 。 38.有程序段如下: private void button l_Click(object sender,EventArgs e) { int i, j, s = 0; for(i = 1; i <= 4; i++) for (j=0; j<=9; j++) if(j !=3) s=s+10*i+j; textBoxl.Text =Convert. ToString(s); } 程序运行后,单击窗口中的bunonl按钮,在文本框tex出oxl中显示的内容是 1068 。 39. 有程序段如下: private void buttonl_Click(object sender,EventArgs e) { int x, s =0; x= 2578; while (x != 0) { s=s+x% 10; x=x/10; } textBoxl .Text =Convert. ToString(s); } 程序运行后,单击窗口中的buuonl按钮,在文本框textBoxl中显示的内容是 22 。 40.有程序段如下: private void buttonl_Click(object sender, EventArgse) { int[,] a = new iht[3, 3]; inti,j, s = 1; for (i = 0; i < 3; i++) for (j = 0; j < 3; j++) ali, j] = s++; s=0; for (i = 0; i < 3; i++) for (j=0;j<3 ;j++) if (a[i,j]%2!=0) s = s + a[i, j]; textBoxl .Text =Convert. ToString(s); } 程序运行后,单击窗口中的buttonl按钮,在文本框textBoxl中显示的内容是 25 。 五、程序填空题 41.在Forml窗体中有一个名称为textBoxl的文本框,其MultiLine属性值为True;一个名称为buttonl的命令按钮,其标题为“1000以内的质数”。 将下列的事件程序补充完整,使得程序运行后,单击“1000以内的质数”按钮,则求出1000以内的所有质数(质数是指只能被1和自身整除的正整数),在文本框中显示出来(每10个数占1行)。 private void button l_Click(object sender,EventArgs e) int x, i,cnt--0; textBoxl .Text--""' for(x = 2; x <= 1000; x++) { for (i=2; i<=Math. Sqrt(x); i++) if(x%i == 0) break // (1) if (i >Math. Sqrt(x)) { textBoxl.Text += Convert. ToString(x)+" "; cnt++ ;// (2) if (cnt% 10==0) textBoxl .Text +=Environment. NewLine , // (3) } } } } 42.在Forml窗体中有一个名称为buuonl的命令按钮,其标题为“绘制奥运五环”。将下列的事件程序补充完整,使得程序运行后,单击“绘制奥运五环”按钮,在窗体中绘制如题42图所示的奥运五环。 private void buttOnl_C1ick(object sender,EVentArgse) { Graphicsg; g=this.CreateGraphics(); Penp=newPen(C010r.Green,2); g.DrawEllipse(p,25,25,50,50); g.DrawEll中se(p, 75, 25 ,50,50); // (1) g.DrawEll中se(p, 125, 25 ,50,50); // (2) g.DrawEllipse(p,53,55,50,50); g.DrawEll中se(p, 103, 55 ,50,50); // (3) p.Dispose(); g.Dispose(); } 六、程序设计题 43.在Forml窗体中有一个名称为textBoxl的文本框,其MultiLine属性值为True。编写适当的事件过程,使得在运行后,单击窗体,将把磁盘文件d:\testl.txt的内容读到内存并在文本框中显示出来,然后把该文本框中的内容存入磁盘文件d:\test2.txt。 答:privatevoid Form1_Click(object sender, EventArgs e) // { string line; StreamReader sr = new StreamReader("d:\\test1.txt",true); // while ((line = sr.ReadLine()) != null) // textBox1.Text += line +Environment.NewLine; // sr.Close(); // StreamWriter sw = newStreamWriter("d:\\test2.txt", true); // sw.Write(textBox1.Text); // sw.Close(); // } |
|