C语言程序,程序访问违例(段异常)

C语言程序,程序访问违例(段异常),第1张

#include<stdioh>

int main(){

double r,d,c,s;

char ch;

scanf("%f",&r);

d=20r;

c=31415926d;

s=31415926rr;

printf("%32f %32f %32\n",d,c,s);

scanf("%c",&ch);//是想输入任意字符结束吧,记得有个getch()还是什么忘记了,自己找找

return 0;

}

很简单哦:

main()

{

int i=0,j,b=10;

for(j=2,j<b/2,j++)

{ for(i,i<5,i++)

{ if(b/j==0)

b++;

else

printf(“d%”,b);

}

printf("\n")

}

这个参考程序。由于我电脑上没装tc软件,不能帮你仿真啦,自己检查下是否有错误,不明白的地方可以问我哦。

第一章数据库基础知识

本章以概念为主,主要是了解数据库的基本概念,数据库技术的发展,数据模型,重点是关系型数据。

第一节:信息,数据与数据处理

一、信息与数据:

1、信息:是现实世界事物的存在方式或运动状态的反映。或认为,信息是一种已经被加工为特定形式的数据。

信息的主要特征是:信息的传递需要物质载体,信息的获取和传递要消费能量;信息可以感知;信息可以存储、压缩、加工、传递、共享、扩散、再生和增值

2、数据:数据是信息的载体和具体表现形式,信息不随着数据形式的变化而变化。数据有文字、数字、图形、声音等表现形式。

3、数据与信息的关系:一般情况下将数据与信息作为一个概念而不加区分。

二、数据处理与数据管理技术:

1、数据处理:数据处理是对各种形式的数据进行收集、存储、加工和传输等活动的总称。

2、数据管理:数据收集、分类、组织、编码、存储、检索、传输和维护等环节是数据处理的基本 *** 作,称为数据管理。数据管理是数据处理的核心问题。

3、数据库技术所研究的问题不是如何科学的进行数据管理。

4、数据管理技术的三个阶段:人工管理,文件管理和数据库系统。

第二节:数据库技术的发展

一、数据库的发展:数据库的发展经历了三个阶段:

1、层次型和网状型:

代表产品是1969年IBM公司研制的层次模型数据库管理系统IMS。

2、关系型数据型库:

目前大部分数据库采用的是关系型数据库。1970年IBM公司的研究员E.F.Codd提出了关系模型。其代表产品为sysemR和Inges。

3、第三代数据库将为更加丰富的数据模型和更强大的数据管理功能为特征,以提供传统数据库系统难以支持的新应用。它必须支持面向对象,具有开放性,能够在多个平台上使用。

二、数据库技术的发展趋势:

1、面向对象的方法和技术对数据库发展的影响:

数据库研究人员借鉴和吸收了面向对旬的方法和技术,提出了面向对象数据模型。

2、数据库技术与多学科技术的有机组合:

3、面向专门应用领域的数据库技术

三、数据库系统的组成:

数据库系统(DBS)是一个采用数据库技术,具有管理数据库功能,由硬件、软件、数据库及各类人员组成的计算机系统。

1、数据库(DB):

数据库是以一定的组织方式存放于计算机外存储器中相互关联的数据集合,它是数据库系统的核心和管理对象,其数据是集成的、共享的以及冗余最小的。

2、数据库管理系统(DBMS):

数据库管理系统是维护和管理数据库的软件,是数据库与用户之间的界面。作为数据库的核心软件,提供建立、 *** 作、维护数据库的命令和方法。

3、应用程序:

对数据库中数据进行各种处理的程序,由用户编写。

4、计算机软件:

5、计算机硬件:

包括CPU、内存、磁盘等。要求有足够大的内存来存放 *** 作系统、数据库管理系统的核心模块以及数据库缓冲;足够大的磁盘能够直接存取和备份数据;比较主的通道能力;支持联网,实现数据共享。

6、各类人员。

四、数据库系统的特点:

1、数据共享:

2、面向全组织的数据结构化:

数据不再从属于一个特定应用,而是按照某种模型组织成为一个结构化的整。它描述数据要身的特性,也描述数据与数据之间的种种联系。

3、数据独立性:

4、可控数据冗余度:

5、统一数据控制功能:

数据安全性控制:指采取一定的安全保密措施确保数据库中的数据不被非法用户存取而造成数据的泄密和破坏;

数据完整性控制:是指数据的正确性、有效性与相容性。

并发控制:多个用户对数据进行存取时,采取必要的措施进行数据保护;

数据恢复:系统能进行应急处理,把数据恢复到正确状态。

第三节:数据模型

一、数据组织:

关系型数据库中的数据层次如下:

1、数据项(field):又称字段,用于描述实体的一个属性,是数据库的基本单位。一般用属性名作项名;

2、记录(Record):又称为结点,由若干个数据项组成,用于描述一个对象;

3、文件(File):由若干个记录组成;

4、数据库(DataBase):由逻辑相关的文件组成。

二、数据模型:

数据的组织形式称为数据模型,它决定数据(主要是结点)之间联系的表达方式。主要包括层次型、网状型、关系型和面向对象型四种。层次型和网状型是早期的数据模型,又称为格式化数据系统数模型。

以上四种模型决定了四种类型的数据库:层次数据库系统,网状数据库系统,关系型数据库系统以及面向对象数据库系统。

目前微机上使用的主要是关系型数据库。

1、层次型:是以记录为结点的有向树;图如教材P7图1--2

2、网状型:树的集合,它的表示能力以及精巧怀强于层次型,但独立性下降。

3、关系型:

在关系型中,数据被组织成若干张二维表,每张表称为一个关系。

一张表格中的一列称为一个“属性”,相当于记录中的一个数据项(或称为字段),属性的取值范围称为域。

表格中的一行称为一个“元组”,相当于记录值。

可用一个或若干个属性集合的值标识这些元组,称为“关键字”。

每一行对应的属性值叫做一个分量。

表格的框架相当于记录型,一个表格数据相当于一个同质文件。所有关系由关系的框架和若干元组构成,或者说关系是一张二维表。

关系型的特点:描述的一致性;可直接表示多对多关系;关系必须是规范化的;关系模型建立在数学概念基础上。

4、面向对象型:主要采用对象和灯的概念。

第四节:关系型数据库

一、关系型数据库的发展:

1、数据库产品种类繁多:像dBASE,FoxBASE,Clipper,Paradox,Acess等。

2、采用SQL语言:SQL(StructuredQueryLanguage)“结构化查询语言”,是通用的关系型数据库 *** 作语言,可以查询、定义、 *** 纵和控制数据库。它是一种非过程化语言。

3、支持面向对象的程序设计:

4、提供良好的图形界面和窗口;

5、支持开放的客户机/服务器和分布式处理;

6、提供新一代的数据库管理系统开发工具:支持GUI(图形界面)、ODBC(开放数据库连接)、OLE(对象的链接与嵌入)、DLL(动态链接)等。

二、关系型数据库管理系统(RDBMS)及其产品:

主要著名的关系型数据库产品有Oracle、Sybase、Informix、DB2、Inges、Paradox、Access、SQLServer等。数据库应用系统开发工具是PowerBuilder和Delphi。

共同点说不上

区别可有很多

C语言与C++的区别有:

1,全新的程序程序思维,C语言是面向过程的,而C++是面向对象的。

2,C语言有标准的函数库,它们松散的,只是把功能相同的函数放在一个头文件中;而C++对于大多数的函数都是有集成的很紧密,特别是C语言中没有的C++中的API是对Window系统的大多数API有机的组合,是一个集体。但你也可能单独调用API。

3,特别是C++中的图形处理,它和语言的图形有很大的区别。C语言中的图形处理函数基本上是不能用在中C++中的。C语言标准中不包括图形处理。

4,C和C++中都有结构的概念,但是在C语言中结构只有成员变量,而没成员方法,而在C++中结构中,它可以有自己的成员变量和成员函数。但是在C语言中结构的成员是公共的,什么想访问它的都可以访问;而在VC++中它没有加限定符的为私有的。

4,C语言可以写很多方面的程序,但是C++可以写得更多更好,C++可以写基于DOSr程序,写DLL,写控件,写系统。

5,C语言对程序的文件的组织是松散的,几乎是全要程序处理;而c++对文件的组织是以工程,各文件分类明确。

6,C++中的IDE很智能,和VB一样,有的功能可能比VB还强。

7,C++对可以自动生成你想要的程序结构使你可以省了很多时间。有很多可用的工具如加入MFC中的类的时候,加入变量的时候等等。

8,C++中的附加工具也有很多,可以进行系统的分析,可以查看API;可以查看控件。

9,调试功能强大,并且方法多样。

#include <iostream>

#include <string>

using namespace std;

class Book //设置图书馆藏书类,用以封存图书信息

{

public:

Book (string n, int N, string p) //图书类构造函数

{

name = n; //设置图书书名

NO = N; //设置图书库存量

publisher = p; //设置图书出版社

}

void display() //display函数,以显示图书信息

{

cout << "书名:" << name << endl;

cout << "目前库存:" << NO << endl;

cout << "图书出版社:" << publisher << endl;

cout << endl;

}

//为方便调用,以下数据全部定义为公用

string name; //图书书名

int NO; //图书库存量

string publisher; //图书出版社

};

//创建图书馆藏书小数据库,图书序号等于该对象数组的下标

Book book[6] =

{

Book ("C++ primer", 3, "人民邮电出版社") ,

Book ("Python核心编程", 3, "人民邮电出版社") ,

Book ("Writing clean code", 3, "电子工业出版社") ,

Book ("简体中文Solaris 10用户指南", 3, "Sun Microsystems, Inc") ,

Book ("《The C Programming Language》第二版", 3, "机械工业出版社") ,

Book ("计算机程序设计艺术第三版第一卷:基本算法", 3, "国防工业出版社")

};

void display_all() //显示图书馆所有图书,方便读者借阅

{

int i;

cout << "这是图书馆的所有图书" << endl;

for (i = 0; i<6; i++)

{

cout << "图书序号:" << i << endl;

cout << "书名:" << book[i]name << endl;

cout << "目前库存:" << book[i]NO << endl;

cout << "图书出版社:" << book[i]publisher << endl;

cout << endl;

}

}

class people

{

public:

people(string nam, int num) //student构造函数

{

name = nam;

number = num;

}

void borrow(int); //定义借书成员函数

void back(int); //定义还书成员函数

private:

string name; //性名

int number; //在图书馆已借图书数量

};

// student类,用以定义学生信息

class student : public people

{

public:

student(string nam, int num, int gra) : people (nam, num) //student构造函数

{

grade = gra;

}

private:

int grade; //学生年级

};

//teacher类,teacher是student的派生类

class teacher : public people

{

public:

teacher(string nam, int num, string t) : people(nam , num) //派生类构造函数

{

title = t; //教师职称

}

private:

string title; //教师职称

};

void people :: borrow (int a) //借书成员函数

{

int i, j; //定义两个整型变量,以便需要shirt使用

char k; //定义字符型变量以便进行Y/N的判断

void service() ; //声明service函数

if (number >= a) //首先进行权限判断,如果读者已借书数量不小于他的权限,则提示进行其他 *** 作

{

cout << "根据您的权限,你最多能借" << a << "本书!您现在不能借书欢迎下次再来" << endl;

cout << "您是否想进行其他 *** 作? (是请输入y, 退出请输入n) " << endl;

cin >> k;

if (k == 121)

service ();

if (k == 121)

return;

else if (k = 110)

return;

cout << endl;

}

else

{

display_all() ; //调用display_all函数,输出所有图书显示,方便读者借阅

cout << "您想借哪本书 请输入图书序号0-5" << endl;

cin >> i;

while (book[i]NO == 0 || i>5 || i<0) //判断所要借图书的库存及输入的合法性

{

cout << "您输入的图书序号错误或者所借书库存不足,请重新输入图书序号是0-5" << endl;

cin >> i;

//提示读者是否进行其他 *** 作

cout << "您是否想进行其他 *** 作? (是请输入y, 继续借书请输入n) " << endl;

cin >> k;

if (k == 121)

service (); //如果读者要进行其他 *** 作,则引用service函数,对读者进行重新引导

if (k == 121)

return; //进行其他 *** 作完毕,直接跳出borrow函数

else

continue; //若读者选择继续借书,则跳出本次循环,进行下一次循环

}

cout << endl; //此处还行是为了人机界面的美观

cout << "以下是您要借的书籍的信息" << endl;

book[i]display();

cout << "您想借几本书" << endl;

cin>>j;

//判断读者的权限、图书馆库存及输入的合法性

while ((a-number)<j || book[i]NO<j || j<0 || j>3)

{

cout << "因为你的权限不够、数量输入有误或者图书馆库存不足,";

cout << "你目前不能借这么多书!请输入一个合适的数目" << endl;

cin>>j;

//提示读者是否进行其他 *** 作

cout << "您是否想进行其他 *** 作? (是请输入y, 继续借书请输入n) " << endl;

cin>>k;

if (k == 121)

service();

if (k == 121)

return;

else

continue;

cout << endl;

}

book[i]NO = book[i]NO - j; //借书完毕,对图书馆的小数据库从新调整一下

number = number + j; //借书完毕,读者已借书籍数量要加上现在借的书数量

cout << endl;

cout << "您在图书馆还可以借 " << a - number << " 本书" << endl;

cout << "《" << book[i]name << "》" << "目前剩余" << book[i]NO << "本" << endl;

}

} //borrow函数结束

void people::back (int a) //还书成员函数

{

int n, m;

char k;

void service() ;

cout << "您要还哪本书" << endl;

cin >> n;

while (book[n]NO = 3) //判断图书馆库存,库存是满的,那就没人从这借过这种书而且没还

{

cout << "您借过这本书吗?请重新输入图书序号 " << endl;

cin>>n;

cout << "您是否想进行其他 *** 作? (是请输入y, 继续还书请输入n) " << endl;

cin>>k;

if (k == 121)

service();

if (k == 121)

return;

else

continue;

cout << endl;

}

while (n>5 || n<0) //判断读者所要借的书是否存在

{

cout << "您输入的图书序号错误,请重新输入图书序号是0-5 " << endl;

cin>>n;

cout << "您是否想进行其他 *** 作? (是请输入y, 继续还书请输入n) " << endl;

cin >> k;

if (k == 121)

service () ;

if (k == 121)

return;

else

continue;

cout << endl;

}

cout << endl; //此处换行是为了人机界面的美观

cout << "以下是您要借的书籍的信息" << endl;

book[n]display () ;

cout << "你要还几本书" << endl;

cin >> m;

//判断图书馆这种书的库存是否小于读者要还的书的数量,及读者输入的合法性

while ((3-book[n]NO) <m || m>3)

{

cout << "您有借过这么多书吗?请重新输入" << endl;

cin >> m;

cout << "您是否想进行其他 *** 作? (是请输入y, 继续借书请输入n) " << endl;

cin >> k;

if (k == 121)

service ();

if (k == 121)

return;

else if (k = 110)

continue;

cout << endl;

}

book[n]NO += m; //还书完毕,及时对图书馆的数据库进行整理

number -= m; //读者已借书籍数减轻现在所还书籍数量

//以下是一些给读者的提示信息

cout << "恭喜!您还书成功!" << endl;

cout << "你还可以借 " << a-number << " 本书!" << endl;

} //back函数结束

void service () //service函数,完成对读者的服务、询问功能

{

int a;

int b;

student stud("ming", 0, 2007); //定义student类的对象stu,并初始化

teacher tea("li", 0, "assistant"); //定义teacher类的对象tea,并初始化

//询问读者身份,给出选项

cout << "欢迎来到图书馆,请问您的身份是: (请输入首数字) " << endl;

cout << "1教师" << endl;

cout << "2学生" << endl;

cin >> a;

while (a != 1 && a != 2) //对读者的错误输入进行提醒

{

cout << "请输入正确的选项:" << endl;

cin >> a;

}

cout << endl;

cout << "请问您想要: (请输入首数字) " << endl; //询问读者所希望进行的工作,给出选项

cout << "1借书" << endl;

cout << "2还书" << endl;

cout << "3离开借书台" << endl;

cin >> b;

while (b != 1 && b != 2 && b != 3) //对读者的错误输入进行提醒

{

cout << "请输入正确的选项" << endl;

cin >> b;

}

cout << endl;

if (a == 1) //如果读者是老师,则进行以下 *** 作

{

if (b == 1)

{

teaborrow(6); //调用借书函数

}

else if (b == 2)

{

teaback(6); //调用还书函数

}

else

{

cout << " = ^_^ = 谢谢您的光临!\n" << endl; //退出

}

}

else if (a == 2) //如果读者是学生,则进行以下 *** 作

{

if (b == 1)

{

studborrow(4);

}

else if (b == 2)

{

studback(4);

}

else

{

cout << " = ^_^ = 谢谢您的光临!\n" << endl;

return;

}

}

cout << endl;

} //service函数结束

//主函数

int main()

{

char k;

service() ;

while (1) // *** 作完毕,提示读者是否进行其他 *** 作。

{

cout << "是否继续进行其他 *** 作?";

cout << " (进行其他 *** 作请输入y, 退出请输入n) " << endl;

cin >> k;

cout << endl;

if (k == 121)

service ();

else

cout << " = ^_^ = 谢谢您的光临!\n" << endl;

break;

}

return 0;

}

以上就是关于C语言程序,程序访问违例(段异常)全部的内容,包括:C语言程序,程序访问违例(段异常)、C语言编写程序,每5个一行输出10~500以内的素数、数据库基础知识等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9797540.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存