您当前的位置:首页 > 互联网教程

C语言是什么

发布时间:2025-05-12 11:36:51    发布人:远客网络

C语言是什么

一、C语言是什么

C语言是一种成功的系统描述语言,用C语言开发的UNIX操作系统就是一个成功的范例;同时C语言又是一种通用的程序设计语言,在国际上广泛流行。世界上很多著名的计算公司都成功的开发了不同版本的C语言,很多优秀的应用程序也都使用C语言开发的,它是一种很有发展前途的高级程序设计语言。

1. C是中级语言。它把高级语言的基本结构和语句与低级语言的实用性结合起来。C语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。

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

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

4. C语言适用范围大。适合于多种操作系统,如Windows、DOS、UNIX等等;也适用于多种机型。 C语言对编写需要硬件进行操作的场合,明显优于其它解释型高级语言,有一些大型应用软件也是用C语言编写的。 C语言具有绘图能力强,可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画。它是数值计算的高级语言。

5.C语言文件由数据序列组成,可以构成二进制文件或文本文件常用的C语言IDE(集成开发环境)有Microsoft Visual C++,Dev-C++,Code::Blocks,Borland C++,Watcom C++,Borland C++ Builder,GNU DJGPP C++,Lccwin32 C Compiler 3.1,High C,Turbo C,C-Free,win-tc等等……对于一个初学者,Microsoft Visual C++是一个比较好的软件。界面友好,功能强大,调试也很方便。

二、C语言主要是用来编什么东西的

比如编写下面这个模拟发射子弹“歼灭敌机”的小游戏,也可写很多其它的游戏:

#define zlx 10//增量坐标(x)让游戏框不靠边

#define zly 3//增量坐标(y)让游戏框不靠边

int jiem[22][22]={0}, wj=10;//界面数组,我机位置(初值为10)

int speed=4,density=30;//敌机速度,敌机密度

int score=0,death=0;//玩家成绩,死亡次数

void gtxy(int x, int y)//控制光标位置的函数

SetConsoleCursorPosition( GetStdHandle(STD_OUTPUT_HANDLE), pos);

voidColor(inta)//设定颜色的函数(a应为1-15)

{ SetConsoleTextAttribute( GetStdHandle(STD_OUTPUT_HANDLE), a);}

void yinc(int x,int y)//隐藏光标的函数

{ CONSOLE_CURSOR_INFO gb={x,y};//x为1-100, y为0或1

SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&gb);

gtxy(zlx,zly); printf("╔"); gtxy(zlx+W-2,zly); printf("╗");//左上角和右上角的框角

gtxy(zlx,zly+H-1); printf("╚"); gtxy(zlx+W-2,zly+H-1); printf("╝");//下边两框角

for(i=2;i<W-2;i+=2){gtxy(zlx+i,zly); printf("═");}//打印上横框

for(i=2;i<W-2;i+=2){gtxy(zlx+i,zly+H-1); printf("═");}//打印下横框

for(i=1;i<H-1;i++){ gtxy(zlx,zly+i); printf("║");}//打印左竖框

for(i=1;i<H-1;i++){gtxy(zlx+W-2,zly+i); printf("║");}//打印右竖框

Color(14);gtxy(19,2); printf("歼灭敌机"); Color(10);

gtxy(37,5); printf("设置:Esc");

gtxy(37,7); printf("发射:↑");

gtxy(37,9); printf("控制:←→");

gtxy(37,11);printf("得分:%d",score);

gtxy(37,13); printf("死亡:%d",death);

yinc(1,0);//隐藏光标(光标粗细值为1,性质为隐藏即0)

for(j=0;j<W-4;j++){gtxy(zlx+2+j,zly+1+i);printf("");}

for(i=21;i>=0;i--)//从底行往上是为了避免敌机直接冲出数组

{if(i==21&&jiem[i][j]==3)jiem[i][j]=0;//底行赋值0以免越界

if(jiem[i][j]==3)jiem[i][j]=0, jiem[i+1][j]=3;

if(jiem[20][wj]==3&&jiem[21][wj]==1) death++;

{if(i==0&&jiem[i][j]==2) jiem[i][j]=0;

if(jiem[i][j]==2){if(jiem[i-1][j]==3) score+=100,printf("\7");

jiem[i][j]=0,jiem[i-1][j]=2;}

if(jiem[i][j]==3){Color(13);printf("□");}

if(jiem[i][j]==2){Color(10);printf(".");}

if(jiem[i][j]==1){Color(10);printf("■");}

gtxy(37,11); Color(10);printf("得分:%d",score);

gtxy(37,13); printf("死亡:%d",death);

gtxy(12,4);printf("选择敌机速度:");

gtxy(12,5);printf(" 1.快 2.中 3.慢>>");

{case'1': speed=2; break;

case'2': speed=4; break;

case'3': speed=5; break;

default: gtxy(12,6);printf("错误!默认值");

gtxy(12,7);printf("选择敌机密度:");

gtxy(12,8);printf(" 1.大 2.中 3.小>>");

{case'1': density=20; break;

case'2': density=30;break;

case'3': density=40; break;

default: gtxy(12,9);printf("错误!默认值");

for(int j=0;j<22;j++)jiem[i][j]=0;

jiem[21][wj=10]=1; jiem[0][5]=3;

gtxy(12,10);printf("按任意键保存...");

jiem[21][wj]=1;//值为1代表我机(2则为子弹)

SetConsoleTitle("歼灭敌机");//设置窗口标题(在窗口左上角显示这四个字)

if((key=getch())==224) key=getch();

switch(key)//控制左右移动和进入菜单

{case 75: if(wj>0) jiem[21][wj]=0,jiem[21][--wj]=1; break;

case 77: if(wj<20)jiem[21][wj]=0,jiem[21][++wj]=1;break;

case 72: jiem[20][wj]=2; break;

if(++n%density==0)//控制产生敌机的速度

{ n=0;srand((unsigned)time(NULL));

if(++m%speed==0){feiji(); m=0;}//控制敌机移动速度

三、什么是C语言

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

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

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

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

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语言也给人“煮”了一下,美国贝尔实验室的D.M.RITCHIE在B语言的基础上最终设计出了一种新的语言,他取了BCPL的第二个字母作为这种语言的名字,这就是C语言。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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