《程序设计基础》期末复习题2013.12

合集下载

程序设计期末试题及答案

程序设计期末试题及答案

程序设计期末试题及答案1. 题目描述假设有一个学生成绩管理系统,具有以下功能:- 添加学生信息- 修改学生信息- 删除学生信息- 查询学生信息- 统计学生人数- 计算学生平均分请你设计一个基于面向对象编程思想的学生成绩管理系统。

2. 解题思路首先,我们需要定义一个Student类,该类包含以下属性:- 学生姓名- 学生学号- 学生成绩可以使用构造函数初始化这些属性,同时提供设置和获取属性值的方法。

接下来,我们需要设计一个ManageSystem类,该类用于实现学生成绩管理系统的各种功能。

我们可以将学生信息存储在一个列表中,通过列表的操作来实现添加、修改、删除和查询学生信息的功能。

具体来说,ManageSystem类需要实现以下方法:- 添加学生信息:接受学生姓名、学号和成绩作为参数,创建一个Student对象并将其添加到学生列表中。

- 修改学生信息:接受学生学号和新的学生信息作为参数,遍历学生列表,找到对应学号的学生对象并修改其属性值。

- 删除学生信息:接受学生学号作为参数,遍历学生列表,找到对应学号的学生对象并从列表中删除。

- 查询学生信息:接受学生学号作为参数,遍历学生列表,找到对应学号的学生对象并返回其属性值。

- 统计学生人数:返回学生列表的长度。

- 计算学生平均分:遍历学生列表,累加每个学生的成绩,并返回总成绩除以学生人数的结果。

3. 代码实现```pythonclass Student:def __init__(self, name, student_id, score): = nameself.score = scoredef get_name(self):return def get_student_id(self):return self.student_iddef get_score(self):return self.scoredef set_name(self, name): = namedef set_student_id(self, student_id):self.student_id = student_iddef set_score(self, score):self.score = scoreclass ManageSystem:def __init__(self):self.students = []def add_student(self, name, student_id, score): student = Student(name, student_id, score)def modify_student(self, student_id, name=None, score=None): for student in self.students:if student.get_student_id() == student_id:if name:student.set_name(name)if score:student.set_score(score)def delete_student(self, student_id):for student in self.students:if student.get_student_id() == student_id:self.students.remove(student)def query_student(self, student_id):for student in self.students:if student.get_student_id() == student_id:return studentdef count_students(self):return len(self.students)def calculate_average_score(self):total_score = 0for student in self.students:total_score += student.get_score()return total_score / len(self.students)```4. 程序使用示例```python# 创建学生成绩管理系统对象system = ManageSystem()# 添加学生信息system.add_student("张三", "001", 80)system.add_student("李四", "002", 90)system.add_student("王五", "003", 85)# 修改学生信息system.modify_student("002", name="赵六", score=95) # 删除学生信息system.delete_student("001")# 查询学生信息student = system.query_student("003")print(student.get_name()) # 输出:王五# 统计学生人数count = system.count_students()print(count) # 输出:2# 计算学生平均分average_score = system.calculate_average_score()print(average_score) # 输出:90.0```5. 总结通过以上设计和实现,我们可以得到一个基于面向对象编程思想的学生成绩管理系统。

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

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

程序设计基础复习题一、单选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、JAVAB、Object PascalC、DelphiD、C12、不是C语言的基本数据类型是()A、intB、doubleC、charD、bool13、在C语言中,为了求两个整数相除之后得到的余数,可以使用运算符()A、/B、%C、*D、++14、数据的逻辑结构分为()A、纯属结构和非线性结构B、顺序结构和非顺序结构C、树型结构和图型结构D、链式结构和顺序结构15、用链表表示纯属表的优点是()A、便于随机存取B、便于插入和删除操作C、花费的存储空间较顺序存储少D、元素的物理顺序与逻辑顺序相同16、栈的最主要特点是()A、先进先出B、先进后出C、两端进出D、一端进一端出17、下面4句结论只有一句是错误的,它是()A、二叉树是树B、二叉树的左右子树的位置可以颠倒C、可以使用二叉树的思想对数值进行排序D、可以采用链表方式存储二叉树18、螺旋模型中包括需求定义、风险分析、工程实惠和评审四个阶段,在开发过程中()A、每个周期都要包括这四个阶段B、每个周期可以包括不同的阶段C、在最后交付使用之前才进行评审D、在项目开始时才需要进行风险分析19、软件工程的出现主要是由于()A、程序设计方法学的影响B、其他工程科学的影响C、软件危机的出现D、计算机的发展20、在软件工程中,软件测试的目的是()A、试验性运行软件B、发现软件错误C、证明软件是正确的D、找出软件中全部错误二、填空题1、世界上最早的高级程序设计语言是()2、计算机按照工作原理进行分类可以分为()和()3、当前计算机的最基本原理采用的是()4、计算机存储器一般分为两级,它们是()和()5、高级语言程序的翻译有两种方式,一种是(),另一种是()6、数据的存储结构可以用()和()7、树型结构的主要特征是结点之间存在着一种层次的关系,数据元素之间的关系是()的关系。

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

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

程序设计基础复习题一、单项选择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、JAVAB、Object PascalC、DelphiD、C12、不是 C语言的基本数据种类是()A、intB、doubleC、charD、bool13、在 C 语言中,为了求两个整数相除以后获得的余数,能够使用运算符()A、/B、%C、*D、++14、数据的逻辑构造分为()A、纯属构造和非线性构造B、次序构造和非次序构造C、树型构造和图型构造D、链式构造温次序构造15、用链表表示纯属表的长处是()A、便于随机存取B、便于插入和删除操作C、花销的储存空间较次序储存少D、元素的物理次序与逻辑次序同样16、栈的最主要特色是()A、先进先出B、先进后出C、两头出入D、一端进一端出17、下边 4 句结论只有一句是错误的,它是()A、二叉树是树B、二叉树的左右子树的地点能够颠倒C、能够使用二叉树的思想对数值进行排序D、能够采纳链表方式储存二叉树18、螺旋模型中包含需求定义、风险剖析、工程优惠和评审四个阶段,在开发过程中() A、每个周期都要包含这四个阶段 B、每个周期能够包含不一样的阶段C、在最后交托使用以前才进行评审D、在项目开始时才需要进行风险剖析19、软件工程的出现主假如因为()A、程序设计方法学的影响B、其余工程科学的影响C、软件危机的出现D、计算机的发展20、在软件工程中,软件测试的目的是()A、试验性运转软件B、发现软件错误C、证明软件是正确的D、找出软件中所有错误二、填空题1、世界上最早的高级程序设计语言是()2、计算机依据工作原理进行分类能够分为()和()3、目前计算机的最基来源理采纳的是()4、计算机储存器一般分为两级,它们是()和()5、高级语言程序的翻译有两种方式,一种是(),另一种是()6、数据的储存构造能够用()和()7、树型构造的主要特色是结点之间存在着一种层次的关系,数据元素之间的关系是()的关系。

程序设计基础期末模拟题(含答案)

程序设计基础期末模拟题(含答案)

一、单项选择题,请将正确答案填在横线处。

(每小题2分,共20分)1. 一个算法应该具有"确定性"等5个特性,下面对另外4个特性的描述中错误的是______。

A.有零个或多个输入B.有零个或多个输出C.有穷性D.可行性2.下述标识符中,______不是合法的标识符。

A.A#CB.getchC.vodD.ab3. 下列关于单目运算符++.--的叙述中正确的是______。

A.它们的运算对象可以是任何变量和常量B.它们的运算对象可以是char型变量和int型变量,但不能是float型变量C.它们的运算对象可以是int型变量,但不能是double型变量和float型变量D.它们的运算对象可以是char型变量.int型变量和float型变量5. 以下程序的输出结果是______。

#include<stdio.h>void main(){ int a=5,b=4,c=6,d;printf("%d\n",d=a>c?(a>c?a:c):(b));}A.5B.4C.6D.不确定6. 有以下程序main(){int a=0,b=0,c=0,d=0;if(a=1) b=1;c=2;else d=3;printf(“%d,%d,%d,%d\n”,a,b,c,d);}程序输出______。

A.0,1,2,0B. 0,0,0,3C.1,1,2,0D.编译有错7. C语言中,下列叙述正确的是______。

A.不能使用do-while语句构成的循环B.do-while语句构成的循环,必须用break语句才能退出C.do-while语句构成的循环,当while语句中的表达式值为非零时结束循环D.do-while语句构成的循环,当while语句中的表达式值为零时结束循环8. 若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是______。

A.函数的实参和其对应的形参共占同一存储单元B.形参只是形式上的存在,不占用具体存储单元C.同名的实参和形参占同一存储单元D.函数的形参和实参分别占用不同的存储单元9. 有如下程序#define N 2#define M N+1#define NUM 2*M+1main(){ int i;for(i = 1; i <= NUM; i++)printf("%d\n",i);}该程序中的for循环执行的次数是______。

C语言程序设计期末考试题及答案

C语言程序设计期末考试题及答案

} ;++x } ;++x ;eunitnoc )2%j(fi { )++j;3=<j;0=j(rof ;++x { )++i;2<i;0=i(rof ;0=x,j,i tni { )(niam >h.oidts< edulcni # �是果结行运的序程面下�61 } ;)d,"n\d%"(ftnirp ;++a=+d ;)a(nuf ;3=a nti { )(niam } ;)d,"d%"(ftnirp ;++p=+d ;5=d tni { )p tni( nuf ; l1=d tni 44)D 59)C 99)B 48)A 是果结出输,后行运序程下以�51 } ;)a,"n\d%"(ftnirp ;m&==1p=a ;m&=2p*,k&=1p*,6=m,4=k,a tni { )(niam 值定无 a,错出时行运)D 0)C 1)B 4)A 是值的 a 后行执序程下以�41 } ;))b+a(S,"n/fl.4%"( ftnirp ;2=b,1=a tni { )(niam x*x*tp )x(s enifid # 5.5 TP enifed # edulcni # 0.54�D 0.22�C 5.9 �B 5.94 �A 是果结出输,后行运序程下以�31 ;)2v,1v,"n\d%,d%"(ftnirp }
;)]cgra[vgra,"s%"(ftnirp )0>cgra--(elihw { ))][vgra* rahc ,cgra tni (niam HGFEDCBALKJI )D LKJIHGFEDCBA )C LHJI )B GFEDCBA )A 为果结出输则�>车回<LKJI HGFEDCBA GORP �入键下符示提 SOD 的录目在 所件文行执可此在果如�EXE.GORP 件文行执可成生后接连和译编经序程下以定假 �02 EGAUGNAl c )D EGAUGNAL C )C egaugnal c )B egaugnaL C )A �是果结行运的序程面上 } ;)c,”c%“(ftnirp fidne # ;23+c=c )’Z’=<c&&’A’=>c(fi esle # ;23-c=c )’z’=<c&&’a’=>c(fi RETTEL fi # ;++i { ’0\’=!)]i[rts=c((elihW ;0=i ;i tni ;c,”egaugnaL C”=]02[rts rahc { )(niam 0 RETTEL enifed # �序程读请�91 0)D 3)C 2)B 1 )A 为值的 n,后)d>c=n(&&)b>a=m(:式达表行执则 ;2=n,2=m,4=d,3=c,2=b,1=a tni :义定下如有设�81 } ;)p*,"n\d%"(ftnirp ;)a,p&( tuf l))tni(foezis(collam)* tni(=p ;p*,}11,9,7,5,3,1{=]3[]2[a tni { )(niam };]1[]1[p=s** { )]3[]2[p tni,s** tni( tuf 11)D 9)C 7 )B 1 )A 是果结出输,后行运序程下以�71 21=x)D 6=x)C 8=x)B 4=x )A } ;)x,”n\d%=x“(ftnirp

程序设计基础试卷A卷答案

程序设计基础试卷A卷答案
四、看程序写结果(每题5分,共20分)
1、以下程序的执行结果是23\n。
#inclued<stdio.h>
int main( )
{
int m=20;
switch(m)
{
case 19: m+=1;
case 20: m+=1;
case 21: m+=1;
case 22: m+=1;
}
printf("%d\\n",m);
四川工商职业技术学院2012-2013第1学期
《程序设计基础》期末试卷(A)
专业班级:学号姓名
题号










总分
得分
评分人
一、单项选择题(每小题2分,共40分)
1.以下叙述正确的是(C)。
A. main()必须是程序的第一行
B.C语言程序每行只能写一条语句
C.C语言程序可以由一个或多个函数组成
B.可以是变量或常量
C.只能是常量或常量表达式
D.只能是常量
二、填空题(每空2分,共20分)
1、在使用完一个文件后,应关闭该文件,一般使用的关闭文件函数为_fclose()_______。
2、链表是以结构类型表示链中元素,以__指针____表示链的一种线性数据结构。
3、在C语言中,编译预处理通常以__#______开头。
三、判断题(正确的打“√”,错误的打“×”每小题2分,共8分)
1
2
3
4
四、读程序写结果(每题5分,共20分)
1、
2、
3、
4、
五、编写程序题,学生任选一题完成。(每小题12分,共12分)

程序设计基础期末复习题

程序设计基础期末复习题

程序设计基础期末复习题程序设计基础期末复习题随着信息技术的不断发展,程序设计已经成为了一个重要的技能。

无论是在科研、工程还是日常生活中,我们都离不开程序设计。

因此,学习程序设计基础是非常重要的。

下面,我们来复习一些程序设计的基础知识。

一、变量和数据类型在程序设计中,变量是存储数据的容器。

不同的数据类型有不同的特点和用途。

常见的数据类型包括整数、浮点数、字符和布尔值等。

在定义变量时,需要指定变量的数据类型,并为其分配内存空间。

例如,整数类型的变量可以用来存储整数值,而浮点数类型的变量可以用来存储带小数点的数值。

字符类型的变量可以存储单个字符,而布尔类型的变量只能存储真或假的值。

在程序设计中,我们还可以使用运算符对变量进行运算。

常见的运算符包括加减乘除和取余等。

此外,我们还可以使用条件语句和循环语句来控制程序的执行流程。

二、函数和模块函数是一段具有特定功能的代码块,可以被多次调用。

函数可以接受输入参数,并返回输出结果。

通过使用函数,我们可以将程序分解成多个模块,提高代码的可读性和可维护性。

在程序设计中,函数可以是内置函数,也可以是自定义函数。

内置函数是编程语言提供的函数,可以直接调用。

而自定义函数则是由程序员根据需要编写的函数。

在编写函数时,我们需要考虑函数的输入和输出。

输入参数可以是必需的,也可以是可选的。

输出结果可以是一个值,也可以是一个数据结构。

通过合理设计函数的输入和输出,我们可以使函数更加灵活和通用。

三、数组和列表数组和列表是存储多个数据的数据结构。

它们可以存储相同类型的数据,并按照一定的顺序进行访问。

数组和列表的主要区别在于其大小是否可变。

数组是一种固定大小的数据结构,一旦创建后,其大小就不能改变。

而列表是一种大小可变的数据结构,可以根据需要动态调整其大小。

在程序设计中,我们可以使用数组和列表来存储一系列数据,并通过索引来访问其中的元素。

通过使用循环语句,我们可以对数组和列表中的元素进行遍历和操作。

2013《Visual BASIC程序设计》期末考试编程题复习及答案

2013《Visual BASIC程序设计》期末考试编程题复习及答案

第2章1.新建工程,在窗体上创建两个命令按钮Command1、Command2,一个标签Label1,界面如图2-5所示,程序运行要求如下:1)单击“改变颜色”按钮,标签上的文字内容改为“颜色已经改变”,文字颜色改为红色。

“改变颜色”按钮代码:Label1.ForeColor = vbRedLabel1.Caption = "颜色已经改变"2)单击“改变字体”按钮,标签上的字体改为“黑体”。

“改变字体”按钮代码:Label1.FontName = "黑体"图2-5程序运行界面最后将工程文件、窗体文件分别以lx2-2.vbp、lx2-2.frm为文件名保存在D:\EX文件夹下。

2.设计一个留言薄。

新建一个工程,在窗体上创建2个标签,2个文本框,1个命令按钮,属性设置如图2-6所示,。

要求单击“提交”按钮后,上面的文本框内容复制到下面的文本框中,且下面文本框中的内容不能修改。

单击“清除”按钮则清除两个文本框中的内容。

“提交”按钮代码:Text2.Text = Text1.Text“清除”按钮代码:Text1.Text = ""Text2.Text = ""图2-6 程序界面最后将工程文件、窗体文件分别以lx2-4.vbp、lx2-4.frm为文件名保存在D:\EX文件夹下。

3.设计一个程序,程序界面如图2-7所示。

当单击“显示”按钮时,在文本框中显示“欢迎使用VB!”;当单击“清除”按钮时,清除文本框内的文本;当单击“退出”按钮时,结束程序运行。

“显示”按钮代码:Text1.Text = "欢迎使用VB!"“清除”按钮代码:Text1.Text = ""“退出”按钮代码:End图2-7 程序运行界面最后将工程文件、窗体文件分别以lx2-5.vbp、lx2-5.frm为文件名保存在D:\EX文件夹下。

C语言程序设计期末考试复习题及答案(答案与题目分离)

C语言程序设计期末考试复习题及答案(答案与题目分离)

A)称为函数的直接递归调用
B)称为函数的间接递归调用
C)称为函数的循环调用
D)C 语言中不允许这样的递归调用
6.以下叙述中正确的是
A)局部变量说明为 static 存储类,其生存期将得到延长
B)全局变量说明为 static 存储类,其作用域将被扩大
C)任何存储类的变量在未赋初值时,其值都是不确定的
D)形参可以使用的存储类说明符与局部变量完全相同
7.若变量已正确定义,要求程序段完成求 5!的计算,不能完成此操作的程序段是
A)for(i=1,p=1;i<=5;i++) p*=i;B)for(i=1;i<=5;i++){ p=1; p*=i;}
C)i=1;p=1;while(i<=5){p*=i; i++;}D)i=1;p=1;do{p*=i; i++; }while(i<=5);
int num[N];
int num[N];
12.以下能正确定义数组并正确赋初值的语句是
A)int N=5,b[N][N]; B)int a[1][2]={{1},{3}};C)int c[2][]= {{1,2},{3,4}}; D)int d[3][2]={{1,2},
{34}};
13.有以下程序
sum=sum+i; i++; } printf(“%d”,sum); } 程序的运行结果是: (3) #include<stdio.h> main() { char str[ ]=”1a2b3c”; int i; for(i=0;str[i]!=’\0’;i++) if (str[i]>=’0’ && str[i]<=’9’) printf(“%c”,str[i]); } 程序的运行结果是: (4) main() { int a,b; a=5;

程序设计基础考试复习资料精选全文完整版

程序设计基础考试复习资料精选全文完整版

可编辑修改精选全文完整版程序设计基础1. 如果int a=3,b=4;则条件表达式"a<b? a:b"的值是32. C语言中函数返回值的类型是由函数定义时指定的类型决定的。

3. 对以下说明语句 int a[10]={6,7,8,9,10}; 的正确理解是将5个初值依次赋给a[0]至a[4]。

4.设有如下定义:struck sk{ int a;float b;}data;int *p;若要使P指向data中的a域,正确的赋值语句是p=&data.a。

5.int a=3,b=5;if(a=b)printf("%d=%d",a,b);else printf("%d !=%d",a,b);的输出结果是3!=56. 函数是构成C语言程序的基本单位。

7.结构化程序由三种基本结构组成,三种基本结构组成的算法是可以完成任何复杂的任务。

8.在函数调用时说法正确的是实际参数和形式参数可以同名9. 下列程序#include <stdio.h> main() { int s=0,a=5,n; scanf("%d",& n); do { s+=1; a=a-2; }while(a!=n); printf("%d,%d\n",s, a); }执行输入整数1的结果是2,1。

10. 在C语言中,函数的数据类型是指函数返回值的数据类型。

11. 如有定义语句int c[]={1,5,3,4,6,7,0},则数组有个7元素。

12. 若int x=2,y=3,z=4 则表达式x<z?y:z的结果是3。

13. 已知char s3[]="China";,则程序段printf("%d",sizeof(s3));的输出结果是6。

(字符串数组最后一个元素是'\0',长度6。

《程序设计基础》期末考试试卷A 答案

《程序设计基础》期末考试试卷A 答案

《程序设计基础》期末考试A 答案一、选择题(每题1.5分,共30分) A B C D A B C D 1、 ○ ○ ○ ● 11、○ ● ○ ○ 2、 ○ ○ ● ○ 12、○ ● ○ ○ 3、 ● ○ ○ ○ 13、○ ○ ● ○ 4、 ● ○ ○ ○ 14、○ ○ ○ ● 5、 ○ ○ ● ○ 15、○ ● ○ ○ 6、 ○ ○ ● ○ 16、● ○ ○ ○ 7、 ○ ● ○ ○ 17、● ○ ○ ○ 8、 ● ○ ○ ○ 18、○ ● ○ ○ 9、 ○ ○ ○ ● 19、○ ○ ○ ● 10、○ ● ○ ○ 20、● ○ ○ ○ 二、填空题(每题2分,共30分) 【21】 -1.7 【22】 1 【23】 8 【24】 26 【25】 0,0,2,3 【26】 2 【27】 1 【28】 8 【29】 x%10 【30】 ch>=’a ’&&ch<=’z ’ 【31】 a[row][colum] 【32】 strcmp(cRu[k].cname,cN)==0 【33】 xHao[m]=cRu[k].sno 【34】 max=iSc[0]; 【35】 iSc[k]>max三改错题(每题5分共10分)36 语句号: ①正确语句: int IsPrime(int n)语句号: ⑤正确语句: if(!(n%i)) 37 语句号: ⑤正确语句: t+=s[k];语句号: ⑦正确语句: for(i=0;i<n;i++) 四编程(共30分)38#include <stdio.h>void main(){ float x,y;printf(“Input x:”);scanf(“%f”,&x);if(x<0) y=x*x-1;else if(x>5&&x<10) y=2*x*x*x+3*x-6;else y=5*x+9;printf(“y=%f\n”,y);}39#include <stdio.h>void fun(char str[]){ int k=0,m=0;while(str[k]!=’\0’){ if (str[k]>=’0’&&str[k]<=’9’) str[m++]=str[k];k++;}str[m]=’\0’;}void main(){ char chs[80];printf(“Input a string:”);gets(chs);fun(chs);puts(chs);}40#include <stdio.h>int select(int iSc[][5],int n,int a,int b,int iZw[]){ int k,l,avg,fl,m=0;for(k=0;k<n;k++){ avg=0;fl=1;for(l=0;l<5;l++){ avg+=iSc[k][l];if (iSc[k][l]<b) fl=0;}avg=avg/5;if(fl||avg>=a) iZw[m++]=k+1;}return(m);}void main(){ int iCj[20][5],iZh[20],k,m;for(k=0;k<20;k++){ printf(“\n输入%d号学生5门课成绩”,k+1)for(m=0;m<5;m++)scanf(“%d”,&iCj[k][m]);}m=select(iCj,20,90,85,iZh);printf(“满足平均成绩不低于90或各科成绩不低于85:\n”); for(k=0;k<m;k++)printf(“%d\n”,iZh[k]);}。

年国家开放大学电大《程序设计基础》期末考题汇总

年国家开放大学电大《程序设计基础》期末考题汇总

年国家开放大学电大《程序设计基础》期末考题汇总.期末考试程序设计基础试题一、单项选择题(每空 2 2 分.共 0 30 分)1 1 .当代计算机的最主要的体系结构称为是 () 。

A A .冯 &middot; 诺依曼机B B .非冯 &middot; 诺依曼机C C .图灵机D D .L PASCAL 机2 2 .现代电子计算机诞生的理论基础是 () 。

A A .图灵机B B .图灵测试c c .冯 &middot; 诺依曼机D D .邱奇论题3 3 .计算机软件是指 () 。

A A .计算机程序B B .源程序和目标程序C C .源程序D D .计算机程序及其有关文挡4 4 .计算机能直接执行的语言是 () ) 。

A A .机器语言B B .汇编语言C C .高级语言D D .目标语言5 5 .A JAVA 语言的类别是 () 。

A A .面向过程的程序设计语言B B .面向问题的程序设计语言C C .面向对象的程序设计语言D D .面向硬件的程序设计语言6 6 .在 C C 语言中,字符串常量的定界符是 ( ) 。

A A 。

空格B B .单引号C C .双引号D D .方括号7 7 .C C 语言中 t int 变量能够表示的数值范围是 () 。

A.- - 32767 &mdash; 32768B.- - 32768 ~ 32767C.0 ~ 655 35D.O - - 655368 8 .C C 语言中的循环控制语句中属于“ 直到型” 循环的语句是 () 。

A.gotoB.whileC C . forD . do- - while9 9 .数据的存储结构分为两种,它们是 () 。

A A .线性存储和数组存储B B .顺序存储和链式存储C C .线性存储和树型存储D D .数组存储和指针存储10 .如果在内存中采用链式保存线性表,则元素之间的逻辑关系通过 () ) 。

《程序设计基础》期末考试卷

《程序设计基础》期末考试卷

《程序设计基础》期末考试卷试卷一一、语言基础(每小题2分,共26分)1.设有变量定义:int a=3, b=4, c=5; 表达式 !(a+b)+c-1 && b+c/2的值是多少?2.写出与代数式(x+2)e x+2对应的C表达式。

3.写出执行下列语句后的输出结果。

int x=5;if(x=3) printf(“%d\n”,x);else printf (“%d\n”,x+2);4.写出“仅当char类型变量ch是大写英文字母时改变ch为对应小写字母”的C表达式。

5.若程序中使用了库函数toupper、strcpy,写出在预处理命令中必须包含的头文件名。

6.写出下列程序段的输出结果:int i,s=0;for(i=1;i<10;i=i+2) s=s+i;printf(“i=%d s=%x\n”,i,s);7.设有宏定义“#define f(a,b,x) a*x+b”,写出下列语句的输出结果: printf(“%d %d\n”,f(1,2,3),f(f(1,2,3),4,2) );8.写出下列程序段的输出结果:int x=010,y=0x10,z=10;printf(“%d,%d,%d\n,x,y,z);9.写出下列程序段的输出结果:int k,j=3;k=j++;printf(“k=%d j=%d\n”,k,j);10.student 是结构体类型标识符,x是student类型变量,写出计算x字节数的表达式。

11.写出下列程序段的输出结果:int f(int x){ static y=1;x+=y; y++;return x;}void main( ){ int k;k=f(3);printf(“%d %d\n”,k,f(k) );}12.自定义函数fact的功能是计算k的阶乘,函数原型可以写作“float fact(int)”。

按照以下各小题的要求写出相应的函数原型。

(1)自定义函数f1的功能是计算平面上任意两点之间的距离。

C程序设计期末考试复习试卷(含答案)

C程序设计期末考试复习试卷(含答案)

期末考试试卷年(班)级 科目 C 语言程序设计一、单项选择题(每题1分,共20分)1、C 语言中,要求运算数必须是整型的运算符是( )A 、%B 、/C 、<D 、! 2、下列属于C 语言中合法标识符的是( )A 、8ZSeB 、NO.1C 、N0_1D 、aa$ 3、已知int j ,i=1;执行语句j=i++;后,变量i 的值是( )A 、1B 、2C 、-1D 、-2 4、执行下列两个语句后,输出的结果为( )char c1=65,c2=97; printf(“%c,%d ”,c1,c2);A 、65,98B 、65,aC 、A,97D 、A,a 5、C 语言源程序的基本单位是( )A 、过程B 、函数C 、子程序D 、标识符6、在C 语言中,if 语句后的一对圆括号中,用以决定分支流程的表达式为( )A 、只能是逻辑表达式B 、只能是关系表达式C 、只能是逻辑表达式或关系表达式D 、可以是任意表达式 7、若int i=10;执行下列程序后,变量i 的最后结果是( ) switch ( i ) { case 0: i+=1;case 10: i+=1; case 11: i+=1; default: i+=1; }A 、10B 、11C 、12D 、13 8、以下错误的描述是( )A 、break 语句不能用于循环语句和switch 语句外的任何其他语句B 、在switch 语句中使用break 语句或continue 语句的作用相同C 、在循环语句中使用continue 语句是为了结束本次循环,而不是终止整个循环D 、在循环语句中使用break 语句是为了使流程跳出循环体,提前结束循环9、有如下程序,该程序的执行结果是( ) main(){ int i,sum=0; for(i=1;i<=3;i++) sum+=i++;printf(“%d\n ”,sum); } A 、4B 、3C 、死循环D 、610、在宏定义#define PI 3.14 中,用宏名PI 代表一个( ) A 、变量B 、字符串C 、双精度数D 、单精度数11、C 语言中函数返回值的类型由( )决定的A 、return 语句中的表达式类型B 、调用该函数的主调函数的类型C 、调用函数时临时决定D 、定义函数时所指定的函数类型12、在C语言程序中,以下说法正确的是()A、函数的定义可以嵌套,但函数的调用不可以嵌套B、函数的定义不可以嵌套,但函数的调用可以嵌套C、函数的定义和函数的调用都不可以嵌套D、函数的定义和函数的调用都可以嵌套13、有如下程序,该程序的输出结果是( )long fib(int n){ if(n>2) return(fib(n-1)+fib(n-2));elseif(n==2) return(2);else return(1); }main(){ printf(“%d\n”,fib(4)); }A、3B、4C、5D、614、若有下面的变量定义,以下语句中合法的是()int i,a[10],*p;A、p=a+2;B、p=a[5];C、p=a[2]+2;D、p=&(i+2);15、数组的指针,其含义是指该数组的()A、值B、首地址C、名称D、一个标志16、若有说明:int a[3][4];则对a数组元素的正确引用是()A、a[2][3]B、a[1,3]C、a[1+2][0]D、a(2)(1)17、执行下列程序后y的值是( )main(){ int a[]={1,2,3,4},y,*p=a;y=*p++;} A、1B、2 C、3 D、418、以下程序的输出结果是( )void fun(int *a,int b){ *a=2; b=5; }main(){ int a=3, b=7;fun(&a,b);printf(“%d,%d\n”, a,b);}A、2,5B、3,7C、3,5D、2,719、语句int *f()的含义是( )A、定义一个指向函数的指针变量B、定义一个指向整型变量的指针变量C、说明函数f的返回值类型是指向整型变量的指针类型D、说明函数f的返回值类型是整型20、关于return语句,下列正确的说法是()A、可以在同一函数中出现多次B、必须在每个函数中出现C、只能在除主函数之外的函数中出现一次D、在主函数中不能出现二、填空题(每空2分,共20分)1、已知a=3,b=2,则表达式a*=b+8的值是( 30)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《程序设计基础》期末复习题2013.12一、单项选择题1. 当代计算机的体系结构称为是______。

()A 冯·诺依曼机B 非冯·诺依曼机C图灵机 D PASCAL机2. 计算机发展的分代史中通常划分时代的标准是以计算机所采用的_____。

()A 逻辑元件B 程序设计语言C 操作系统发展D 硬件运算速度3. 我们将组成计算机系统的所有电子和机械装置称为_____。

()A 硬件B 软件 AC 系统D 机器4. CPU主要包括______。

()A 运算器、控制器和寄存器B 运算器、控制器和存储器C 控制器5. 程序设计要遵循一定的开发方法及思想,以下有一个不是程序设计过程中应该遵循的开发方法,它是______。

()A 结构化设计方法B 模块化程序设计方法C 面向对象的程序设计方法D 数据结构优先原则6. 世界上第一个高级语言是______。

()A BASIC语言B C语言C FORTRAN语言D PASCAL语言7. 下面4句话中,最准确的表述是______。

()A 程序=算法+数据结构B 程序是使用编程语言实现算法C 程序的开发方法决定算法设计D 算法是程序设计中最关键的因素8. 汇编程序的任务是______。

()A 将汇编语言编写的程序转换为目标程序B 将汇编语言编写的程序转换为可执行程序C 将高级语言编写的程序转换为汇编语言程序D 将高级语言编写的程序转换为可执行程序9. 下面4种程序设计语言中,不是面向对象式语言的是______。

()A JAVAB Object PascalC DelphiD C10. C语言中,使用变量的要求是______。

()A 要先定义后使用B 要先使用后定义C 不需要定义,可以直接使用D 没有明确的要求11. 不是C语言的基本数据类型是______。

()A intB doubleC charD bool12. 数据结构主要研究下面3方面的内容______。

()A 数据的逻辑结构、存储结构和运算B 数据的线性结构、树型结构和图结构C 数据的顺序存储、链式存储和散列存储D 数据的线性结构和非线性结构,以及相关运算13. 数据的逻辑结构分为______。

()A 线性结构和非线性结构B 顺序结构和非顺序结构C 树型结构和图型结构D 链式结构和顺序结构14. 线性表表长的含义是______。

()A 线性表所占用的内存字节数量B 线性表占用的内存和外存的字节数量C 线性表中所包含的元素数量D 线性表在内存中元素的数量15. 树的典型特点是各个结点之间是______。

()A 没有直接关系B 一对一关系C 一对多关系D 多对多关系二、填空题1. 第一代电子计算机(1946~1958年)采用的基本逻辑元件是______。

第二代电子计算机(1958~1964年)采用的基本逻辑元件是______。

第三代电子计算机(1964~1974年)采用的基本逻辑元件是______。

第四代电子计算机(1974年以后)采用的基本逻辑元件是______。

2. 计算机按照工作原理进行分类可以分为______和______。

3. 计算机硬件通常由5大功能部件组成,它们是:______,______,______,______和______。

4. 最基本的程序控制有三种,它们是______,______和______。

这三种执行控制的任意组合和重复、嵌套就可以描述任意复杂的程序。

5. 数据的______是指数据元素之间的逻辑关系,与数据的存储无关,它独立于计算机,如用户在电话号码表中的先后次序关系;数据的______是指数据元素在计算机存储设备中的存储方式。

6. 树型结构的主要特征是结点之间存在着一种层次的关系,数据元素之间的关系是______的关系。

在图型结构中,任何两个结点之间都可能存在着联系,数据元素之间存在着______的关系。

7. 评价算法效率的主要指标是______和______。

三、简答分析题1. 简述计算机硬件与软件的关系。

2. 简述计算机程序设计语言的分类和各类的特点。

3. 什么是软件?什么是软件工程?四、程序设计题1. 编写程序。

一辆卡车违犯交通规则,撞人后逃跑。

现场有三人目击事件,但都没有记住车号,只记下车号的一些特征。

甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的,但与前两位不同;丙是位数学家,他说:四位的车号刚好是一个整数的平方。

请根据以上线索求出车号。

2. 编写程序。

中国古代数学家张丘建在他的《算经》中提出了著名的“百钱百鸡问题”:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,翁、母、雏各几何?参考答案:一、选择题1-10 AAAAD CAADA 11-15 DAACC二、填空题1.电子管,晶体管,半导体中小规模集成电路,大规模集成电路2.数字计算机,模拟计算机3.存储器、运算器、控制器、输入设备、输出设备4.顺序执行、分支控制、循环控制5.逻辑结构,存储结构6.一对多,多对多7. 时间复杂度、空间复杂度二、简答题1、简述计算机硬件与软件的关系。

计算机硬件与软件的关系主要体现在以下三个方面:(1)互相依存。

计算机硬件与软件的产生与发展本身就是相辅相成、互相促进的,二者密不可分。

硬件是软件的基础和依托,软件是发挥硬件功能的关键,是计算机的灵魂。

在实际应用中更是缺一不可,硬件与软件,缺少哪一部分,计算机都是无法使用的。

许多硬件所能达到的功能常常需要通过软件配合来实现,如中断保护,既要有硬件实现中断屏蔽保留现场,又要求有软件来完成中断的分析处理。

又如操作系统诸多功能的实现,都需要硬件支持。

(2)无严格界面。

虽然计算机的硬件与软件各有分工,但是在很多情况下软硬件之间的界面是浮动的。

计算机某些功能既可由硬件实现,也可以由软件实现。

随着计算机技术的发展,一些过去只能用软件实现的功能,现在可以用硬件来实现,而且速度和可靠性都大为提高。

(3)相互促进。

无论从实际应用还是从计算机技术的发展看,计算机的硬件与软件之间都是相互依赖、相互影响、相互促进的。

硬件技术的发展会对软件提出新的要求,促进软件的发展;反之,软件的发展又对硬件提出新的课题。

2.简述计算机程序设计语言的分类和各类的特点。

一般分为三类:机器语言(也称机器指令集),汇编语言和高级语言。

机器语言是每台计算机出厂时,厂家都为它配备一套机器语言,不同的计算机,其机器语言通常是不同的。

由于机器语言是面向具体机器的,所以其程序缺乏通用性,编写程序的过程繁琐复杂,易出错,错了又不易查找和修改,编出的程序可读性极差。

汇编语言是机器语言的符号化形式。

用汇编语言编写的程序(又称源程序)经汇编器加工处理后,就转换成可由计算机直接执行的目标程序。

汇编语言提高了程序设计效率和计算机利用率。

汇编语言仍属面向机器的一种低级语言,其程序的通用性和可读性较差。

高级程序设计语言是指通用性好,不必对计算机的指令系统有深入的了解就可以编写程序。

采用高级语言编写的程序在不同型号的计算机上只需做某些微小的改动便可运行,只要采用这些计算机上的编译程序重新编译即可。

高级语言具有通用性,与具体的机器无关。

(8)整理资料,交付使用。

3. 什么是软件?什么是软件工程?计算机系统中的程序及其文档称为软件。

其中,程序是计算机任务的处理对象和处理规则的描述;文档是为了理解程序所需的阐述性资料。

细言之,软件一词具有三层含义。

一为个体含义,即指计算机系统中的程序及其文档;二为整体含义,即指在特定计算机系统中所有上述个体含义下的软件的总称,亦即计算机系统中硬件除外的所有成分;三为学科含义,即指在研究、开发、维护以及使用前述含义下的软件所涉及的理论、方法、技术所构成的学科。

软件工程是应用计算机科学、数学及管理科学等原理,开发软件的工程。

它借鉴了传统工程的原则、方法,以提高软件质量,降低开发成本为目的。

其中,计算机科学、数学用于构造模型和算法,工程科学用于制订规范、设计范型、评估成本等,管理科学用于计划、资源、质量、成本等管理。

软件工程是一门交叉性学科,迄今为止,软件工程的研究与应用已取得很大成就,大大缓解了软件危机,但是软件的开发还是一项艰巨的任务,对于软件的如何组织和开发还在不断地发展之中。

三、程序设计题(共2题,每题10分,共20分)(每行代码1分)1. #include ”stdio.h"main( ){int i, j, k, m;for (i=1; i<=9; i++) /* i:车号前二位的取值*/for (j=0; j<=9; j++) /* j:车号后二位的取值*/if ( i!=j ) { /* 判断两位数字是否相异*/k = i*1100+j*11;for ( m=31; m*m<k; m++) ;/* 判断是否为整数的平方*/if ( m*m==k )printf("Lorry_No. is %d.\n", k);}}2. #include <stdio.h>main( ){ int x, y, z, j=0;for (x=0; x<=20; x++)for (y=0; y<=33; y++)for (z=0; z<=100; z++)if ( z%3==0 && x+y+z==100 &&5*x+3*y+z/3==100 )printf("%2d:cock=%2d hen=%2d chicken=%2d\n", ++j, x, y, z ) ;}。

相关文档
最新文档