互联网程序设计第六章简答题

互联网程序设计第六章简答题
互联网程序设计第六章简答题

第六章简答题

1.请描述工具栏控件和快捷菜单控件的定义方法。

答:工具栏控件:btnPhone;btnFile;btnRemote;uploadFile;downloadFile;btnVideo;

快捷菜单控件:fileMenu;fileLabel;filePanel;progressLabel;progressBar;2.请描述SwingWorker类的dolnBackground()方法、process() 方法和done()方法

的关系。

答:SwingWorker提供了自己的方法:doInBackground()、process()、done()等。任务线程的主逻辑都是在doInBackground中完成的,process和done分别处理中间结果和最后结果。doInBackground()是任务线程中调用的,done()、proces()是在EDT中调用的的。

3.图6.12给出了文件发送逻辑与接收逻辑的对照关系。请用文字简述客户机发送文件和服务器接收文件的逻辑过程主要分几个步骤进行。

答:文件发送逻辑过程:

(1)首先发送文件名称和文件长度,获取文件内容块;

(2)若文件可读,则传送文件内容块,计算完成字数并更新进度条状态;若文件不可读,则返回重新读取文件内容块;

(3)更新进度条状态已满后,接受服务器消息;若接受服务器消息成功则完成文件发送,反之发送文件失败。

服务器文件接收过程:

(1)首先发送文件名称和文件长度,从套接字输入流读取文件内容块;

(2)若输入流可读,则写文件内容块到文件输出流并计算完成字节数,若输入流不可读,则返回从套接字输入流读取文件内容块;

(3)最后判断是否接收成功,如果成功则发送M_DONE,如果失败则发送M_LOST。

4.请结合本章案例,谈谈SwingWorker类是如何实现进度条的实时更新的?

答:SwingWorker 设计用于需要在后台线程中运行长时间运行任务的情况,并可在完成后或者在处理过程中向 UI 提供更新。SwingWorker 的子类必须实现doInBackground() 方法,以执行后台计算。

5. JFileChooser类是一个通用对话框控件,请结合程序

6.1,描述JFileChooser类的基本用法。

答:JFileChooser类一般用于打开和保存文件时指定文件名

流程:

(1)导入javax.swingJFileChooser类;

(2)创建一个实例;

(3)调用显示对话框方法;

(4)“打开”文件showOpenDialog;

(5)“保存”文件-showSaveDialog;

(6)取得用户选择的文件名:public File getSelectedFileO。

程序设计基础实验指导书

说明 每个实验做完以后,按照实验报告模板格式完成相应的实验报告,存储为word 文档,最终提交的实验文档数量种类和命名原则如下例:(不按要求 者拒收) 目录结构图目录实验 1 内的文件种类和命名原则实验报告成绩将作为平时成绩的一部分计算到期末总成绩中。 实验报告严禁相互抄袭,一经发现抄袭和被抄袭者本次实验按零分计算!

实验1 C 的实验环境和C 语言的数据类型 1. 实验目的 ⑴ 了解在具体的语言环境下如何编辑、编译、连接和运行一个C 程序。 ⑵ 通过运行简单的C 程序,初步了解C 源程序的特点。 ⑶ 掌握C 语言数据类型, 熟悉如何定义一个整型、字符型和实型的变量,以及对它 们赋值的方法。 ⑷ 掌握不同的类型数据之间赋值的规律。 ⑸ 学会使用C 的有关算术运算符,以及包含这些运算符的表达式,特别是自加(+ +)和自减(--)运算符的使用。 2. 实验内容和步骤 检查所用的计算机系统是否已安装了C 编译系统并确定他所在的子目录。 进入所用的集成环境。 熟悉集成环境的界面和有关菜单的使用方法。 输入并运行一个简单的、正确的程序。 3. 实验题目 输入下面的程序 # include "stdio.h" void main() { printf( "This is a c program.\n" ); } 程序无误,其运行的结果为:(请填写) ⑵ 输入并编辑一个有错误的 C 程序。 # include “ stdio.h ” void main() { int a,b,sum a=123; b=456; sum=a+b print( “ suism%d n” ,sum); } 运行后程序出现几处错误,请分别指出,并逐一更改: ⑶ 若k,g 均为int 型变量, 则下列语句的输出为, : # include "stdio.h" void main() { int k, g; k=017; g=111;

《程序设计基础》试卷B及答案

黄淮学院计算机科学系2007-2008学年度第一学期 期末考试《程序设计基础》B 卷 注意事项:本试卷适用于计科系06级本科计算机科学与技术专业学生。 1.__ ____函数是程序启动时惟一的入口。 2.算法的复杂性包含两方面: 和 。 3.已知 char c= 'a' ; int x=2,k; 执行语句k=c&&x++ ; 则x 为 ,k 为 。 4.数值0x34对应的十进制为 。 5.已知int a ; 则表达式”(a=2*3 , 3*8), a*10”的结果为_ _ ____,变量a 的值为___ ___。 6.面向对象程序开发步骤为: 、 和面向对象实现。 1.下列程序设计语言中( )是面向对象语言。 A. FORTRAN B. C 语言 C. C++ D. 汇编语言 2.下列关于注释的说法哪个是错误的( )。 A. 注释不是程序中的可执行语句 B. 注释对于程序的执行有很重要的意义 C. 注释将在程序的编译阶段被编译器剔除 D. 编程时在程序中添加适当的注释是一个良好的编程风格 3.算法设计应该遵守( )的设计原则。 A. 自底向上,逐步求精 B. 自顶向下,逐步求精 C. 自底向上,同步扩展 D. 自顶向下,同步扩展 4.下列语句执行后a 的值为( )。 int a=4, &z=a, k=3; a=k; z+=2; k++; A. 0 B. 4 C. 1 D. 5 5.以下程序执行后,屏幕输出为( )。 #include “iostream.h ” void fun(int d) {d++;} void main() { int d=3; fun(d); d++; cout<=’a ’)&&(d<=’z ’) B. ‘a ’<=d<=’z ’ C. (d>=’a ’)||(d<=’z ’) D. ‘A ’<=d<=’Z ’ 8.已知:int k=7, x=12; 则执行语句( )后x 的值为0。 A. x+=k-x%5; B. x+=(x-k%5); C. x%=(k-=5); D. (x-=k)-(k+=5); 9.运行下列程序,其输出结果为( )。 #include “iostream.h ” void main() { int x(5),y(5),z(5); y--&&++x&&z--||y++; cout<

第六章程序设计初步

第六章程序设计初步 通过前面五章的学习,我们知道计算机是人们处理信息的有效工具。但是一切信息的处理最终都要通过执行程序来完成,即首先必须编写程序。我们平常进行文字处理或表格处理时, 事先没有进行程序设计(programming),实际上是使用别人已 编写好的程序(program)直接操作。 Visual Basic是一种可视化的、面向对象、采用事件驱动方式的结构化程序设计语言,它不但具有早期Basic语言的一 切功能,尤其提供了一种可视化的设计工具,可以直接使用窗 体和控件设计程序的界面,极大的提高了程序设计的效率。本 章以Visual Basic (简称VB)为载体,介绍使用VB编制程 序的一般步骤和方法,主要包括:算法的概念和面向对象的程 序设计方法,VB的编程环境,Basic语言的基本知识、基本 语句,程序的控制结构和简单程序设计。通过本章学习,不仅 要学会可视化编程技术,还要掌握一些解决简单问题的常用算 法。 第一节Visual Basic的基本知识 课题:Visual Basic 的基本知识 教学时间:授课班级: 教学目标:了解窗口的组成,掌握VB的几个核心概念 教学重点、难点:对象、属性和事件的含义 教学过程:

一、Visual Basic 的启动和退出 Visual Basic 是Microsoft 公司于1991年开发推出的基于Windows 环境的Basic 语言, Visual 意为“可视化的”, Basic 指的是 BASIC (Beginners All-Purpose Symbolic Instruction Code ,初学者通用符号指令代码) 语言。 VB 是在早期Basic 语言基础上发展起来的一种可视化的、面向对象、采用事件驱动方式的结构化高级程序设计语言,是目前广泛使用的一种程序设计语言(programming language )。 1. Visual Basic 的启动 单击任务栏中的“开始”按钮,将指针依次指向“程序(P )”“Microsoft Visual Basic ” “Visual Basic ”,然后单击,即可启动 VB 。 启动VB 后,显示如图6-4所示的“新建工程”对话框,对话框中有“新建”“现存”“最新”三个标签,可根据需要选择工程的类型。 新建:建立新工程; 现存:选择和打开现有工程; 最新:列出最近使用过的工程。 要新建一个工程时,单击“新建”标签,选择其 中的“标准EXE ”项,然后单击“打开(O)”按钮,进入VB 的工作环境。 2. Visual Basic 的退出 单击“文件(F)”菜单中的“退出(V)”命令,或单击主窗中右上角的“关闭”按钮,就可退出Visual Basic 。 图6-4

程序设计基础实验内容

实验指导 实验一 Visual C++开发环境使用 1.实验目的 (1)熟悉Visual C++集成开发环境。 (2)掌握C语言程序的书写格式和C语言程序的结构。 (3)掌握C语言上机步骤,了解C程序的运行方法。 (4)能够熟练地掌握C语言程序的调试方法和步骤 2. 实验内容 输入如下程序,实现两个数的乘积。 #include ; int main() { x=10,y=20 p=prodct(x,t) printf("The product is : ",p) int prodct(int a ,int b ) int c c=a*b return c } (1)在编辑状态下照原样键入上述程序。 (2)编译并运行上述程序,记下所给出的出错信息。 (3)再编译执行纠错后的程序。如还有错误,再编辑改正,直到不出现语法错误为止。3.分析与讨论 (1)记下在调试过程中所发现的错误、系统给出的出错信息和对策。分析讨论成功或失败的原因。 (2)总结C程序的结构和书写规则。 实验二数据类型、运算符和表达式 1.实验目的 (1)理解常用运行符的功能、优先级和结合性。 (2)熟练掌握算术表达式的求值规则。 (3)熟练使用赋值表达式。 (4)理解自加、自减运算符和逗号运算符 (5)掌握关系表达式和逻辑表达式的求值 2.实验内容 (1)整数相除 #include<> int main() {

int a=5,b=7,c=100,d,e,f; d=a/b*c; e=a*c/b; f=c/b*a; printf("d=%d , e=%d ,f=%d\n",d,e,f); return 0; } (2)自加、自减运算 #include<> int main() { int a=5,b=8; printf("a++=%d\n",a++); printf("a=%d\n",a); printf("++b=%d\n",++b); printf("b=%d\n",b); return 0; } (3)关系运算和逻辑运算 #include<> int main() { int a=5,b=8,c=8; printf("%d,%d,%d,%d\n",a==b&&a==c,a!=b&&a!=c,a>=b&&a>=c,a<=b&&a<=c); printf("%d,%d\n",a<=b||a>=c,a==b||b==c); printf("%d,%d,%d,%d\n",!(a==b),!(a>=b),!(a>=c),!(a<=b)); return 0; } (1)在编辑状态下输入上述程序。 (2)编译并运行上述程序。 3.分析与讨论 (1)整数相除有什么危险?应如何避免这种危险? (2)分析a++和++a的区别。 (3)条件表达式和逻辑表达式的意义是什么,它们取值如何? (4)如何比较两个浮点数相等?为什么? 实验三格式化输入输出函数的使用 1.实验目的 (1)掌握格式字符使用的方法。 (2)掌握printf()进行格式化输出的方法。 (3)掌握scanf()进行格式化输入的方法。 2.实验内容 (1)输入如下程序,观察运行结果 #include<>

程序设计基础试题库

练习题一Visual FoxPro 基础 、选择题 1. 关系数据库管理系统应能实现的专门关系运算包括___c __________ A 显示、打印、制表B关联、更新、排序 C 选择、投影、连接D排序、索引、统计 2. 关系是指__b__。 A 属性的集合B元组的集合 C 实例的集合 D 字段的集合 3. 如果把学生看成实体,某个学生的姓名叫“杨波”,则“杨波”应看成是___b ______ 。 A)属性型B )属性值C )记录型D )记录值 4. 关系数据库系统中所使用的数据结构是 _______ d ___ 。 A)图B )树C )表格D )二维表 5. 对表进行水平方向的分割用的运算是 _______ b ___ 。 A)交B )选择C )投影D )连接 6. 下列数据库技术的术语与关系模型的术语的对应关系中_______ d _____ 是正确的。 A)实例与关系 B )字段与元组C )记录与属性 D )记录类型与关系模式 7. 下列关于数据库系统的叙述中,正确的是 _____ c _____ 。 A)数据库系统中数据的一致性是指数据类型一致 B)数据库系统只是比文件系统管理的数据更多 C)数据库系统减少了数据冗余 D数据库系统避免了数据冗余 8. 关系数据模型 ______ d ___ 。 A)只能表示实体间的1:1联系 B)只能表示实体间的1:n C只能表示实体间的m:n D 可以表示实体间的上述三种联系 9. 在一个关系中如果有这样一个属性存在,它的值能惟一地标识关系中的每一个元组,称

这个属性为 _____ a____ 。 A)关键字B )主属性C )数据项D )主属性值 10. 关系数据库管理系统中的元组是______ b ____ 。 A)关系中的垂直方向的列 B )关系中的水平方向的行 C属性或属性的组合 D )以上的答案均不正确 11. 从数据库的整体结构看,数据库系统采用的数据模型有_________ a __ 。 A)层次模型、网状模型和关系模型 B)层次模型、网状模型和环状模型 C)网状模型、链状模型和层次模型 D链状模型、关系模型和层次模型 12. 设有属性A B、C D以下表示中不是关系的是___________ d__。 A)R( A) B )R( A, B)C )R (A, B, C, D) D )R (A X B X C X D) 13. 若实体间联系是M N的,则将联系类型_________ a___ 。 A)也转换为关系模型 B)属性加入任一个关系模式中 C)属性加入N端实体类型相应的关系模式中 D)属性加入M端实体类型相应的关系模式中 14. 数据库系统的构成为数据库、计算机硬件系统、用户和________ a ____ 。 A 数据库管理系统 B 操作系统 C 数据集合 D 文件系统 15. 层次型、网状型和关系型数据库划分原则是________ c ___ 。 A 文件大小 B 记录长度 C 数据之间的联系 D 联系的复杂程度 16. 在数据库设计中用关系模型来表示实体和实体之间的联系,关系模型的结构是 _____ d ___ 。 A 封装结构 B 层次结构 C 网状结构 D 二维表结构 17. 在关系模型中,实现“关系中不允许出现相同的元组”的约束是通过__a ________ 。 A 主键 B 超键 C 外键 D 候选键 18. 层次模型不能直接表示 ______ b __ 关系。 A 1:1 B m:n C 1:m D 1:1 和1:m 19. DBAS旨的是_____ d____ 。

西安交大C++程序设计第六章作业2

西安交通大学实验报告 课程__计算机程序设计__实验名称__指针与函数__第 1 页共 25 页 系别____ _______ 实验日期 2014 年 4月 18日 专业班级__ ____组别_____________ 实验报告日期 2014 年 4 月 19日 姓名___ _______学号_ _报告退发 ( 订正、重做 ) 同组人_________________________________ 教师审批签字 一、实验目的 学会使用递归函数和函数重载,进一步熟练动态分配等指针使用方法。 二、实验内容 (一)第一题:1、(必做题)使用递归算法编写如下程序:对于任意给定的实数 X 和整数k( k>0) ,计算 Xk 。 1.源程序代码: #include using namespace std; double yunsuan(double x,int k);//递归函数用于计算x^k int main() { double x; int k; cout<<"请输入实数x:"; cin>>x; cout<<"请输入正整数k:"; cin>>k; while(k<=0)//判断输入的k是否满足要求,若否则提示输入错误并重新输入{ cout<<"您的输入有误!请输入正整数:"; cin>>k; } cout<<"计算结果是:"<

算结果 return 0; } double yunsuan(double x,int k) { if(k==1)//k=1时不再进行循环,输出值为x return x; else { double s=x*yunsuan(x,k-1);//对于k大于1的情况,进入下一循环 return s; } } 2.实验结果: (1)输入X正实数: (2)输入X正整数: (3)输入x为负数:

计算机科学导论第4章 程序设计基础(答案)

第4章程序设计基础 习题 一、选择题 1. A 2.D 3.C 4. A 5. B 6.D 7.A 8.B 9.C 10. B 11. D 12. A 13.B 14.D 15.C 二、简答题 1.结构化程序设计的思想是什么? 答:结构化程序设计的基本思想就是采用自顶向下、逐步求精的设计方法和单入口单出口的控制结构。 2.结构化程序设计的原则是什么? 答:结构化程序设计的原则是: (1) 使用顺序、选择、循环3种基本控制结构表示程序逻辑。 (2)程序语句组织成容易识别的语句模块,每个模块都是单入口、单出口。 (3)严格控制GOTO语句的使用。 3.结构化程序设计语言采用自顶向下的方法进行程序设计的特点是什么? 答:利用结构化程序设计语言采用自顶向下的方法进行程序设计的特点是: (1) 问题分解成子问题的结构必须与3种基本程序结构之一相对应。 (2) 问题的划分决定了程序的结构。一方面,子问题的划分决定了这一层次的程序是3种基本结构中的哪一种结构;另一方面,一个问题该如何划分成子问题是灵活的,并不是只有一种分解方法。分解的好坏就决定了设计的质量,也决定了程序的不同结构。 (3) 问题的边界应该清晰明确。只有这样才能精确地解决这些子问题,否则就会模棱两可,无从下手。 4.简述面向对象和结构化程序设计的区别。 答:面向对象是从本质上区别于传统的结构化方法的一种新方法、新思路。它吸收了结构化程序设计的全部优点,同时又考虑到现实世界与计算机之间的关系,认为现实世界是由一系列彼此相关并且能够相互通信的实体组成,这些实体就是面向对象方法中的对象,每个对象都有自己的自然属性和行为特征,而一类相似对象的共性的抽象描述,就是面向对象方法中的核心——类。 5. 从互联网上面搜索选择结构的使用方式。 答案略。 6.简述模块化方法的原理。

C语言程序设计基础实验报告3【VIP专享】

实验3 逻辑结构程序设计一、实验目的 1、了解C 语言表示逻辑量的方法(以0代表“假”,以非0代表“真” )。 2、学会正确使用逻辑运算符和逻辑表达式。 3、熟练掌握if 语句和switch 语句。 4、结合程序掌握一些简单的算法。 5、学习调试程序。 二、实验内容和步骤 本实验要求事先编好解决下面问题的程序,然后上机输入程序并调试运行程序。 1、改错题。给定程序MODI1.C 的功能是:对于如下函数: 用scanf 函数输入x 的值,求y 值。/* MODI1.C */#include void main() { int x, y; /***********found***********/ scanf ("%d", &x);if ( x < 1 )y = x; /***********found***********/else if ( 1 <=x&& x < 10 ) y = 2*x -1 ; else y = 3*x -11; printf("y = %d\n", y ); } 程序中有两处错误,错误都在提示行: /***********found***********/的下面一行。请改正程序中的错误, 使它能得出正确的结果。注意:不要随意改动程序,不得增行或删行,也不得更改程序的结构! 修改程序后,运行程序,输入x 的值(分别为x<1、1≤x<10、x ≥10三种情况,如0.5、8、15),检查输 出的y 值是否正确。 ?? ? ??≥-<≤-<=)10(113) 101(12)1(x x x x x x y

2、从键盘输入某学生的考试成绩,要求输出成绩等级A 、B 、C 、D 、E 。学生的成绩可分成5个等级,90- 100分为A 级,80-89分为B 级,70-79分为C 级,60-69分为D 级,0-59分为E 级。要求在输入负数时, 给出错误提示。 ① 事先编好程序,要求分别用if 语句和switch 语句实现。运行程序,并检查结果是否正确。 ② 再运行一次程序,输入分数为负值(如-70),这显然是输入时出错,不应给出等级。修改程序,使之 能正确处理任何数据。当输入数据大于100或小于0时,通知用户“输入数据错”,程序结束。 3、给一个不多于5位的正整数,要求:①求出它是几位数;②分别打印出每一位数字;③按逆序打印出各位 数字,例如:原数据为321,应输出123。(BX4.6) 分别用1位正整数、2位正整数、3位正整数、4位正整数、5位正整数作为测试数据进行测试。 除此之外,程序还应当对不合法的输入作必要的处理。例如:当输入负数时或输入的数超过5位(如123 456)数时。4、输入3 个整数,要求按由小到大的顺序输出。

程序设计基础试题和答案解析二

《程序设计基础》考试试卷二 1.1966年,Bohra和Jacopini提出的三种基本程序设计结构是:________ A.if、while和for; B. switch、do-while和for; C.while、do-while和for; D.顺序结构、分支结构和循环结构。 2.算法的特征不包括:______。 A.有穷性 B.可行性 C.确定性 D.有1个或者多个输入。 3.C语言源程序的基本组成单位是______。 A.函数 B. 语句 C. 声明和语句 D. 文件 4.下列标识符中,只有______是合法的。 A.if B. 3ab C. Int D. A-4 5.下列常量中,只有______是合法的。 A.3e-0.3 B. ‘abc’ C. 02a1 D. ‘\377’ 6.下列说法中正确的是:______。 A.C语言中的for语句的三个表达式都可以省略,而且分号也可以省略。 B.宏替换比函数调用的执行速度慢。 C.实质上,C语言中的指针就是一个变量的地址。 D.C语言中的任何函数都可以由程序员命名。 7.C语言中,运算对象必须是整型的运算符是_______。 A./ B. % C. + D. - 8.以下叙述中错误的是_______。 A.C语句必须以分号结束 B.复合语句在语法上被看作一条语句 C.空语句出现在任何位置都不会影响程序运行 D.赋值表达式末尾加分号就构成赋值语句 9.以下叙述中正确的是_______。 A.调用printf函数时,必须要有输出项 B.使用putchar函数时,必须在之前包含头文件stdio.h C.在C语言中,整数可以以十二进制、八进制或十六进制的形式输出 D.调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码10.以下关于函数的叙述中正确的是_______。 A.每个函数都可以被其它函数调用(包括main函数) B.每个函数都可以被单独编译 C.每个函数都可以单独运行 D.在一个函数内部可以定义另一个函数 11.有以下程序段typedef struct NODE{ int num; struct NODE *next;

第六章 Maple程序设计

第六章Maple程序设计 教学目的:学习并掌握计算机代数系统Maple下的算法设计和程序设计原理和方法,包括基本程序结构、子程序求值、程序的嵌套以及程序的调试。 教学要求:掌握算法设计和程序设计原理和基本方法。 重点内容:算法设计,程序设计。 难点内容:算法设计,程序设计。

前面, 我们使用的是Maple 的交互式命令环境. 所谓交互式命令环境, 就是一次输入一条或几条命令, 然后按回车, 这些命令就被执行了, 执行的结果显示在同一个可执行块中. 对于大多数用户来说, 利用交互式命令环境解决问题已经足够了, 但如果要解决一系列同一类型的问题或者希望利用Maple 编写需要的解决特定问题的函数和程序, 以期更加充分地利用Maple 的强大功能, 提高大规模问题的计算效率, 进行一定的程序设计是必要的. 程序设计主要包括两个方面: 行为特性的设计与结构特性的设计. 所谓行为特性的设计, 通常是指将解决问题的过程的每一个细节准确地加以定义, 并且还应当将全部的解题过程用某种工具完整地描述出来, 这一过程也称为算法的设计. 而结构特性设计是指为问题的解决确定合适的数据结构. 幸运的是, Maple 自身提供了一套编程工具, 即Maple 语言. Maple 语言实际上是由Maple 各种命令以及一些简单的过程控制语句组成的. 1编程基础 1.1算子 所谓算子, 是从一个抽象空间到另一个抽象空间的函数. 在数学上算子的含义通常是函数到函数的映射. 在Maple 中, 算子常用“箭头”记号定义(也称箭头操作符): > f:=x->a*x*exp(x); := f → x a x e x > g:=(x,y)->a*x*y*exp(x^2+y^2); := g → (),x y a x y e () + x 2y 2 另外, 函数unapply 也可以从表达式建立算子: > unapply(x^2+1,x); → x + x 21 > unapply(x^2+y^2,x,y); → (),x y + x 2y 2 当我们依次把算子f 作用到参数0, a, x^2+a 时即可得平常意义上的函数值: > f:=t->t*sin(t); := f → t t ()sin t

《程序设计基础》记分作业4答案

《程序设计基础》记分作业4答案 单选题。(共16道试题,每题3分) 1、树的典型特点是各个结点之间是( C )。 A、没有直接关系 B、一对一关系 C、一对多关系 D、多对多关系 2、采用顺序空间作为栈的存储空间时,在进行栈操作的时候( D )。 A、不需要判断栈是否空,不需要判断栈是否满 B、不需要判断栈是否空,但需要判断栈是否满 C、需要判断栈是否空,不需要判断栈是否满 D、需要判断栈是否空,也需要判断栈是否满 3、在存储线性表时,( C )。 A、只能采用顺序存储结构 B、只能采取链式存储结构 C、可以任意采用顺序或链式存储结构 D、没有明确的结论 4、线性表表长的含义是( C )。 A、线性表所占用的内存字节数量 B、线性表占用的内存和外存的字节数量 C、线性表中所包含的元素数量 D、线性表在内存中元素的数量 5、采用链式存储保存线性表与采用顺序存储保存线性表进行比较,在链式存储线性表时进行插入操作的执行效率( C )。 A、比较低 B、一样 C、比较高 D、没有明确结论 6、对于一张一般的图,其中的各个结点之间的关系是( D )。 A、集合关系 B、一对一关系 C、一对多关系 D、多对多关系 7、数据的存储结构分为( D )。 A、线性存储结构和非线性存储结构 B、有序存储结构和非有序存储结构 C、树型存储结构和图型存储结构 D、链式存储结构和顺序存储结构 8、进行折半查找的条件是( A )。 A、数据有序且采用顺序存储方式 B、数据不需要有序,但需要顺序存储 C、数据有序且采用链式存储方式 D、数据不需要有序,但需要链式存储 9、采用链式存储的有序数据要进行查找,可以采用( A )。 A、顺序查找 B、折半查找 C、顺序索引查找 D、顺序或折半查找 10、下面4句结论中只有一句是错误的,它是( B )。

第10章 程序设计基础_习题参考答案

第10章习题参考答案 一、选择题 1.编写程序时,不需要了解计算机内部结构的语言是( C )。 A.机器语言B.汇编语言 C.高级语言D.指令系统 2.能够把由高级语言编写的源程序翻译成目标程序的系统软件叫( D )。 A.解释程序B.汇编程序 C.操作系统D.编译程序 3.结构化程序设计主要强调的是( B )。 A.程序的规模B.程序的可读性 C.程序的执行效率D.程序的可移植性 4.在面向对象方法中,一个对象请求另一个对象为其服务的方式是通过发送( D )。 A.调用语句B.命令C.口令D.消息 5.下列程序段的时间复杂度是( A )。 t=i; i=j; j=t; A.O(1) B.O(3) C.O(n) D.O(3n) 6.一位同学用C语言编写了一个程序,编译和连接都通过了,但就是得不到正确结果,那么下列说法正确的是( C )。 A.程序正确,机器有问题B.程序有语法错误 C.程序有逻辑错误D.编译程序有错误 二、填空题 1.程序设计的基本步骤是(分析问题,确定数学模型)、(设计算法,画出流程图)、(选择编程工具,按算法编写程序)、(调试程序,分析输出结果)。 2.用高级语言编写的程序称为(源程序),把翻译后的机器语言程序叫做(目标程序)。 3.结构化程序设计的3种基本逻辑结构为顺序、选择和(循环)。 4.面向对象程序设计以(对象)作为程序的主体。 5.在面向对象方法中,信息隐蔽是通过对象的(封装)性来实现的。 6.在最坏情况下,冒泡排序的比较次数为(n(n-1)/2)。 三、问答题 1.什么是程序?什么是程序设计? 程序是计算机指令的集合,这些指令描述了计算机的一系列操作步骤。 使用计算机解决实际问题,通常是先要对问题进行分析并建立数学模型(对数值计算问题)或提出对数据处理的需求(对非数值计算问题),然后进行算法设计,并用某一种程序设计语言编写程序,最后调试程序,使之运行后能产生预期的结果。这个过程称为程序设计。 2.什么是算法?它有何特征?如何描述算法? 计算机解决问题的方法和步骤,就是计算机解题的算法。 算法具有5个特性:有穷性、确定性、有效性、一般要有数据输入、要有结果输出。 描述算法有多种不同的工具:自然语言、流程图、结构化流程图和伪代码等。 3.简述冒泡排序、折半查询的基本思想。 冒泡法排序法是每趟将相邻的两个数两两进行比较,若满足排序次序,则进行下一次比较,若不满足排序次序,则交换这两个数,直到最后。总的比较次数为n-1次,此时最后的

程序设计基础实验内容

实验指导 实验一 Visual C++6.0开发环境使用 1.实验目的 (1)熟悉Visual C++6.0集成开发环境。 (2)掌握C语言程序的书写格式和C语言程序的结构。 (3)掌握C语言上机步骤,了解C程序的运行方法。 (4)能够熟练地掌握C语言程序的调试方法和步骤 2. 实验内容 输入如下程序,实现两个数的乘积。 #include (stdio.h); int main() { x=10,y=20 p=prodct(x,t) printf("The product is : ",p) int prodct(int a ,int b ) int c c=a*b return c } (1)在编辑状态下照原样键入上述程序。 (2)编译并运行上述程序,记下所给出的出错信息。 (3)再编译执行纠错后的程序。如还有错误,再编辑改正,直到不出现语法错误为止。3.分析与讨论 (1)记下在调试过程中所发现的错误、系统给出的出错信息和对策。分析讨论成功或失败的原因。 (2)总结C程序的结构和书写规则。 实验二数据类型、运算符和表达式 1.实验目的 (1)理解常用运行符的功能、优先级和结合性。 (2)熟练掌握算术表达式的求值规则。 (3)熟练使用赋值表达式。 (4)理解自加、自减运算符和逗号运算符 (5)掌握关系表达式和逻辑表达式的求值 2.实验内容

(1)整数相除 #include int main() { int a=5,b=7,c=100,d,e,f; d=a/b*c; e=a*c/b; f=c/b*a; printf("d=%d , e=%d ,f=%d\n",d,e,f); return 0; } (2)自加、自减运算 #include int main() { int a=5,b=8; printf("a++=%d\n",a++); printf("a=%d\n",a); printf("++b=%d\n",++b); printf("b=%d\n",b); return 0; } (3)关系运算和逻辑运算 #include int main() { int a=5,b=8,c=8; printf("%d,%d,%d,%d\n",a==b&&a==c,a!=b&&a!=c,a>=b&&a>=c,a<=b&& a<=c); printf("%d,%d\n",a<=b||a>=c,a==b||b==c); printf("%d,%d,%d,%d\n",!(a==b),!(a>=b),!(a>=c),!(a<=b)); return 0; } (1)在编辑状态下输入上述程序。 (2)编译并运行上述程序。 3.分析与讨论 (1)整数相除有什么危险?应如何避免这种危险? (2)分析a++和++a的区别。 (3)条件表达式和逻辑表达式的意义是什么,它们取值如何? (4)如何比较两个浮点数相等?为什么? 实验三格式化输入输出函数的使用 1.实验目的

程序设计基础知识(简答题)

1.请简述程序设计的一般步骤。 (1)分析问题:(2)设计算法;(3)选择程序设计语言;(4)编写程序代码 2.请说明算法的五个基本特征,并进行简要的分析 ①确定性:算法的每一种运算必须要有确切的定义,即每一种运算应该执行何种动作必须是相当清楚的、无二义性的。 ②输入:一个算法有0个或多个输入,这些输入是在算法开始之前给出的量,它取自特定的对象集合 ③输出:一个算法产生一个或多个输出,这些输出是同输入有某种特定关系的量。 ④有穷性:一个算法总是在执行了有穷步的运算之后能够终止,且每一步都可在有穷时间内完成。这里的有穷的概念不是纯数学的,而是在实际上是合理的,可以接受的。 ⑤可行性:每个算法都可以有效地执行,并能得到确定的结果 3.算法的表示方法有哪些? 常用的算法表示方法有自然语言、流程图、N-S图、伪代码等 ①自然语言:指人们在日常生活中使用的语言,用自然语言描述的算法通俗易懂,但缺乏直观性和简洁

性,容易产生歧义。 ②流程图:它是算法的一种图形化表示方法,与自然语言相比,它的描述形象直观 更容易理解 ③N-图:它是一种简化的流程图,去掉了流程图中的流程线,全部算法写在一个矩 形框内。 ④伪代码:介于自然语言和计算机程序语言之间的一种算法描述,没有严格的语法 限制。例如:If(明天 不下雨)Then(我们骑车去郊游)表示“如果明天不下雨,那么我们骑车去郊游如果 一种算法描述中既出 现了自然语言,又出现了程序语言中的关键字(变量名不算关键字),则这种算法描 述方法就是伪代码。 4.简述算法的三种基本控制结构 ①顺序结构:按照语句的先后顺序执行即为顺序结构,是算法中最简单的一种结构。 ②选择结构:根据条件的不同,程序执行不同的语句,即为选择结构。 ③循环结构:根据约束条件的不同,多次重复执行某一条或多条语句的结构,称为 循环结构。

计算机程序设计基础实验12个实验

《计算机程序设计基础》实验教学 大纲 课程编号:1303072 实验学时:24课程学分:3.5 课程类型:必修教学对象:全校各非计算机专业先修课程: ㈠实验目的与要求  本实验课程面向文法学院学生,通过本课程的学习与实验,使学生了解程序设计的一些基本概念,掌握计算机程序设计的一般方法,具备使用计算机解决实际问题的初步能力。 在实验教学中提倡“实验前要准备,实验中要认真,实验后要总结”;突出上机实践操作环节,强调在教师指导下的以学生为中心完成每次上机的具体内容和要求;对于普遍问题采用领练、辅导有机

结合的方法;尽量采用 CAI 辅助教学软件。 通过实验教学使学生能够建立计算机程序设计的基本概念;在简单的程序设计过程中掌握Visual Basic可视化设计的步骤,逐步搞清什么是对象、对象的属性以及事件和方法等重要概念。在此基础上,掌握程序设计的3种基本结构。 ㈡实验考核方式与成绩评定方法考核方式: 1.考核学生每次实验完成情况; 2.考核学生的计算机基本操作能力; 3.上机考试 成绩评定:学生应按照每次实验的要求,完成指定的实验任务,并按要求提交实验报告和实验文件,成绩评定由实验指导教师根据学生实验完成情况按照优秀、良好、中等、合格、不合格五个等级给出,实验成绩占20%计入学生课程成绩。  本学期需上交实验报告为三次,实验报告实验要求用本校实验报告册书写。要求填写学号、班级、姓名、实验指导老师、实验日期,报告内容包括实验名称、实验目的、实验内容、详细操作步骤及结果,最好写出自己的上机体会和总结。

㈢ 实验项目设置 根据教学内容和实验教学目的,共设4个实验项目: 项目一,认识Visual Basic,包括2个实验; 项目二,程序设计基础,,包括6个实验; 项目三,常用控件及界面设计,包括2个实验;项目四,文件管理,包括1个实验; 总的实验数为12个实验。 实验项目名称实验内容与学时分配总学时 数 认识Visual Basic 1.Visual Basic 程序设计环 境 2.窗体和最基 本控件 4 程序设计基础1.数据类型及函数 2.顺序程序设计 3.分支结构程序设计4.循环结构程序设计5.数组 6.过程 12 常用控件及界面设计1.常用标准控件 2.界面设计 4 文件管理1.文件管理2

程序设计基础试题(附答案)

程序设计基础复习题 一、单选 1、一个完整的计算机系统应该包括() A、系统软件和应用软件 B、计算机及其外部设备 C、硬件系统和软件系统 D、系统硬件和系统软件 2、“裸机”的概念是指() A、正在进行设计还没有组装好的计算机 B、已经组装好但还没有安装任何软件的计算机 C、仅安装了操作系统的计算机系统 D、安装了文字处理软件但没有安装专用数据处理系统的计算机 3、世界上第一台电子数字计算机研制成功的时间是() A、1936年 B、1946年 C、1956年 D、1970年 4、CASE的含义是() A、计算机辅助设计 B、计算机辅助制造 C、计算机辅助教学 D、计算机辅助软件工程5、当前广泛使用的微型计算机是() A、第一代 B、第二代 C、第三代 D、第四代 6、当代计算机的体系结构称为是() A、冯·诺依曼机 B、非冯·诺依曼机 C、图灵机 D、比尔盖茨机 7、硬盘是() A、输入设备 B、输出设备 C、存储设备 D、计算设备 8、下面4句话中,最准确的表述是() A、程序=算法+数据结构 B、程序是使用编程语言实现算法 C、程序的开发方法决定算法设计 D、算法是程序设计中最关键的因素

9、计算机能直接执行的语言是() A、机器语言 B、汇编语言 C、高级语言 D、目标语言 10、解释程序的功能是() A、将高级语言程序转换为目标程序 B、将汇编语言程序转换为目标程序 C、解释执行高级语言程序 D、解释执行汇编语言程序 11、下面4种程序设计语言中,不是面向对象式语言的是() A、JAVA B、Object Pascal C、Delphi D、C 12、不是C语言的基本数据类型是() A、int B、double C、char D、bool 13、在C语言中,为了求两个整数相除之后得到的余数,可以使用运算符() A、/ B、% C、* D、++ 14、数据的逻辑结构分为() A、纯属结构和非线性结构 B、顺序结构和非顺序结构 C、树型结构和图型结构 D、链式结构和顺序结构 15、用链表表示纯属表的优点是() A、便于随机存取 B、便于插入和删除操作 C、花费的存储空间较顺序存储少 D、元素的物理顺序与逻辑顺序相同 16、栈的最主要特点是() A、先进先出 B、先进后出 C、两端进出 D、一端进一端出 17、下面4句结论只有一句是错误的,它是()

C语言程序设计第四版第六章答案谭浩强

1、用筛选法求100之内的素数。解: #include #include int main() {int i,j,n,a[101]; for (i=1;i<=100;i++) a[i]=i; a[1]=0; for (i=2;i int main() {int i,j,min,temp,a[11]; printf("enter data:\n"); for (i=1;i<=10;i++)

{printf("a[%d]=",i); scanf("%d",&a[i]); } printf("\n"); printf("The orginal numbers:\n"); for (i=1;i<=10;i++) printf("%5d",a[i]); printf("\n"); for (i=1;i<=9;i++) {min=i; for (j=i+1;j<=10;j++) if (a[min]>a[j]) min=j; temp=a[i]; a[i]=a[min]; a[min]=temp; } printf("\nThe sorted numbers:\n"); for (i=1;i<=10;i++) printf("%5d",a[i]); printf("\n"); return 0; } 3、求一个3×3的整型矩阵对角线元素之和。解: #include int main() { int a[3][3],sum=0; int i,j; printf("enter data:\n"); for (i=0;i<3;i++) for (j=0;j<3;j++) scanf("%3d",&a[i][j]); for (i=0;i<3;i++) sum=sum+a[i][i]; printf("sum=%6d\n",sum);

相关文档
最新文档