c语言是干嘛的,做 *** 作系统

c语言是干嘛的,做 *** 作系统,第1张

是用来编程的

具体如下:

c语言C语言是目前世界上流行、使用非常广泛的高级程序设计语言。

C语言对 *** 作系统和系统使用程序以及需要对硬件进行 *** 作的场合,用C语言明显优于其它高级语言,许多大型应用软件都是用C语言编写的。

C语言具有绘图能力强,可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画它是数值计算的高级语言。

常用的编译软件有Microsoft Visual C++,Borland C++,Watcom C++ ,Borland C++ ,Borland C++ Builder,Borland C++ 31 for DOS,Watcom C++ 110 for DOS,GNU DJGPP C++ ,Lccwin32 C Compiler 31,Microsoft C,High C,TurboC等等

C语言的发展历史

C语言的发展颇为有趣。它的原型ALGOL 60语言。(也成为A语言)

1963年,剑桥大学将ALGOL 60语言发展成为CPL(Combined Programming Language)语言。

1967年,剑桥大学的Matin Richards 对CPL语言进行了简化,于是产生了BCPL语言。

1970年,美国贝尔实验室的Ken Thompson将BCPL进行了修改,并为它起了一个有趣的名字“B语言”。意思是将CPL语言煮干,提炼出它的精华。并且他用B语言写了第一个UNIX *** 作系统。

而在1973年,B语言也给人“煮”了一下,美国贝尔实验室的DMRITCHIE在B语言的基础上最终设计出了一种新的语言,他取了BCPL的第二个字母作为这种语言的名字,这就是C语言。

为了使UNIX *** 作系统推广,1977年Dennis MRitchie 发表了不依赖于具体机器系统的C语言编译文本《可移植的C语言编译程序》。

1978年Brian WKernighian和Dennis MRitchie出版了名著《The C Programming Language》,从而使C语言成为目前世界上流行最广泛的高级程序设计语言。

1988年,随着微型计算机的日益普及, 出现了许多C语言版本。由于没有统一的标准,使得这些C语言之间出现了一些不一致的地方。为了改变这种情况,美国国家标准研究所(ANSI)为C语言制定了一套ANSI标准, 成为现行的C语言标准 3C语言的主要特点 。C语言发展迅速, 而且成为最受欢迎的语言之一, 主要因为它具有强大的功能。许多著名的系统软件, 如DBASE Ⅲ PLUS、DBASE Ⅳ 都是由C 语言编写的。用C语言加上一些汇编语言子程序, 就更能显示C语言的优势了,象PC- DOS 、WORDSTAR等就是用这种方法编写的。

C语言版本

目前最流行的C语言有以下几种:

·Microsoft C 或称 MS C

·Borland Turbo C 或称 Turbo C

·AT&T C

这些C语言版本不仅实现了ANSI C标准,而且在此基础上各自作了一些扩充,使之更加方便、完美。

面向对象的程序设计语言

在C的基础上,一九八三年又由贝尔实验室的Bjarne Strou-strup推出了C++。 C++进一步扩充和完善了C语言,成为一种面向 对象的程序设计语言。C++目前流行的最新版本是Borland C++45,Symantec C++61,和Microsoft VisualC++ 20。C++提出了一些更为深入的概念,它所支持的这些面向对象的概念容易将问题空间直接地映射到程序空间,为程序员提供了一种与传统结构程序设计不同的思维方式和编程方法。因而也增加了整个语言的复杂性,掌握起来有一定难度。

C语言的特点

1 简洁紧凑、灵活方便

C语言一共只有32个关键字,9种控制语句,程序书写自由,主要用小写字母表示。它把高级语言的基本结构和语句与低级语言的实用性结合起来。 C 语言可以象汇编语言一样对位、字节和地址进行 *** 作, 而这三者是计算机最基本的工作单元。

2 运算符丰富

C的运算符包含的范围很广泛,共有种34个运算符。C语言把括号、赋值、强制类型转换等都作为运算符处理。从而使C的运算类型极其丰富表达式类型多样化,灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。

3 数据结构丰富

C的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。能用来实现各种复杂的数据类型的运算。并引入了指针概念,使程序效率更高。另外C语言具有强大的图形功能, 支持多种显示器和驱动器。且计算功能、逻辑判断功能强大。

4 C是结构式语言

结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰, 便于使用、维护以及调试。C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。

5 C语法限制不太严格、程序设计自由度大

一般的高级语言语法检查比较严,能够检查出几乎所有的语法错误。而C语言允许程序编写者有较大的自由度。

6 C语言允许直接访问物理地址,可以直接对硬件进行 *** 作

因此既具有高级语言的功能,又具有低级语言的许多功能,能够象汇编语言一样对位、字节和地址进行 *** 作,而这三者是计算机最基本的工作单元,可以用来写系统软件。

7 C语言程序生成代码质量高,程序执行效率高

一般只比汇编程序生成的目标代码效率低10へ20%。

8 C语言适用范围大,可移植性好

C语言有一个突出的优点就是适合于多种 *** 作系统, 如DOS、UNIX,也适用于多种机型。

C源程序的结构特点

1一个C语言源程序可以由一个或多个源文件组成。

2每个源文件可由一个或多个函数组成。

3一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。

4源程序中可以有预处理命令(include 命令仅为其中的一种),预处理命令通常应放在源文件或源程序的最前面。

5每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数头和花括号“}”之后不能加分号。

6标识符,关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,也可不再加空格来间隔。

书写程序时应遵循的规则

当然,C语言也有自身的不足,比如:C语言的语法限制不太严格,对变量的类型约束不严格,影响程序的安全性,对数族下标越界不作检查等。从应用的角度,C语言比其他高级语言较难掌握。

总之,C语言既有高级语言的特点,又具有汇编语言的特点;既是一个成功的系统设计语言,有时一个使用的程序设计语言;既能用来编写不依赖计算机硬件的应用程序,又能用来编写各种系统程序;是一种受欢迎、应用广泛的程序设计语言。

C语言有很多的优点

指针就是C语言的一大特色,可以说C语言优于其它高级语言的一个重要原因就是因为它有指针 *** 作可以直接进行靠近硬件的 *** 作,但是C的指针 *** 作也给它带来了很多不安全的因素C++在这方面做了很好的改进,在保留了指针 *** 作的同时又增强了安全性。Java又进一步提高了安全性。

C语言的缺点

C语言的缺点主要是表现在数据的封装性上,这一点使得C在数据的安全性上做的有很大缺陷,这也是C和C++的一大区别

C语言编写WINDOWS程序要调用WINDOWS的API函数

你需要并知道了解一些API函数的功能(不必死记,用的时候查MSDN便可)

但更重要的是你要了解用纯C+API编WINDOWS应用程序的一些基本框架

不外乎就是 设计窗口类->注册窗口类->创建窗口->显示窗口->消息循环

要了解WINDOWS的消息处理机制

说到书籍,那没什么可以和<WINDOWS程序设计>(Charles Petzold著)相媲美了

侯捷说过没有一本书是每个程序员需要人手一本的,除了<WINDOWS程序设计>

#include <stdioh>

#include <stringh>

#include <conioh>

#include <ctypeh>

#include <stdlibh>

#include <malloch>

#include <mathh>//overflow

#define ok 1

typedef struct Yidingkehu

{//单链表

char name[15];//已订票的客户姓名

int dingpiaoshu;//已订票数量

struct Yidingkehu next1;//

}Yidingkehu,Link;

typedef struct Weidingkehu

{//单链队

char name[15];//预订票的客户姓名

int yudingpiao;// 要订票数量

struct Weidingkehu next2;//下一个链队结点指针

}Weidingkehu,Qptr;

typedef struct Hangxian

{//创建一个含有六个信息的结构体

char hangbanhao[15];//航班号-

char feijihao[15];//飞机号

int feixingriqi;//起飞时间

int chenkerenshu;//座位数

int yupiao;//余票

char zhongdianzhai[15];//降落城市

struct Hangxian next;//指向下一个链结点的指针

struct Yidingkehu yiding;//定义一个指向已订票客户的头结点指针

struct Weidingkehu yudingqueue;

}Hangxian,Linklist;

Linklist InitLinklist();//01

int InsertLinklist(Linklist &head1);//02

void hbhchaxun();//通过航班号查询

void mddchaxun();//通过目的地查询

void lurugongneng();//初始化录入功能

void chaxungongnen();//查询功能

void dingpiaogongnen();//订票功能

void tuipiaogongnen();//退票功能

void main()

{

int n;

do{ //打印主界面

printf("\t 欢迎使用航空客运订票系统\n");

printf("\t+++++++++++++++++++++++++++++\n");

printf("\t==>1 录入功能 ==\n");

printf("\t==>2 查询功能 ==\n");

printf("\t==>3 订票功能 ==\n");

printf("\t==>4 退票功能 ==\n");

printf("\t==>5 退出 ==\n");

printf("\t+++++++++++++++++++++++++++++\n");

printf("\t请选择:");

scanf("%d",&n);printf("\n");

switch(n)

{

case 1: lurugongneng();//录入功能

break;

case 2: chaxungongnen();//查询功能

break;

case 3: dingpiaogongnen();//订票功能

break;

case 4:tuipiaogongnen();//退票功能

break;

default :exit(0);//退出

}

}while(n==1||n==2||n==3||n==4);

}

void lurugongneng()//初始化的单链表录入功能

{

Linklist p;

//int m,n;

if(!p) exit(OVERFLOW);

printf("\t请依次输入下面几项内容:\n\n");//这里的输入采用一个个单独输入,避免了乱赋值的现象

printf("航班号\n");

gets(p->hangbanhao);//这里的二个gets主要是因为在回车键的输入,其中的第一个是来接收上次的回车

gets(p->hangbanhao);

printf("飞机号\n");

gets(p->feijihao);

printf("终点站\n");

gets(p->zhongdianzhai);

printf("飞行日期\n");

scanf("%d",&p->feixingriqi);

printf("乘客总数\n");

scanf("%d",&p->chenkerenshu);

printf("余票数\n");

scanf("%d",&p->yupiao);

}

void chaxungongnen()//查询功能

{

int n;

printf("\t 查 找 航 线 信 息 \n");

printf("\t+++++++++++++++++++++++++++++\n");

printf("\t==>1 通过目的地查询 ==\n");

printf("\t==>2 通过航班号查询 ==\n");

printf("\t+++++++++++++++++++++++++++++\n");

printf("\t请选择:");

scanf("%d",&n);

printf("\n");//格式化

switch(n)

{

case 1:mddchaxun();

break;

case 2:hbhchaxun();

break;

default :break;

}

}

void mddchaxun()//通过目的地查询

{

char c[15];

int m;

Linklist p=L;

printf("\t请输入要查询的目的地:");

gets(c);

gets(c);//原因同上

do{

p=p->next;

if(p)

{

m=strcmpi((p)zhongdianzhai,c);//如果==的话则m=0;

if(m==0)

{

printf("\t航班信息:\n");

printf("\t航班号:%s\n",p->hangbanhao);

printf("\t飞机号:%s\n",p->feijihao);

printf("\t飞行时间:周%d\n",p->feixingriqi);

printf("\t余票量:%d\n",p->yupiao);

}

}

else

{//如果不匹配的话就做

printf("\t对不起没有你要找的目的地:\n\n"); m=0;

}

}while(m!=0);

}

void hbhchaxun()//通过目的地查询

{

char c[15];

int m;

Linklist p=L;

printf("\t请输入要查询的航班号:");

gets(c); gets(c);printf("\n");

do{

p=p->next;

if(p)

{

m=strcmpi((p)hangbanhao,c);//如果==的话则m=0;这里的(p)与p->的作用是一样的

if(m==0)

{

printf("\t航班信息:\n");

printf("\t航班号:%s\n",p->hangbanhao);

printf("\t飞机号:%s\n",p->feijihao);

printf("\t飞行时间:周%d\n",p->feixingriqi);

printf("\t余票量:%d\n\n",p->yupiao);

}

}

else

{//如果不匹配的话就做

printf("\t对不起没有你要找的航班号:\n"); m=0;

}

}while(m!=0);

}

void dingpiaogongnen()//订票功能

{

char c[15];

int m=1,piao,ydpiao=0,yd=0,n;//

gets(c);

printf("请输入终点站名:"); gets(c); printf("\n");

p=L->next;

if(p) {

do{//查找一下,是否有这个航班

if(!p)

{

printf("对不起,没有你要找的航班:\n\n");

goto loop1;

}

m=strcmpi(p->zhongdianzhai,c);

if(m==0)

{

printf("航班信息:\n");

printf("航班号:%s\n",p->hangbanhao);

printf("飞机号:%s\n",p->feijihao);

printf("飞行时间:周%d\n",p->feixingriqi);

printf("余票量:%d\n",p->yupiao);}

else p=p->next;

}while(m!=0);

if(m==0)

{

do{

printf("\n请输入你要订的票数:"); scanf("%d",&piao);

if(piao<=p->yupiao)

{

h=p->yiding;

if(h)

{

h1=h;

h=h->next1;

h=(struct Yidingkehu)malloc(sizeof(Yidingkehu));

printf("请输入你的名字:");

gets(h->name);gets(h->name);

h->dingpiaoshu=piao;

h->next1=h1->next1;

h1->next1=h;

p->yupiao=p->yupiao-piao;

printf("订票成功:\n"); m=2;

}

}

else

{

printf("余票量:%d\n",p->yupiao);

printf("对不起,余票 %d 张不足,不能完成订票\n\n",p->yupiao);

printf(" 是否要重新订票\n");

printf("需要请输入1 否则请按2 预订请输入3 : ");

scanf("%d",&m);

printf("\n");

if(m==3) goto loop3;

}

}while(m==1);

}

}

else if(!p)

{

loop3: struct Weidingkehu q3;

printf("对不起,该航班的票已售完\n");

qfront=p->yudingqueue;

if(qfront==qrear) printf("没有人预订票,是否要预订\n");

else if(qfront!=qrear) printf("已有人预订票,是否要预订\n");

printf("预订请输入1 否则输入2 : ");

scanf("%d",&n);

printf("\n");

if(n==1)

{

printf("请输入你的姓名"); gets(q3->name); gets(q3->name);//q3不能指向name

printf("请输入订票数"); scanf("%d",&q3->yudingpiao);

q3->next2=NULL;

qrear->next2=q3;

qrear=q3;

printf(" 你已经预订了 !\n");

}

}

loop1:;

}

void tuipiaogongnen()//退票功能

{

}

请采纳答案,支持我一下。

分类: 电脑/网络 >> 程序设计 >> 其他编程语言

解析:

对于这个问题吗!

我想我的回答应该是现在流行的 *** 作系统包括windows,linux,UNIX等等,有几个不是用C语言编出来的了!

C语言特别适合于做底层的开发!

因此目前主流的 *** 作系统基本上都是用C语言构架的!然后用其他的语言(如C++)来完善这个构架好的系统

c语言编译程序属于系统软件。

编译程序(Compiler,compiling program)也称为编译器,是指把用高级程序设计语言书写的源程序,翻译成等价的机器语言格式目标程序的翻译程序。这里的编译程序是一种动作,是根据编译原理技术,由高级程序设计语言编译器翻译成机器语言二进制代码行为。因此它是系统软件。

计算机软件总体分为系统软件和应用软件两大类:系统软件是各类 *** 作系统,如windows、Linux、UNIX等,还包括 *** 作系统的补丁程序及硬件驱动程序,都是系统软件类。

应用软件可以细分的种类就更多了,如工具软件、游戏软件、管理软件等都属于应用软件类。电脑工具软件就是指在使用电脑进行工作和学习时经常使用的软件。

扩展资料:

不同点

1、表现形式不同

硬件有形,有色,有味,看得见,摸得着,闻得到。而软件无形,无色,无味,看不见,摸不着,闻不到。软件大多存在人们的脑袋里或纸面上,它的正确与否,是好是坏,一直要到程序在机器上运行才能知道。这就给设计、生产和管理带来许多困难。

2、生产方式不同

软件是开发,它是人的智力的高度发挥,不是传统意义上的硬件制造。尽管软件开发与硬件制造之间有许多共同点,但这两种活动是根本不同的。

3、要求不同

硬件产品允许有误差,而软件产品却不允许有误差。

4、维护不同

硬件是要用旧用坏的,在理论上,软件是不会用旧用坏的,但在实际上,软件也会变旧变坏。因为在软件的整个生存期中,一直处于改变(维护)状态。

参考资料:

百度百科-计算机软件

结构定义如下,其他的自己写吧,内容太多了

struct user_info {

char[10] user_code;

char[10] user_name;

char[10] passeord;

char user_limit;

}

#include <iostream>

#include <iomanip>

#include <string>

#include <fstream>//输入/输出文件流类

using namespace std;

const int Maxr=100;//最多的读者

const int Maxb=100;//最多的图书

const int Maxbor=5;//每位读者最多借五本书

//读者类,实现对读者的信息的描述

class Reader

{

private:

int tag; //删除标记 1:已删 0:未删

int no; //读者编号

char name[10]; //读者姓名

int borbook[Maxbor];//所借图书

public:

Reader() {}

char getname() //获取姓名

int gettag() //获取删除标记

int getno() //获取读者编号

void setname(char na[]) //设置姓名

{

strcpy(name,na);

}

void delbook()//设置删除标记 1:已删 0:未删

void addreader(int n,char na)//增加读者

{

tag=0;

no=n;

strcpy(name,na);

for(int i=0;i<Maxbor;i++)

borbook[i]=0;

}

void borrowbook(int bookid)//借书 *** 作

{

for(int i=0;i<Maxbor;i++)

{

if (borbook[i]==0)

{

borbook[i]=bookid;

return;

}

}

}

int retbook(int bookid)//还书 *** 作

{

for(int i=0;i<Maxbor;i++)

{

if(borbook[i]==bookid)

{

borbook[i]=0;

return 1;

}

}

return 0;

}

void disp()//读出读者信息

{

cout << setw(5) << no <<setw(10) << name<<"借书编号:[";

for(int i=0;i<Maxbor;i++)

if(borbook[i]!=0)

cout << borbook[i] << "|";

cout << "]"<<endl;

}

};

//读者类库,实现建立读者的个人资料

class RDatabase

{

private:

int top; //读者记录指针

Reader read[Maxr];//读者记录

public:

RDatabase() //构造函数,将readertxt读到read[]中

{

Reader s;

top=-1;

fstream file("readertxt",ios::in);//打开一个输入文件

while (1)

{

fileread((char )&s,sizeof(s));

if (!file)break;

top++;

read[top]=s;

}

fileclose(); //关闭 readertxt

}

void clear()//删除所有读者信息

{

top=-1;

}

int addreader(int n,char na)//添加读者时先查找是否存在

{

Reader p=query(n);

if (p==NULL)

{

top++;

read[top]addreader(n,na);

return 1;

}

return 0;

}

Reader query(int readerid)//按编号查找

{

for (int i=0;i<=top;i++)

if (read[i]getno()==readerid &&

read[i]gettag()==0)

{

return &read[i];

}

return NULL;

}

void disp() //输出所有读者信息

{

for (int i=0;i<=top;i++)

read[i]disp();

}

void readerdata();//读者库维护

~RDatabase() //析构函数,将read[]写到readertxt文件中

{

fstream file("readertxt",ios::out);

for (int i=0;i<=top;i++)

if (read[i]gettag()==0)

filewrite((char )&read[i],sizeof(read[i]));

fileclose();

}

};

void RDatabase::readerdata()

{

char choice;

char rname[20];

int readerid;

Reader r;

while (choice!='0')

{

cout <<"\n\n\t\t\t读 者 维 护\n\n\n\t\t 1 新 增\n\n\t\t 2 更 改\n\n\t\t 3 删 除\n\n\t\t 4 查 找\n\n\t\t 5 显 示\n\n\t\t 6 全 删\n\n\t\t 0 退 出"<<endl;

cin >> choice;

switch (choice)

{

case '1':

cout << "输入读者编号:";

cin >> readerid;

cout << "输入读者姓名:";

cin >> rname;

addreader (readerid,rname);

break;

case '2':

cout << "输入读者编号:";

cin >> readerid;

r=query(readerid);

if (r==NULL)

{

cout << " 该读者不存在 "<<endl;

break;

}

cout << "输入新的姓名:";

cin >> rname;

r->setname(rname);

break;

case '3':

cout << " 输入读者编号:";

cin >> readerid;

r=query(readerid);

if (r==NULL)

{

cout <<" 该读者不存在" << endl;

break;

}

r->delbook();

break;

case '4':

cout << "读入读者编号:";

cin >> readerid;

r=query(readerid);

if (r==NULL)

{

cout <<"该读者不存在"<< endl;

break;

}

r->disp();

break;

case '5':

disp();

break;

case '6':

clear();

break;

default:cout<<"输入错误,请从新输入:";break;

}

}

}

//图书类,实现对图书的描述,图书的编号,书名,借出,还入等

class Book

{

private:

int tag;//删除标记 1:已删 0:未删

int no;//图书编号

char name[20];//书名

int onshelf;//是否再架 1:再架 2:已借

public:

Book(){}

char getname() //获取姓名

int getno()//获取图书编号

int gettag()//获取删除标记

void setname(char na[])//设置书名

{

strcpy(name,na);

}

void delbook()//删除图书

void addbook(int n,char na)//增加图书

{

tag=0;

no=n;

strcpy(name,na);

onshelf=1;

}

int borrowbook()//借书 *** 作

{

if (onshelf==1)

{

onshelf=0;

return 1;

}

return 0;

}

void retbook()//还书 *** 作

{

onshelf=1;

}

void disp()//输出图书

{

cout << setw(6) << no << setw(18) << name << setw(10)

<<(onshelf==1 "在架":"已借") <<endl;

}

};

//图书库类,实现对图书的维护,查找,删除等

class BDatabase

{

private:

int top; //图书记录指针

Book book[Maxb]; //图书记录

public:

BDatabase()//构造函数,将booktxt读到book[]中

{

Book b;

top=-1;

fstream file("booktxt",ios::in);

while (1)

{

fileread((char )&b,sizeof(b));

if (!file) break;

top++;

book[top]=b;

}

fileclose();

}

void clear()//全删

{

top=-1;

}

int addbook(int n,char na)//增加图书

{

Book p=query(n);

if (NULL==p)

{

top++;

book[top]addbook(n,na);

return 1;

}

return 0;

}

Book query(int bookid)//查找图书

{

for (int i=0;i<=top;i++)

if (book[i]getno()==bookid &&book[i]gettag()==0)

{

return &book[i];

}

return NULL;

}

void bookdata();//图书库维护

void disp()

{

for (int i=0;i<=top;i++)

if (book[i]gettag()==0)

book[i]disp();

}

~BDatabase()//析构函数,将book[]写到booktxt文件中

{

fstream file("booktxt",ios::out);

for (int i=0;i<=top;i++)

if (book[i]gettag()==0)

filewrite((char )&book[i],sizeof(book[i]));

fileclose();

}

};

void BDatabase::bookdata()

{

char choice;

char bname[40];

int bookid;

Book b;

while (choice!='0')

{

cout <<"\n\n\n\t\t\t图 书 维 护 "<<endl<<endl;

cout<<"\t\t1 新 增\n \t\t2 更 改\n\t\t3 删 除\n\t\t4 查 找\n\t\t5 显 示\n\t\t6 全 删\n\t\t0 退 出"<<endl;

cin >> choice;

switch (choice)

{

case '1':

cout << "输入图书编号:"<<endl;

cin >> bookid;

cout << "输入图书书名:"<<endl;

cin >> bname;

addbook(bookid,bname);

break;

case '2':

cout << "输入图书编号:"<<endl;

cin >> bookid;

b=query(bookid);

if (b==NULL)

{

cout << " 该图书不存在 "<<endl;

break;

}

cout << "输入新的书名:"<<endl;

cin >> bname;

b->setname(bname);

break;

case '3':

cout <<" 读入图书编号:"<<endl;

cin >> bookid;

b=query(bookid);

if (b==NULL)

{

cout <<" 该图书不存在" << endl;

break;

}

b->delbook();

break;

case '4':

cout << " 读入图书编号:"<<endl;

cin >> bookid;

b=query(bookid);

if (b==NULL)

{

cout <<" 该图书不存在"<< endl;

break;

}

b->disp();

break;

case '5':

disp();

break;

case '6':

clear();

break;

default:cout<<"输入错误,请从新输入:";

}

}

}

//main() 函数的实现,程序的主界面的引导

void main()

{

char choice;

int bookid,readerid;

RDatabase ReaderDB;

Reader r;

BDatabase BookDB;

Book b;

while(choice!='0')

{

cout <<endl<<endl<<"\t\t\t 图 书 管 理 系 统\n\n\n";

cout <<"\t\t\t1 借 书\n\n\t\t\t2 还 书 \n\n\t\t\t3 图 书 维 护\n\n\t\t\t4 读 者 维 护\n\n\t\t\t0 离 开"<<endl;

cin >> choice;

switch (choice)

{

case '1':

cout <<" 借书 读者编号:";

cin >>readerid;

cout <<" 图书编号: ";

cin >>bookid;

r=ReaderDBquery(readerid);//按编号查找

if (NULL==r)

{

cout <<" 不存在该读者,不能借书"<< endl;

break;

}

b=BookDBquery(bookid);

if (b==NULL)

{

cout <<" 不存在该图书,不能借书"<< endl;

break;

}

if (b->borrowbook()==0)

{

cout << " 该图书已借出,不能借书"<< endl;

break;

}

r->borrowbook(b->getno());

break;

case '2':

cout<<"还书\n 读者编号:";

cin >>readerid;

cout << " 图书编号:";

cin >>bookid;

r=ReaderDBquery(readerid);

if (r==NULL)

{

cout <<" 不存在该读者,不能还书" << endl;

break;

}

b=BookDBquery(bookid);

if (b==NULL)

{

cout <<" 不存在该图书,不能还书" <<endl;

break;

}

b->retbook();

r->retbook(b->getno());

break;

case '3':

BookDBbookdata();

break;

case '4':

ReaderDBreaderdata();

break;

default:cout<<"输入错误,请从新输入:";

}

}

}

C语言是一种计算机程序设计语言。它既有高级语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛。主要有以下特点:

C语言在很多方面都可以用,不仅仅是在软件开发上,各类科研都是需要用到C语言的。具体应用比如我是学硬件的,单片机以及嵌入式系统都可以用C来开发。

C语言发展如此迅速,而且成为最受欢迎的语言之一,主要因为它具有强大的功能。许多著名的系统软件,如DBASEⅢPLUS、DBASEⅣ都是由C语言编写的。用C语言加上一些汇编语言子程序,就更能显示C语言的优势了,象PC-DOS、WORDSTAR等就是用这种方法编写的。归纳起来C语言具有下列特点:1C是中级语言它把高级语言的基本结构和语句与低级语言的实用性结合起来。C语言可以象汇编语言一样对位、字节和地址进行 *** 作,而这三者是计算机最基本的工作单元。

2C是结构式语言结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。

3C语言功能齐全C语言具有各种各样的数据类型,并引入了指针概念,可使程序效率更高。另外C语言也具有强大的图形功能,支持多种显示器和驱动器。而且计算功能、逻辑判断功能也比较强大,可以实现决策目的编游戏,编3D游戏,做数据库,做联众世界,做聊天室,做PHOTOSHOP做FLASH,做3DMAX。

4C语言适用范围大C语言还有一个突出的优点就是适合于多种 *** 作系统,如DOS、UNIX,也适用于多种机型。

C语言对 *** 作系统和系统使用程序以及需要对硬件进行 *** 作的场合,用C语言明显优于其它解释型高级语言,有一些大型应用软件也是用C语言编写的。

C语言具有绘图能力强,可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画。它是数值计算的高级语言。

以上就是关于c语言是干嘛的,做 *** 作系统全部的内容,包括:c语言是干嘛的,做 *** 作系统、C语言如何编写系统程序、C语言程序写飞机订票系统等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存