第一章 C语言概述.doc_第1页
第一章 C语言概述.doc_第2页
第一章 C语言概述.doc_第3页
第一章 C语言概述.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章 C语言概述. 语言出现的历史背景(自学). 语言的特点语言的特点是多方面的,人们从不同的角度总结出众多的特点。大致归结有以下几点: 语言表达能力强。是面向结构程序设计的语言,通用性好,不局限于某种机器。它可以直接处理字符、数字、地址,可以完成通常由硬件实现的算术逻辑运算(如中提供了位运算的功能)等有关操作。所以足以取代汇编语言来编写各种系统软件和应用软件。 语言本身简洁,使用灵活,易于学习和应用。在表示方法上力求在明了易懂的前提下简单易行。如:用一对“ ”来代替Pascal语言中的复合语句括号begin、end,利用复合赋值运算符(如+=、-=、*=、/=、%=等)对赋值运算、算术运算及赋值形式进行精简等等。另外,C把一般语言的许多成份都通过显示函数调用来完成,使得编译的程序小而精。 具有构造数据类型的能力,并有很强的控制流结构。它可以在简单类型(如字符、整数、浮点数等)的基础上按层次产生各种构造类型(如数组、结构和联合等),因而C的数据类型很丰富。同时,它的各种控制语句如if、while、switch、break等功能很强,可以描述结构良好的程序。 语言生成的代码质量高。高级语言能否用来描述系统软件,特别是象操作系统、编译程序等,除要求语言表达能力强之外,很重要的一个因素是生成的代码质量如何。如果代码质量低,系统开销就大,无实用价值。试验表明,用C编写的程序,其生成代码的效率仅比用汇编语言写的代码低1020%。由于用高级语言描述问题比汇编语言描述问题,编程速度快、工作量小、可读性好,易于调试、修改和移植,所以C就成了人们描述系统软件和应用软件比较理想的工具。在代码质量上C确实可与汇编语言媲美。 可移植性较好。可移植是指程序可以从一个环境不加或稍加改动就可搬到另一个完全不同的环境上运行。汇编语言因为依赖于机器硬件,所以根本不可移植,而一些高级语言如Fortran等其编译系统也不可移植。目前许多不同机器都配有Fortran,基本上都是根据国际标准重新实现的。统计资料表明,不同机器上的C编译程序80%的代码是公共的。C语言的编译程序便于移植,也就使得在某个环境上用C编写的许多程序可以很方便地移到另一个环境上。可移植性良好是C语言最为人称赞的特点。C语言的优点很多,但是也有一些不足和缺点,虽然有些已得到了弥补。这些不足和缺点包括:运算符优先级太多,不便于记忆,有些还与常规约定有所不同;类型检验太弱,转换比较随便,所以不太安全。尽管C语言有这样那样的缺点,但仍不失为一个实用的计算机程序设计语言。1.3 简单C程序介绍本节将通过几个简单例子,介绍C程序的一些基本构成和格式,使同学们对C语言程序有一个初步的了解。例1.1 求两个整数a和b之和sum。main( )int a,b,sum; /*变量定义部分,定义了三个整型变量*/ a=123; b=456; /*赋值语句,分别给变量和赋值*/ sum=a+b; printf(sum is %dn,sum); /*输出sum的值*/程序中main是主函数名,C语言规定必须用main作为主函数名。其后的一对圆括号中间可以是空的,但这一对圆括号不能省略。main( )是主函数的起始行。“ ”括住的部分是函数体。其间可以有定义(说明)部分和执行语句部分。程序中第五行printf为C语言的标准输出函数,括号中的“%d”是输入或输出的“格式字符串”,用于指定输入输出时的数据类型和格式(后面还要详述)。printf函数中括号内最右端sum是要输出的变量,输出结果为:sum is 579 (其中sum is 为原样输出的字符)例1.2main( ) /*主函数*/int a,b,c; /*定义了三个整型变量*/ scanf(%d, %d,&a,&b); /*输入a和b的值,scanf是标准输入函数*/ c=max(a,b); /*调用max函数,将函数值赋给c*/ printf(max=%d,c);int max(x,y) /* max函数,功能是求x和y中较大者*/int x,y; /* 定义形参x、y的类型*/int z; if (xy) z=x; else z=y; return(z); /* 把z值作为函数值返回到主调函数main */本程序包括两个函数:主函数main和被调用的函数max。main函数中第四行为调用max函数,在调用时将实际参数a和b的值分别传送给max函数中的形式参数x和y。经过执行max函数,得到一个函数值(即max函数中变量z的值),把这个值赋给变量 c。然后输出c的值。程序运行情况如下:8,5 (从键盘输入8和5,分别送入a和b)max=8 (输出c的值)本例用到了函数调用、实参和形参等慨念,只作了简单解释,可能不太理解,以后将作详细解释。通过以上两个例子,可以看到:1 1 C程序是由函数构成的。一个C源程序至少包含一个函数(main函数),也可以包含一个main函数和若干个其它函数。因此,函数是C程序的基本单位,函数是用来实现某一个特定功能的一段程序,函数也是实现模块化结构的主要手段。2 2 函数的组成一个函数由两大部分组成,即函数的说明部分和函数体部分。 函数的说明部分包括函数类型、函数名、函数参数(形参)名、形式参数类型。如例1.2中 int max(x,y) int x,y;第一行的int是函数类型,max为函数名,括号中的x和y是形式参数,第二行为形式参数说明。此处说明了两个形参x和y为整型的。 函数体即由最外层的一对“ ”括住的部分。函数体一般包括定义(说明)部分和执行语句部分。如例1.1中第一行为说明部分,后面三行为执行语句部分。注意执行语句必须放在说明部分之后,语句的数量不限,程序中由这些语句向计算机系统发出操作命令。3 3 一个C程序中有且仅有一个名为main的函数,其它函数可由用户取名,它们的位置任意,但执行总从main函数开始。4 4 在C语言中,程序的书写格式比较自由,一行内可以写几个语句,一个语句也可以分写在多行上。5 5 在C语言中,程序中的每一条语句都必须用分号“;”结束,分号是C语句的一部分。6 6 在程序中可以对程序进行注释,注释部分必须用符号“/*”和“*/”括起来。“/*”和“*/”必须成对出现,“/”和“*”之间不可以有空格。注释可以出现在程序的任意位置。注释部分对程序的运行不起作用。在注释中可以说明变量的含义、程序段的功能,以便帮助人们阅读程序。7 7 C语言本身没有输入输出语句。输入输出操作是由scanf和printf等标准函数完成的。1.4 C上机步骤(本节参考上机指导书P179)Turbo C是一个集程序编译、连接、调试为一体的C语言程序开发环境,具有速度快、效率高、功能强等优点,使用非常方便,编程者可在Turbo C环境下进行全屏幕编辑,利用窗口功能进行编译、连接、调试、运行、环境设置等工作。一进入Turbo C1 1 启动机器后,在Windows 95的桌面上,有TC快捷方式图标,双击此图标即可启动TC。2 2 利用TC软盘 在DOS方式下执行TC软盘中tc.bat文件,键入a:tc a: d: 将TC压缩文件拷贝到D盘,并将其展开到tc子目录下。 在D盘执行以下命令D:cd tcD:TCtc如果硬盘中有Turbo C可在DOS方式下直接执行中命令进入TC,见上机指导书P180图14.1。在Turbo C工作窗口的主菜单中共有File、Edit、Run、Compile、Project、Options、Debug、Break/Watch等选项。可以利用F10键和上、下、左、右光标键从主菜单中选择所需的功能;或者按住Alt+菜单条中高亮度的字符也可以选择。二编辑源文件 主菜单中每项都有下拉菜单(子菜单),在子菜单内有一亮条,利用上、下键进行移动选择。 在File菜单项中,将亮条移至Load回车,或直接按F3键,此时出现如上机指导书P183的图14.4提示框。用户输入要编辑的文件名即可。如输入的文件名是一个已存在的文件,此时在Edit(编辑)窗口将显示文件内容,可供修改。如是新文件,可以在Edit(编辑)窗口直接输入文件内容,输完后直接按F2键或按F10回到主菜单,选择File菜单中的Save或Write to项对源程序进行存盘。三编译、连接和运行程序如对例1.1加工过程是,先编译源代码,生成目标文件(扩展名为.obj),然后将目标文件连接生成可执行文件(扩展名为.exe)。这三个文件的主文件名是一样的。对单文件程序的编译、连接是在文件存盘后,直接按F9键或按F10键回到主菜单,将亮条移至Compile回车(或直接按Alt+C)下拉出如上机指导书P189的Compile子菜单,选择Make exe File,则TC对文件进行编译、连接并生成可执行文件。若程序有错,则在屏幕底部的Message窗口显示出错及警告信息。这时可进行修改,注意改完后要存盘,再进行编译、连接。编译连接完成一个文件后,可利用主菜单中的Run命令或直接按Ctrl+F9键运行程序。其实,当用户认为自己的源程序不会有编译、连接错误时,在源程序编辑完成后,就可直接用Run命令或直接按Ctrl+F9键,这时TC将一次完成从编译、连接到运行的全过程。这是运行TC

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论