程序设计基础1
- 格式:wps
- 大小:372.87 KB
- 文档页数:20
程序设计基础(一)实验实验一上机操作初步(2学时)一、实验方式:一人一机二、实验目的:1、熟悉VC++语言的上机环境及上机操作过程。
2、了解如何编辑、编译、连接和运行一个C程序。
3、初步了解C程序的特点。
三、实验内容:说明:前三题为必做题目,后两题为选做题目。
1、输出入下信息:*************************Very Good*************************2、计算两个整数的和与积。
3、从键盘输入一个角度的弧度值x,计算该角度的余弦值,将计算结果输出到屏幕。
4、在屏幕上显示一个文字菜单模样的图案:=================================1 输入数据2 修改数据3 查询数据4 打印数据=================================5、从键盘上输入两个整数,交换这两个整数。
四、实验步骤与过程:五、实验调试记录:实验二简单的C程序设计(4学时)一、实验方式:一人一机二、实验目的:1、掌握C语言的数据类型。
2、学会使用C语言的运算符及表达式。
3、掌握不同数据类型的输入输出方法。
三、实验内容:说明:前四题为必做题目,后两题为选做题目。
1、输入r1、r2,求出圆形垫片面积。
2、输入华氏温度h,输出摄氏温度c。
3、从键盘输入一个3位整数,将输出该数的逆序数。
4、输入并运行以下程序,分析运行结果。
#include <stdio.h>void main( ){ int i,j;i=8; j=10;printf(“%d,%d\n”,++i,++j);i=8; j=10;printf(“%d,%d\n”,i++,j++);i=8; j=10;printf(“%d,%d\n”,++i,i);i=8; j=10;printf(“%d,%d\n”,i++,i);}5、输入三角形三条边的边长,求三角形的面积。
6、输入3个字符型数据,将其转换成相应的整数后,求它们的平均值并输出。
《计算机程序设计基础》计算机程序设计基础_基础知识(一) 班级学号 姓名 成绩一、 单选题习题册1.C++源程序文件的默认扩展名为A。
2.A) cpp B) exeC) obj D) lik3.由C++源程序文件编译而成的目标文件的默认扩展名为C。
4.A) cpp B) exeC) obj D) lik5.由C++目标文件连接而成的可执行文件的默认扩展名为B。
6.A) cpp B) exeC) obj D) lik7.编写C++程序一般需经过的几个步骤依次是B。
8.A)编译、编辑、连接、调试B)编辑、编译、连接、调试C)编译、调试、编辑、连接D)编辑、调试、编辑、连接9.程序中主函数的名字为A 。
10.A) main B) MAINC) Main D) 任意标识符11.下面四个选项中,均是不合法的用户标识符的选项的是C。
12.A) A p_o doB)float lao _AC)b-a goto intD)_123 temp INT13.下列变量名中合法的是C。
14.A) B)C)Tom B) 3a66C) _6a7b D) $ABC15.存储以下数据,占用存储字节最多的是 D 。
16.A) 0 B) ‘0’C) “0” D) 0.017.在C++语言中,字符型数据在内存中的存储形式是D。
18.A) 补码 B) 反码C) 原码 D) ASCII码19.若有说明语句:char c =’\072’;则变量c A。
20.A) 包含1个字符B) 包含2个字符C) 包含3个字符D) 说明不合法,变量的值不确定二、填空题1.C++头文件和源程序文件的扩展名分别为.h和.cpp 。
2.C++语言规定,标识符只能由字母、数字、下划线三种字符组成,而且第一个字符必须是字母或下划线。
3.一条表达式语句必须以__分号_;___作为结束符。
4.用于从键盘上为变量输入值的标准输入流对象是___cin____;用于输出表达式值的标准输出流对象是__cout____。
《程序设计基础》作业一答案一、单项选择题1、计算机发展的分代史中通常划分时代的标准是以计算机所采用的___ ___。
AA 逻辑元件B 程序设计语言C 操作系统发展D 硬件运算速度2、当前广泛使用的微型计算机是______。
DA 第一代B 第二代C 第三代D 第四代3、我们将组成计算机系统的所有电子和机械装置称为______。
AA 硬件B 软件C 系统D 机器4、当代计算机的体系结构称为是______。
AA 冯·诺依曼机B 非冯·诺依曼机C图灵机 D PASCAL机5、CPU主要包括______。
AA 运算器、控制器和寄存器B 运算器、控制器和存储器C 控制器D 运算器和存储器6、硬盘是______。
CA 输入设备B 输出设备C 存储设备D 计算设备7、系统软件的核心软件是______。
AA 操作系统B 编译程序C 汇编程序D 机器语言8、下面4句话中,最准确的表述是______。
AA 程序=算法+数据结构B 程序是使用编程语言实现算法C 程序的开发方法决定算法设计D 算法是程序设计中最关键的因素9、计算机能直接执行的语言是______。
AA 机器语言B 汇编语言C 高级语言D 目标语言10、汇编程序的任务是______。
AA 将汇编语言编写的程序转换为目标程序B 将汇编语言编写的程序转换为可执行程序C 将高级语言编写的程序转换为汇编语言程序D 将高级语言编写的程序转换为可执行程序11、世界上第一个高级语言是______。
CA BASIC语言B C语言C FORTRAN语言D PASCAL语言12、下面4种程序设计语言中,不是面向过程式语言的是______。
DA FORTRANB ALGOLC AdaD C++13、下面4种程序设计语言中,不是面向对象式语言的是______。
DA JAVAB Object PascalC DelphiD C14、保存在计算机内存中的信息为______。
1.1 程序与程序语言1.2.1 程序与程序语言1.计算机语言什么是计算机语言?为什么要使用计算机语言?过去,一提到语言这个词,人们自然想到的是像英语、汉语等这样的自然语言,因为它是人和人相互交流信息不可缺少的工具。
而今天,计算机遍布了我们生活的每一个角落,除了人和人之间的相互交流之外,我们必须和计算机交流。
用什么样的方式和计算机做最直接的交流呢?人们自然想到的是最古老也最方便的方式--语言。
人和人交流用的是双方都能听懂和读懂的自然语言,同样,人和计算机交流也要用人和计算机都容易接受和理解的语言,这就是计算机语言。
人们用自然语言讲述和书写,目的是给另外的人传播信息。
同样,我们使用计算机语言把我们的意图表达给计算机,目的是使用计算机。
计算机语言是根据计算机的特点而编制的,它没有自然语言那么丰富多样,而只是有限规则的集合,所以它简单易学。
但是,也正因为它是根据机器的特点编制的,所以交流中无法意会和言传,而更多地表现了说一不二,表现了"规则"的严谨。
例如该是";"的地方不能写成".",该写"a"的地方不能写成"A",这使得人和计算机的交流在一开始会有些不习惯。
不过,只要认识到计算机语言的特点,注意学习方法,把必须的严谨和恰当的灵活相结合,一切都会得心应手。
2.程序我们知道,计算机是一种具有内部存储能力的自动、高效的电子设备,它最本质的使命就是执行指令所规定的操作。
如果我们需要计算机完成什么工作,只要将其步骤用诸条指令的形式描述出来,并把这些指令存放在计算机的内部存储器中,需要结果时就向计算机发出一个简单的命令,计算机就会自动逐条顺序执行操作,全部指令执行完就得到了预期的结果。
这种可以被连续执行的一条条指令的集合称为计算机的程序。
也就是说,程序是计算机指令的序列,编制程序的工作就是为计算机安排指令序列。
但是,我们知道,指令是二进制编码,用它编制程序既难记忆,又难掌握,所以,计算机工作者就研制出了各种计算机能够懂得、人们又方便使用的计算机语言,程序就是用计算机语言来编写的。
第一章:程序设计基础知识一、单项选择题1、以下( )是面向过程的程序设计语言。
A)机器语言 B)汇编语言 C)高级语言 D)第四代语言2、程序设计一般包含以下四个步骤,其中其中首先应该完成的是( )。
A)设计数据结构和算法B)建立数学模型C)编写程序 D)调试和运行程序3、以下常用算法中适合计算等差级数的算法是( )。
A)枚举法B)递推法 C)分治法 D)排序法4、以下不属于算法基本特征的是( )。
A)有穷性 B)有效性C)可靠性 D)有一个或多各输出5、以下描述中不正确的是( )。
A)程序就是软件,但软件不紧紧是程序。
B)程序是指令的集合,计算机语言是编写程序的工具。
C)计算机语言都是形式化的语言,它有一个语法规则和定义。
D)计算机语言只能编写程序而不能表示算法。
6、下面描述中,正确的是( )A)结构化程序设计方法是面向过程程序设计的主流。
B)算法就是计算方法。
C)一个正确的程序就是指程序书写正确。
D)计算机语言就是编写程序的工具而不是表示算法的工具。
7、下面描述中,不正确的是( )。
A)递归法的关键是必须有一个递归终止的条件。
B)递归算法要求语言具有反复自我调用子程序的能力。
C)对于同一个问题,递推算法比递归算法的执行时间要长。
D)递推算法总可以转换为一个递归算法。
8、N-S图与传统流程图比较,主要优点是( )。
A)杜绝了程序的无条件转移。
B)具有顺序、选择和循环三种基本结构。
C)简单、只管。
D)有利于编写程序。
A)B)C)D)二、填空题1、在流程图符号中,判断框中应该填写的的是________。
(判断条件)2、结构化程序设计是__________应遵循的方法和原则。
(面向过程编程)3、结构化程序必须用__________程序设计语言来编写。
(具有结构化控制语句)4、可以被连续执行的一条条指令的集合称为计算机的________。
(程序)5、只描述程序应该“做什么”,而不必描述“怎样做”的语言被称为________。
2022秋国家开放大学《程序设计基础》形考1-4答案形考1一、填空题(每空2分,合计80分,如果以附件形式提交,请在答题输入框中输入提示文字”见附件“)1.计算机的五大主要应用领域是科学计算、数据处理、过程控制、计算机辅助教学和人2.总线是连接CPU、存储器和外部设备的公共信息通道。
通常由三部分组成:数据总3.计算机是一类智能机器,这是因为它除了完成算术运算外,还能完成某些逻辑运算。
4.世界上第一台计算机取名为ENIAC。
5.目前制造计算机所采用的电子器件是大规模集成电路。
6.CPU是Central Processing Unit的英文缩写,它主要由运算器、控制器和寄存器3个部分组成。
7.完整的计算机系统是由硬件系统和软件系统两大部分组成的。
8.计算机的硬件系统一般可分为存储器、中央处理器、输入设备和输出设备等几个部分。
9.计算机的存储器分为内存和外存两级。
10.随机存储器和只读存储器的英文缩写分别为RAM和ROM。
11.系统软件是为有效利用计算机的资源、充分发挥计算机的工作潜力、保证正常运行、尽可能方便用户使用计算机而编制的软件。
12.程序是为实现一定功能,用计算机程序设计语言所编制的语句的有序集合。
文档是描述程序设计的过程及程序的使用方法的有关资料。
13.图灵机是计算机的概念模型,奠定了现代计算机的理论基础;冯诺依曼机是计算机的结构模型,奠定了现代计算机的设计基础。
14.高级语言源程序的翻译成机器语言程序一般有两种做法:编译方式和解释方式。
15.按照使用方式,程序设计语言分为交互式语言和非交互式语言;按照应用范围则16.编译程序的核心部分,叫语法分析器,其任务就是检查源程序在语法上是否正确。
二、选择题(每题2分,合计20分)2.当代计算机的最主要的体系结构称为是A。
单选题(2 分) 2分A.冯·诺依曼机B.非冯·诺依曼机C.图灵机D.PASCAL机3.计算机软件是指D。
单选题(2 分) 2分A.计算机程序B.源程序和目标程序C.源程序D.计算机程序及其有关文挡4.计算机能直接执行的语言是A。
封面:2015-2016学年第一学期,年级是2015级,指导教师:网络工程专业1班写:赵玉艳陈海宝;网络工程2班写:赵玉艳肖刚,其它如实填写。
实验名称:实验一用C语言编写简单程序;实验二分支结构程序设计;实验三循环结构程序设计;实验四函数程序设计;实验五数组程序设计;实验六指针程序设计;实验七结构体程序设计。
课程名称:程序设计基础(Ⅰ)实验时间:分别为9.28, 10.12, 11.9, 11.23, 12.7, 12.21, 1.4实验地点:X405组号,同组人以及成绩:不需要填写实验环境:Windows 7;Visual C++ 6.0。
实验目的实验一用C语言编写简单程序1. 熟悉VC6.0的编程环境,掌握运行C程序的基本步骤。
2. 了解C程序的基本框架,模仿例题编写简单的C语言程序。
3. 正确书写算术表达式、赋值表达式和关系表达式。
4. 掌握基本输入输出函数的使用,正确调用C语言提供的数学库函数。
5. 掌握简单的单步调试方法。
实验二分支结构程序设计1.熟练掌握关系表达式的使用。
2.熟练掌握使用else-if语句实现多分支结构程序设计。
3.熟练掌握关系表达式和逻辑表达式的使用。
4.熟练掌握字符型数据的输入输出。
5.熟练掌握用嵌套的if语句或switch语句实现多分支结构程序设计。
6.熟练掌握switch语句中的break语句的作用。
7.掌握使用断点调试程序的方法。
实验三循环结构程序设计1. 熟练使用for、while和do-while语句实现简单的循环程序。
2. 理解循环条件和循环体,以及for、while和do-while语句的相同及不同之处。
3. 掌握使用Debug菜单调试程序的方法。
4. 掌握break语句的使用。
5. 掌握continue语句的使用。
6. 熟练掌握嵌套循环程序设计。
实验四函数程序设计1. 熟练掌握函数的定义和调用。
2. 熟练掌握使用函数编写程序。
3.熟练掌握函数的实参、形参和返回值的概念及使用。
大学机械工程学院C语言课程设计论文学院:机械工程学院专业:机械设计制造及其自动化题目:图书管理系统班级:姓名:学号:指导教师:2010年1月18日图书管理系统摘要随着科技技术的进步,人们生活水平的提高,公共图书馆不仅出现在学校、党政机关及企事业单位,也逐渐在人们朝夕相处的社区中发展起来,即社(小)区图书馆。
相对大型公立图书馆来说,社区图书馆规模不大、借阅人数相对较少,但其分布较广,方便灵活,现已成星火燎原之势。
在信息化社会中,社(小)区图书馆管理工作的得力助手就是以计算机为基础的图书管理系统。
图书管理系统是将传统的图书手工操作转化为计算机管理,即图书馆的图书、期刊、音像等各种资料的采编、典藏、借阅、检索及其他日常工作,利用计算机管理系统进行高效、准确的信息化管理,从而减少了图书管理员的劳动强度,提高了图书借阅的效率和图书资源的利用率。
目前,许多软件上已经开发出很多较好的商品化图书管理软件,这些图书管理软件大多数十面向大型图书馆而开发的,其专业性强、分工较细、操作复杂,难以满足社区图书馆管理工作的需要。
一般情况下,社区图书馆由社区所在的物业公司创造利润和方便社区居民的双重目的。
因此,基于社区图书馆的图书租借管理系统在功能上不应太发杂,应以简单实用为主。
本程序就是一款基于这样的目的设计的图书管理系统。
关键词:简单,实用,服务。
目录中文摘要 (Ⅰ)1 题目要求 (1)1.1要求. (1)2 需求分析 (1)3 总体设计 (1)4详细设计 (1)4.1数据结构 (2)4.2主要资源 (6)4.3主要函数列表 (8)5.运行结果 (10)6.总结 (10)附录A 部分源码介绍 (11)参考文献 (27)1 题目要求1.1 要求1.每个用户注册需要在管理员处注册一读者信息即一张图书证,并填写正确身份证号来验证身份。
2.本系统的全部数据都应存放在文件中。
3.系统应实现的操作及其功能定义如下:a)用户登录:读取数据文件来验证用户名密码。
b)用户注册:把新的用户各种信息写入数据文件。
c)模糊查找:方便读者查找想要图书信息,输入部分图书名字进行模糊搜索。
d)修改密码:修改当前用户的登录密码。
e)续借图书:对所借图书进行续借,改变各种参数,然后写入数据文件。
f)我的信息:查看当前登录用户的各种信息。
4.本系统的功能实现需要服务器和客户端的配合。
2 需求分析本程序将用到文件系统:userdata.lms、OnlinUser.lms、Bookbase.lms、Userbase.lms、Ctrlbase.lms文件内容作为数据源,其中数据使用二进制方式存储。
程序只有在需要的时候才将所需要的数据读入内存,使用完毕后,马上存储,并清空所占用的内存,所以应提供文件输入输出的操作;在程序中要进行统计工作,所以要提供显示、查找等操作;另外应提供可视化的选择菜单及菜单栏实现功能选择。
3总体设计根据上面的分析,可以将这个系统分为如下两大模块:登录选择、用户功能。
其中主要模块是前三个模块。
主框架MainFram主菜单MENU用户登录用户注册图书查询图书续借更改密码用户信息登录选择用户功能4 详细设计4.1数据结构本程序数据分为四个类:Book、Reader、User、Online。
服务器端只使用Book类和Reader 类,客户端使用User类和Online类。
4.1.1 Book类class CBook{public:long m_Barcode;//条形码,位纯数字char m_Callnumber[15];//索书号#4-8char m_Title[60];//书名char m_ISBN[25];//ISBN编号char m_Author[40];//作者char m_Press[20];//出版社char m_Library[20];//藏书地BOOL m_renew;//续借int m_Status;//状态:、可借、已借、可阅、打捆CTime m_LoanDate;//借阅时间CTime m_ReturnDate;//应还时间long m_LibID;//借阅者public:CBook(void);~CBook(void);//显示所有图书信息void Display(CDC *pDC,int rows);static int GetRecordNumber(void);//删除所以数据static CBook* Del(CBook *pt);static void Display_Title(CDC *pDC,int rows,CBook *p);// 载入所有数据static CBook* Load(void);// 重写数据static CBook* ReWrite(CBook* pt);};4.1.1Reader类class CReader{public:long m_LibID;//图书证号char m_Name[20];//姓名int m_Gender;//性别:、男2、女CTime m_Birthday;//生日char m_Identification[19];//身份证号char m_Unit[40];//单位char m_Email[40];//E-mailchar m_PhoneNumber[30];//电话号码int m_Loan;//已借书数目int m_MaxLoanable;//最大可借数目int m_MaxLoanDay;//最长可借天数float m_Arrearage;//欠款public:CReader(void);~CReader(void);//打印读者信息static void Display(CDC *pDC,int rows,CReader *p);// 获取记录数static int GetRecordNumber(void);// 载入所有读者信息static CReader* Load(void);// 重写数据static CReader* ReWrite(CReader* pt);// 删除所有读者信息static CReader* Destory(CReader* pt);};class CUser{public:char m_UserId[20]; //用户账号char m_UserCode[21];// 用户密码long m_LibId; // 图书证号char m_Identification[19]; //核对用身份证号public:CUser(void);~CUser(void);// 添加新用户static void AddUser(CString UserId , CString UserCode ,long LibId,CString Identification);// 模糊查找static CBook* BookSearch(CString BookName);//保存函数void Fsave(void);//删除临时存储节点static void Del(CUser *p);// 根据用户名搜索读者static CReader* SearchReader(char* UserId);// 模糊查询static bool Fuzzy(char* BookName , char* m_Bookname);// 获取记录数static int GetRecordNumber(void);// 把所有读者读到一指针里static CUser* Load(void);// 重新把数据写进文件static CUser* Reload(CUser* p);};class COnline{private:char m_UserId[20];public:COnline(void);~COnline(void);// 保存到文件void Fsave(void);// 删除临时节点void Del(COnline * p);// 把当前用户写进文件void Fwrite_OnlineUser(CString UserId);// 检查当前是否有用户在线static bool Ispect(void);// 显示当前在线用户static char* Display_OnlineUser(void);// 用户退出时清空在线用户static void ClearUser(void);// 打印当前在线用户所有信息static void Display(void); };4.2主要资源菜单栏:1.服务器组:2.客户组:工具栏:1.服务器组:2.客户组:登录选择窗口:用户登录窗口:注册验证窗口:用户注册窗口:修改密码窗口:续借窗口:图书模糊查找窗口:4.3主要函数列表class CBook{public:long m_Barcode;//条形码,位纯数字char m_Callnumber[15];//索书号#4-8char m_Title[60];//书名char m_ISBN[25];//ISBN编号char m_Author[40];//作者char m_Press[20];//出版社char m_Library[20];//藏书地BOOL m_renew;//续借int m_Status;//状态:、可借、已借、可阅、打捆CTime m_LoanDate;//借阅时间CTime m_ReturnDate;//应还时间long m_LibID;//借阅者public:CBook(void);~CBook(void);//显示所有图书信息void Display(CDC *pDC,int rows);static int GetRecordNumber(void);//删除所以数据static CBook* Del(CBook *pt);static void Display_Title(CDC *pDC,int rows,CBook *p);// 载入所有数据static CBook* Load(void);// 重写数据static CBook* ReWrite(CBook* pt);};class CReader{public:long m_LibID;//图书证号char m_Name[20];//姓名int m_Gender;//性别:、男2、女CTime m_Birthday;//生日char m_Identification[19];//身份证号char m_Unit[40];//单位char m_Email[40];//E-mailchar m_PhoneNumber[30];//电话号码int m_Loan;//已借书数目int m_MaxLoanable;//最大可借数目int m_MaxLoanDay;//最长可借天数float m_Arrearage;//欠款public:CReader(void);~CReader(void);//打印读者信息static void Display(CDC *pDC,int rows,CReader *p);// 获取记录数static int GetRecordNumber(void);// 载入所有读者信息static CReader* Load(void);// 重写数据static CReader* ReWrite(CReader* pt);// 删除所有读者信息static CReader* Destory(CReader* pt);};class COnline{private:char m_UserId[20];public:COnline(void);~COnline(void);// 保存到文件void Fsave(void);// 删除临时节点void Del(COnline * p);// 把当前用户写进文件void Fwrite_OnlineUser(CString UserId);// 检查当前是否有用户在线static bool Ispect(void);// 显示当前在线用户static char* Display_OnlineUser(void);// 用户退出时清空在线用户static void ClearUser(void);// 打印当前在线用户所有信息static void Display(void); };5运行结果图书信息界面6 总结通过这次C程序设计,我了解了并掌握了MFC中一些基础的窗口化程序设计方法,能够深入的理解结构化程序设计思想,熟练运用结构化程序设计方法,巩固了运用C语言进行程序设计的能力。